commit fef4cd36fb2959dfa362d6296a880afa045776f7 Author: hooray <304327508@qq.com> Date: Fri Aug 27 10:32:21 2021 +0800 first commit diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000..da599f40 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,12 @@ +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 4 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true + +[*.md] +trim_trailing_whitespace = false diff --git a/.env.development b/.env.development new file mode 100644 index 00000000..cd0e69b6 --- /dev/null +++ b/.env.development @@ -0,0 +1,9 @@ +# 页面标题 +VITE_APP_TITLE = Fantastic-admin 基础版 +# 接口请求地址,会设置到 axios 的 baseURL 参数上 +VITE_APP_API_BASEURL = / +# 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 +VITE_APP_DEBUG_TOOL = + +# 是否开启代理 +VITE_OPEN_PROXY = true diff --git a/.env.example b/.env.example new file mode 100644 index 00000000..dfc56c35 --- /dev/null +++ b/.env.example @@ -0,0 +1,17 @@ +NODE_ENV = production + +VITE_APP_MODE = example + +# 页面标题 +VITE_APP_TITLE = Fantastic-admin 基础版 +# 接口请求地址,会设置到 axios 的 baseURL 参数上 +VITE_APP_API_BASEURL = / +# 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 +VITE_APP_DEBUG_TOOL = + +# 是否在打包时生成 sourcemap +VITE_BUILD_SOURCEMAP = false +# 是否在打包时删除 console 代码 +VITE_BUILD_DROP_CONSOLE = true +# 是否在打包时开启压缩,支持 gzip 和 brotli +VITE_BUILD_COMPRESS = gzip,brotli diff --git a/.env.production b/.env.production new file mode 100644 index 00000000..a22ba9db --- /dev/null +++ b/.env.production @@ -0,0 +1,15 @@ +NODE_ENV = production + +# 页面标题 +VITE_APP_TITLE = Fantastic-admin 基础版 +# 接口请求地址,会设置到 axios 的 baseURL 参数上 +VITE_APP_API_BASEURL = / +# 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 +VITE_APP_DEBUG_TOOL = + +# 是否在打包时生成 sourcemap +VITE_BUILD_SOURCEMAP = false +# 是否在打包时删除 console 代码 +VITE_BUILD_DROP_CONSOLE = true +# 是否在打包时开启压缩,支持 gzip 和 brotli +VITE_BUILD_COMPRESS = gzip,brotli diff --git a/.env.test b/.env.test new file mode 100644 index 00000000..6c085682 --- /dev/null +++ b/.env.test @@ -0,0 +1,17 @@ +NODE_ENV = production + +# 页面标题 +VITE_APP_TITLE = Fantastic-admin 专业版 +# 接口请求地址,会设置到 axios 的 baseURL 参数上 +VITE_APP_API_BASEURL = / +# 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 +VITE_APP_DEBUG_TOOL = + +# 是否在打包时生成 sourcemap +VITE_BUILD_SOURCEMAP = true +# 是否在打包时删除 console 代码 +VITE_BUILD_DROP_CONSOLE = true +# 是否在打包时开启压缩,支持 gzip 和 brotli +VITE_BUILD_COMPRESS = gzip,brotli +# 是否在打包时候生成PWA +VITE_BUILD_PWA = false diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 00000000..58ce8430 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,4 @@ +dist/ +node_modules/ +babel.config.js +.eslintrc.js diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 00000000..493e2e98 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,88 @@ +module.exports = { + root: true, + env: { + browser: true, + es6: true + }, + globals: { + __dirname: true, + process: true, + require: true, + module: true, + AMap: true + }, + extends: [ + 'plugin:vue/vue3-recommended', + 'plugin:vue/vue3-strongly-recommended', + 'eslint:recommended' + ], + parser: 'vue-eslint-parser', + rules: { + // 代码风格 + 'block-spacing': [2, 'always'], + 'brace-style': [2, '1tbs', { + 'allowSingleLine': true + }], + 'comma-spacing': [2, { + 'before': false, + 'after': true + }], + 'comma-dangle': [2, 'never'], + 'comma-style': [2, 'last'], + 'computed-property-spacing': [2, 'never'], + 'indent': [2, 4, { + 'SwitchCase': 1 + }], + 'key-spacing': [2, { + 'beforeColon': false, + 'afterColon': true + }], + 'keyword-spacing': [2, { + 'before': true, + 'after': true + }], + 'linebreak-style': 0, + 'multiline-ternary': [2, 'always-multiline'], + 'no-multiple-empty-lines': [2, { + 'max': 1 + }], + 'no-unneeded-ternary': [2, { + 'defaultAssignment': false + }], + 'quotes': [2, 'single'], + 'semi': [2, 'never'], + 'space-before-blocks': [2, 'always'], + 'space-before-function-paren': [2, 'never'], + 'space-in-parens': [2, 'never'], + 'space-infix-ops': 2, + 'space-unary-ops': [2, { + 'words': true, + 'nonwords': false + }], + 'spaced-comment': [2, 'always', { + 'markers': ['global', 'globals', 'eslint', 'eslint-disable', '*package', '!', ','] + }], + 'switch-colon-spacing': [2, { + 'after': true, + 'before': false + }], + // ES6 + 'arrow-parens': [2, 'as-needed'], + 'arrow-spacing': [2, { + 'before': true, + 'after': true + }], + // Vue - https://github.com/vuejs/eslint-plugin-vue + 'vue/html-indent': [2, 4], + 'vue/no-v-html': 0, + 'vue/max-attributes-per-line': 0, + 'vue/require-default-prop': 0, + 'vue/singleline-html-element-content-newline': 0, + 'vue/require-explicit-emits': [2, { + 'allowProps': true + }], + 'vue/script-indent': [2, 4, { + 'switchCase': 1 + }] + } +}; diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..7d4c883d --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +node_modules +.DS_Store +dist* +dist-ssr +*.local +src/assets/sprites/*.* \ No newline at end of file diff --git a/.husky/lintstagedrc.js b/.husky/lintstagedrc.js new file mode 100644 index 00000000..6e2ec737 --- /dev/null +++ b/.husky/lintstagedrc.js @@ -0,0 +1,5 @@ +module.exports = { + 'src/**/*.js': ['eslint --fix'], + 'src/**/*.vue': ['eslint --fix', 'stylelint --fix'], + 'src/**/*.{scss,less}': ['stylelint --fix'] +} diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100644 index 00000000..229bb05c --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1,4 @@ +#!/bin/sh +. "$(dirname "$0")/_/husky.sh" + +yarn lint-staged -c ./.husky/lintstagedrc.js diff --git a/.stylelintignore b/.stylelintignore new file mode 100644 index 00000000..a1d18c49 --- /dev/null +++ b/.stylelintignore @@ -0,0 +1,3 @@ +dist/ +node_modules/ +src/assets/sprites/ diff --git a/.stylelintrc b/.stylelintrc new file mode 100644 index 00000000..a8dc5662 --- /dev/null +++ b/.stylelintrc @@ -0,0 +1,18 @@ +{ + "extends": [ + "stylelint-config-standard", + "stylelint-config-recommended-scss" + ], + "plugins": [ + "stylelint-scss" + ], + "rules": { + "indentation": 4, + "rule-empty-line-before": "never", + "at-rule-empty-line-before": "never", + "no-descending-specificity": null, + "selector-pseudo-class-no-unknown": null, + "property-no-unknown": null, + "font-family-no-missing-generic-family-keyword": null + } +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..8dcb46e2 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,12 @@ +{ + "editor.codeActionsOnSave": { + "source.fixAll.eslint": true, + "source.fixAll.stylelint": true + }, + "i18n-ally.localesPaths": [ + "src/locales/lang" + ], + "i18n-ally.keystyle": "nested", + "i18n-ally.sortKeys": true, + "i18n-ally.keepFulfilled": true +} diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..3e48fa1b --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020 fantastic-template + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 00000000..71222edb --- /dev/null +++ b/README.md @@ -0,0 +1,80 @@ +

+ +

+ +

Fantastic-admin

+ +

一款开箱即用的 Vue 中后台管理系统框架

+ +## 特点 + +- 丰富的布局模式,覆盖市面上各种中后台布局,兼容PC、平板和移动端 +- 提供主题配置文件,轻松实现个性化定制 +- 精心设计的动效,让每一处的动画都干净利落 +- 根据路由配置自动生成导航栏 +- 支持全方位权限验证 +- 集成多级路由缓存方案 + +## 演示 + +**Vue3 版本** + +[基础版](https://hooray.gitee.io/fantastic-admin/vue3/basic) ([备份地址](https://hooray.github.io/fantastic-admin/vue3/basic)) + +[专业版](https://hooray.gitee.io/fantastic-admin/vue3/pro) ([备份地址](https://hooray.github.io/fantastic-admin/vue3/pro)) + +**Vue2 版本** + +[基础版](https://hooray.gitee.io/fantastic-admin/vue2/basic) ([备份地址](https://hooray.github.io/fantastic-admin/vue2/basic)) + +[专业版](https://hooray.gitee.io/fantastic-admin/vue2/pro) ([备份地址](https://hooray.github.io/fantastic-admin/vue2/pro)) + +## 下载 & 购买 + +- 基础版(免费,可商用) + - 去 [Gitee](https://gitee.com/hooray/fantastic-admin) 下载 + - 去 [Github](https://github.com/hooray/fantastic-admin) 下载 +- 专业版(付费,可商用) + - [去购买](https://hooray.gitee.io/fantastic-admin/buy.html) ([备份地址](https://hooray.github.io/fantastic-admin/buy.html)) + +## 分支说明 + +> 建议开发时,在本地同时下载演示分支和模版分支,模版分支用于项目开发,演示分支做为示例参考。 + +- `master` Vue3 版本演示分支,同演示站 +- `template` Vue3 版本模版分支,移除演示代码,可直接用于实际开发 +- `vue2` Vue2 版本演示分支,同演示站 +- `template-vue2` Vue2 版本模版分支,移除演示代码,可直接用于实际开发 + +## 技术支持 + +[开发文档](https://hooray.gitee.io/fantastic-admin) ([备份地址](https://hooray.github.io/fantastic-admin)) + +[Vue2版本视频教程](https://space.bilibili.com/3079082/channel/detail?cid=156985) + +技术交流QQ群:1001394973 + +## 预览 + +> 预览截图为 Vue3 专业版 + + + + + + + + + + + + +
+ +## 支持 + +如果觉得 Fantastic-admin 这个框架不错,或者已经在使用了,希望你可以去 **Github** 或者 **Gitee(码云)** 帮我点个 ⭐ ,这将对我是极大的鼓励。 + +[![star](https://img.shields.io/github/stars/hooray/fantastic-admin?style=social)](https://github.com/hooray/fantastic-admin/stargazers) + +[![star](https://gitee.com/hooray/fantastic-admin/badge/star.svg?theme=dark)](https://gitee.com/hooray/fantastic-admin/stargazers) diff --git a/index.html b/index.html new file mode 100644 index 00000000..b9f35c2b --- /dev/null +++ b/index.html @@ -0,0 +1,108 @@ + + + + + + + <%= title %> + + <% if (appMode == 'example') { %> + + <% } %> + + +
+
+
+
<%= title %>载入中…
+
+
+ + <% if (debugTool == 'eruda') { %> + + + <% } %> + <% if (debugTool == 'vconsole') { %> + + + <% } %> + + diff --git a/jsconfig.json b/jsconfig.json new file mode 100644 index 00000000..8405955c --- /dev/null +++ b/jsconfig.json @@ -0,0 +1,11 @@ +{ + "compilerOptions": { + "target": "es2017", + "allowSyntheticDefaultImports": false, + "baseUrl": "./", + "paths": { + "@/*": ["src/*"] + } + }, + "exclude": ["node_modules", "dist", "dist-test"] +} diff --git a/package.json b/package.json new file mode 100644 index 00000000..1c93fe57 --- /dev/null +++ b/package.json @@ -0,0 +1,62 @@ +{ + "name": "fantastic-admin-pro", + "version": "0.1.0", + "scripts": { + "dev": "vite", + "build:test": "vite build --mode test", + "build": "vite build", + "build:example": "vite build --mode example", + "serve:test": "hs ./dist-test -o", + "serve": "hs ./dist -o", + "serve:example": "hs ./dist-example -o", + "svgo": "svgo -f src/assets/icons", + "new": "plop", + "lint:eslint": "eslint src/**/*.{js,vue} --fix", + "lint:stylelint": "stylelint src/**/*.{vue,scss,less} --fix", + "prepare": "husky install" + }, + "dependencies": { + "@tinymce/tinymce-vue": "^4.0.4", + "axios": "^0.21.1", + "dayjs": "^1.10.6", + "element-plus": "^1.1.0-beta.6", + "hotkeys-js": "^3.8.7", + "js-cookie": "^2.2.1", + "mitt": "^3.0.0", + "mockjs": "^1.1.0", + "nprogress": "^0.2.0", + "path-browserify": "^1.0.1", + "path-to-regexp": "^6.2.0", + "screenfull": "^5.1.0", + "tinymce": "^5.9.0", + "vue": "^3.2.6", + "vue-router": "^4.0.11", + "vuex": "^4.0.2" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^1.6.0", + "@vue/compiler-sfc": "^3.2.6", + "eslint": "^7.32.0", + "eslint-plugin-vue": "^7.16.0", + "http-server": "^0.12.3", + "husky": "^7.0.2", + "lint-staged": "^11.1.2", + "plop": "^2.7.4", + "sass": "^1.38.1", + "stylelint": "^13.13.1", + "stylelint-config-recommended-scss": "^4.3.0", + "stylelint-config-standard": "^22.0.0", + "stylelint-scss": "^3.20.1", + "svgo": "^2.4.0", + "vite": "^2.5.1", + "vite-plugin-banner": "^0.1.3", + "vite-plugin-compression": "^0.3.5", + "vite-plugin-html": "^2.1.0", + "vite-plugin-mock": "^2.9.6", + "vite-plugin-restart": "^0.0.2", + "vite-plugin-spritesmith": "^0.1.0", + "vite-plugin-svg-icons": "^1.0.4", + "vue-eslint-parser": "^7.10.0", + "workbox-window": "^6.2.4" + } +} diff --git a/plop-templates/component/index.hbs b/plop-templates/component/index.hbs new file mode 100644 index 00000000..950d9245 --- /dev/null +++ b/plop-templates/component/index.hbs @@ -0,0 +1,23 @@ + + + + + diff --git a/plop-templates/component/prompt.js b/plop-templates/component/prompt.js new file mode 100644 index 00000000..13739d19 --- /dev/null +++ b/plop-templates/component/prompt.js @@ -0,0 +1,63 @@ +const fs = require('fs') + +function getFolder(path) { + let components = [] + const files = fs.readdirSync(path) + files.forEach(function(item) { + let stat = fs.lstatSync(path + '/' + item) + if (stat.isDirectory() === true && item != 'components') { + components.push(path + '/' + item) + components.push.apply(components, getFolder(path + '/' + item)) + } + }) + return components +} + +module.exports = { + description: '创建组件', + prompts: [ + { + type: 'confirm', + name: 'isGlobal', + message: '是否为全局组件', + default: false + }, + { + type: 'list', + name: 'path', + message: '请选择组件创建目录', + choices: getFolder('src/views'), + when: answers => { + return !answers.isGlobal + } + }, + { + type: 'input', + name: 'name', + message: '请输入组件名称', + validate: v => { + if (!v || v.trim === '') { + return '组件名称不能为空' + } else { + return true + } + } + } + ], + actions: data => { + let path = '' + if (data.isGlobal) { + path = 'src/components/{{properCase name}}/index.vue' + } else { + path = `${data.path}/components/{{properCase name}}/index.vue` + } + const actions = [ + { + type: 'add', + path: path, + templateFile: 'plop-templates/component/index.hbs' + } + ] + return actions + } +} diff --git a/plop-templates/mock/mock.hbs b/plop-templates/mock/mock.hbs new file mode 100644 index 00000000..4999f424 --- /dev/null +++ b/plop-templates/mock/mock.hbs @@ -0,0 +1,80 @@ +import Mock from 'mockjs' + +const AllList = [] +for (let i = 0; i < 50; i++) { + AllList.push(Mock.mock({ + id: '@id', + title: '@ctitle(10, 20)' + })) +} + +export default [ + { + url: '/mock/{{#if relativePath}}{{ relativePath }}/{{/if}}{{ moduleName }}/list', + method: 'get', + response: option => { + let { title, from, limit } = option.query + from = ~~from + limit = ~~limit + let list = AllList.filter(item => { + return title ? item.title.includes(title) : true + }) + let pageList = list.filter((item, index) => { + return index >= from && index < (from + limit) + }) + return { + error: '', + status: 1, + data: { + list: pageList, + total: list.length + } + } + } + }, + { + url: '/mock/{{#if relativePath}}{{ relativePath }}/{{/if}}{{ moduleName }}/detail', + method: 'get', + response: option => { + let info = AllList.filter(item => item.id == option.query.id) + return { + error: '', + status: 1, + data: info[0] + } + } + }, + { + url: '/mock/{{#if relativePath}}{{ relativePath }}/{{/if}}{{ moduleName }}/create', + method: 'post', + response: { + error: '', + status: 1, + data: { + isSuccess: true + } + } + }, + { + url: '/mock/{{#if relativePath}}{{ relativePath }}/{{/if}}{{ moduleName }}/edit', + method: 'post', + response: { + error: '', + status: 1, + data: { + isSuccess: true + } + } + }, + { + url: '/mock/{{#if relativePath}}{{ relativePath }}/{{/if}}{{ moduleName }}/delete', + method: 'post', + response: { + error: '', + status: 1, + data: { + isSuccess: true + } + } + } +] diff --git a/plop-templates/mock/prompt.js b/plop-templates/mock/prompt.js new file mode 100644 index 00000000..5d1c2f96 --- /dev/null +++ b/plop-templates/mock/prompt.js @@ -0,0 +1,43 @@ +const path = require('path') +const fs = require('fs') + +function getFolder(path) { + let components = [] + const files = fs.readdirSync(path) + files.forEach(function(item) { + let stat = fs.lstatSync(path + '/' + item) + if (stat.isDirectory() === true && item != 'components') { + components.push(path + '/' + item) + components.push.apply(components, getFolder(path + '/' + item)) + } + }) + return components +} + +module.exports = { + description: '创建标准模块 Mock', + prompts: [ + { + type: 'list', + name: 'path', + message: '请选择模块目录', + choices: getFolder('src/views') + } + ], + actions: data => { + let pathArr = path.relative('src/views', data.path).split('\\') + let moduleName = pathArr.pop() + let relativePath = pathArr.join('/') + const actions = [] + actions.push({ + type: 'add', + path: pathArr.length == 0 ? 'src/mock/{{moduleName}}.js' : `src/mock/${pathArr.join('.')}.{{moduleName}}.js`, + templateFile: 'plop-templates/mock/mock.hbs', + data: { + relativePath, + moduleName + } + }) + return actions + } +} diff --git a/plop-templates/page/index.hbs b/plop-templates/page/index.hbs new file mode 100644 index 00000000..8d4d42ad --- /dev/null +++ b/plop-templates/page/index.hbs @@ -0,0 +1,23 @@ + + + + + diff --git a/plop-templates/page/prompt.js b/plop-templates/page/prompt.js new file mode 100644 index 00000000..8e631236 --- /dev/null +++ b/plop-templates/page/prompt.js @@ -0,0 +1,61 @@ +const path = require('path') +const fs = require('fs') + +function getFolder(path) { + let components = [] + const files = fs.readdirSync(path) + files.forEach(function(item) { + let stat = fs.lstatSync(path + '/' + item) + if (stat.isDirectory() === true && item != 'components') { + components.push(path + '/' + item) + components.push.apply(components, getFolder(path + '/' + item)) + } + }) + return components +} + +module.exports = { + description: '创建页面', + prompts: [ + { + type: 'list', + name: 'path', + message: '请选择页面创建目录', + choices: getFolder('src/views') + }, + { + type: 'input', + name: 'name', + message: '请输入文件名', + validate: v => { + if (!v || v.trim === '') { + return '文件名不能为空' + } else if (v == 'list' || v == 'detail') { + return 'list 和 detail 为保留关键字,无法直接创建,请通过创建标准模块进行生成' + } else { + return true + } + } + }, + { + type: 'input', + name: 'cname', + message: '请输入页面中文名称', + default: '默认页面' + } + ], + actions: data => { + let relativePath = path.relative('src/views', data.path) + const actions = [ + { + type: 'add', + path: `${data.path}/{{dotCase name}}.vue`, + templateFile: 'plop-templates/page/index.hbs', + data: { + componentName: `${relativePath} ${data.name}` + } + } + ] + return actions + } +} diff --git a/plop-templates/store/index.hbs b/plop-templates/store/index.hbs new file mode 100644 index 00000000..27428aae --- /dev/null +++ b/plop-templates/store/index.hbs @@ -0,0 +1,15 @@ +const state = () => ({}) + +const getters = {} + +const actions = {} + +const mutations = {} + +export default { + namespaced: true, + state, + actions, + getters, + mutations +} diff --git a/plop-templates/store/prompt.js b/plop-templates/store/prompt.js new file mode 100644 index 00000000..d86b6193 --- /dev/null +++ b/plop-templates/store/prompt.js @@ -0,0 +1,27 @@ +module.exports = { + description: '创建全局状态', + prompts: [ + { + type: 'input', + name: 'name', + message: '请输入模块名称', + validate: v => { + if (!v || v.trim === '') { + return '模块名称不能为空' + } else { + return true + } + } + } + ], + actions: data => { + const actions = [ + { + type: 'add', + path: `src/store/modules/${data.name}.js`, + templateFile: 'plop-templates/store/index.hbs' + } + ] + return actions + } +} diff --git a/plopfile.js b/plopfile.js new file mode 100644 index 00000000..f6109325 --- /dev/null +++ b/plopfile.js @@ -0,0 +1,7 @@ +module.exports = function(plop) { + plop.setWelcomeMessage('请选择需要创建的模式:') + plop.setGenerator('page', require('./plop-templates/page/prompt')) + plop.setGenerator('component', require('./plop-templates/component/prompt')) + plop.setGenerator('store', require('./plop-templates/store/prompt')) + plop.setGenerator('mock', require('./plop-templates/mock/prompt')) +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 00000000..87f2eac3 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,6439 @@ +lockfileVersion: 5.3 + +specifiers: + '@tinymce/tinymce-vue': ^4.0.4 + '@vitejs/plugin-vue': ^1.6.0 + '@vue/compiler-sfc': ^3.2.6 + axios: ^0.21.1 + dayjs: ^1.10.6 + element-plus: ^1.1.0-beta.6 + eslint: ^7.32.0 + eslint-plugin-vue: ^7.16.0 + hotkeys-js: ^3.8.7 + http-server: ^0.12.3 + husky: ^7.0.2 + js-cookie: ^2.2.1 + lint-staged: ^11.1.2 + mitt: ^3.0.0 + mockjs: ^1.1.0 + nprogress: ^0.2.0 + path-browserify: ^1.0.1 + path-to-regexp: ^6.2.0 + plop: ^2.7.4 + sass: ^1.38.1 + screenfull: ^5.1.0 + stylelint: ^13.13.1 + stylelint-config-recommended-scss: ^4.3.0 + stylelint-config-standard: ^22.0.0 + stylelint-scss: ^3.20.1 + svgo: ^2.4.0 + tinymce: ^5.9.0 + vite: ^2.5.1 + vite-plugin-banner: ^0.1.3 + vite-plugin-compression: ^0.3.5 + vite-plugin-html: ^2.1.0 + vite-plugin-mock: ^2.9.6 + vite-plugin-restart: ^0.0.2 + vite-plugin-spritesmith: ^0.1.0 + vite-plugin-svg-icons: ^1.0.4 + vue: ^3.2.6 + vue-eslint-parser: ^7.10.0 + vue-router: ^4.0.11 + vuex: ^4.0.2 + workbox-window: ^6.2.4 + +dependencies: + '@tinymce/tinymce-vue': registry.nlark.com/@tinymce/tinymce-vue/4.0.4_vue@3.2.6 + axios: 0.21.1 + dayjs: registry.nlark.com/dayjs/1.10.6 + element-plus: registry.nlark.com/element-plus/1.1.0-beta.6_vue@3.2.6 + hotkeys-js: registry.nlark.com/hotkeys-js/3.8.7 + js-cookie: registry.nlark.com/js-cookie/2.2.1 + mitt: registry.nlark.com/mitt/3.0.0 + mockjs: 1.1.0 + nprogress: 0.2.0 + path-browserify: 1.0.1 + path-to-regexp: 6.2.0 + screenfull: registry.nlark.com/screenfull/5.1.0 + tinymce: registry.nlark.com/tinymce/5.9.0 + vue: registry.nlark.com/vue/3.2.6 + vue-router: registry.nlark.com/vue-router/4.0.11_vue@3.2.6 + vuex: registry.nlark.com/vuex/4.0.2_vue@3.2.6 + +devDependencies: + '@vitejs/plugin-vue': registry.nlark.com/@vitejs/plugin-vue/1.6.0_@vue+compiler-sfc@3.2.6 + '@vue/compiler-sfc': registry.nlark.com/@vue/compiler-sfc/3.2.6 + eslint: registry.nlark.com/eslint/7.32.0 + eslint-plugin-vue: registry.nlark.com/eslint-plugin-vue/7.16.0_eslint@7.32.0 + http-server: registry.nlark.com/http-server/0.12.3 + husky: registry.nlark.com/husky/7.0.2 + lint-staged: registry.nlark.com/lint-staged/11.1.2 + plop: 2.7.4 + sass: registry.nlark.com/sass/1.38.1 + stylelint: registry.nlark.com/stylelint/13.13.1 + stylelint-config-recommended-scss: registry.nlark.com/stylelint-config-recommended-scss/4.3.0_fd1d61e57b9553f3887f804324f52132 + stylelint-config-standard: registry.nlark.com/stylelint-config-standard/22.0.0_stylelint@13.13.1 + stylelint-scss: registry.nlark.com/stylelint-scss/3.20.1_stylelint@13.13.1 + svgo: registry.nlark.com/svgo/2.4.0 + vite: registry.nlark.com/vite/2.5.1 + vite-plugin-banner: registry.nlark.com/vite-plugin-banner/0.1.3 + vite-plugin-compression: registry.nlark.com/vite-plugin-compression/0.3.5_vite@2.5.1 + vite-plugin-html: registry.nlark.com/vite-plugin-html/2.1.0_vite@2.5.1 + vite-plugin-mock: registry.nlark.com/vite-plugin-mock/2.9.6_mockjs@1.1.0+vite@2.5.1 + vite-plugin-restart: registry.nlark.com/vite-plugin-restart/0.0.2_vite@2.5.1 + vite-plugin-spritesmith: registry.nlark.com/vite-plugin-spritesmith/0.1.0 + vite-plugin-svg-icons: registry.nlark.com/vite-plugin-svg-icons/1.0.4_vite@2.5.1 + vue-eslint-parser: registry.nlark.com/vue-eslint-parser/7.10.0_eslint@7.32.0 + workbox-window: registry.nlark.com/workbox-window/6.2.4 + +packages: + + /@stylelint/postcss-css-in-js/0.37.2_2b33a41d320e3e2012e5b3b0fadc703b: + resolution: {integrity: sha1-flqErRgfQjSiSAgDQipHuHSa89I=, tarball: '@stylelint/postcss-css-in-js/download/@stylelint/postcss-css-in-js-0.37.2.tgz'} + peerDependencies: + postcss: '>=7.0.0' + postcss-syntax: '>=0.36.2' + dependencies: + '@babel/core': registry.nlark.com/@babel/core/7.15.0 + postcss: registry.nlark.com/postcss/7.0.36 + postcss-syntax: 0.36.2_postcss@7.0.36 + transitivePeerDependencies: + - supports-color + dev: true + + /@stylelint/postcss-markdown/0.36.2_2b33a41d320e3e2012e5b3b0fadc703b: + resolution: {integrity: sha1-ClQMRpL43N/BPI41LBfnv+4rs5E=, tarball: '@stylelint/postcss-markdown/download/@stylelint/postcss-markdown-0.36.2.tgz'} + peerDependencies: + postcss: '>=7.0.0' + postcss-syntax: '>=0.36.2' + dependencies: + postcss: registry.nlark.com/postcss/7.0.36 + postcss-syntax: 0.36.2_postcss@7.0.36 + remark: registry.nlark.com/remark/13.0.0 + unist-util-find-all-after: registry.nlark.com/unist-util-find-all-after/3.0.2 + dev: true + + /aggregate-error/3.1.0: + resolution: {integrity: sha1-kmcP9Q9TWb23o+DUDQ7DDFc3aHo=, tarball: aggregate-error/download/aggregate-error-3.1.0.tgz} + engines: {node: '>=8'} + dependencies: + clean-stack: registry.nlark.com/clean-stack/2.2.0 + indent-string: 4.0.0 + dev: true + + /ansi-colors/4.1.1: + resolution: {integrity: sha1-y7muJWv3UK8eqzRPIpqif+lLo0g=, tarball: ansi-colors/download/ansi-colors-4.1.1.tgz} + engines: {node: '>=6'} + dev: true + + /ansi-escapes/4.3.2: + resolution: {integrity: sha1-ayKR0dt9mLZSHV8e+kLQ86n+tl4=, tarball: ansi-escapes/download/ansi-escapes-4.3.2.tgz} + engines: {node: '>=8'} + dependencies: + type-fest: registry.nlark.com/type-fest/0.21.3 + dev: true + + /ansi-regex/2.1.1: + resolution: {integrity: sha1-w7M6te42DYbg5ijwRorn7yfWVN8=, tarball: ansi-regex/download/ansi-regex-2.1.1.tgz?cache=0&sync_timestamp=1618553945397&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-regex%2Fdownload%2Fansi-regex-2.1.1.tgz} + engines: {node: '>=0.10.0'} + dev: true + + /ansi-regex/4.1.0: + resolution: {integrity: sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=, tarball: ansi-regex/download/ansi-regex-4.1.0.tgz?cache=0&sync_timestamp=1618553945397&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-regex%2Fdownload%2Fansi-regex-4.1.0.tgz} + engines: {node: '>=6'} + dev: true + + /ansi-regex/5.0.0: + resolution: {integrity: sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=, tarball: ansi-regex/download/ansi-regex-5.0.0.tgz?cache=0&sync_timestamp=1618553945397&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-regex%2Fdownload%2Fansi-regex-5.0.0.tgz} + engines: {node: '>=8'} + dev: true + + /anymatch/3.1.2: + resolution: {integrity: sha1-wFV8CWrzLxBhmPT04qODU343hxY=, tarball: anymatch/download/anymatch-3.1.2.tgz} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: registry.nlark.com/picomatch/2.3.0 + dev: true + + /argparse/1.0.10: + resolution: {integrity: sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=, tarball: argparse/download/argparse-1.0.10.tgz} + dependencies: + sprintf-js: 1.0.3 + dev: true + + /arr-diff/4.0.0: + resolution: {integrity: sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=, tarball: arr-diff/download/arr-diff-4.0.0.tgz} + engines: {node: '>=0.10.0'} + dev: true + + /arr-flatten/1.1.0: + resolution: {integrity: sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=, tarball: arr-flatten/download/arr-flatten-1.1.0.tgz} + engines: {node: '>=0.10.0'} + dev: true + + /arr-union/3.1.0: + resolution: {integrity: sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=, tarball: arr-union/download/arr-union-3.1.0.tgz} + engines: {node: '>=0.10.0'} + dev: true + + /array-slice/1.1.0: + resolution: {integrity: sha1-42jqFfibxwaff/uJrsOmx9SsItQ=, tarball: array-slice/download/array-slice-1.1.0.tgz} + engines: {node: '>=0.10.0'} + dev: true + + /array-union/2.1.0: + resolution: {integrity: sha1-t5hCCtvrHego2ErNii4j0+/oXo0=, tarball: array-union/download/array-union-2.1.0.tgz} + engines: {node: '>=8'} + dev: true + + /array-unique/0.3.2: + resolution: {integrity: sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=, tarball: array-unique/download/array-unique-0.3.2.tgz} + engines: {node: '>=0.10.0'} + dev: true + + /asn1/0.2.4: + resolution: {integrity: sha1-jSR136tVO7M+d7VOWeiAu4ziMTY=, tarball: asn1/download/asn1-0.2.4.tgz} + dependencies: + safer-buffer: 2.1.2 + dev: true + + /assert-plus/1.0.0: + resolution: {integrity: sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=, tarball: assert-plus/download/assert-plus-1.0.0.tgz} + engines: {node: '>=0.8'} + dev: true + + /assign-symbols/1.0.0: + resolution: {integrity: sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=, tarball: assign-symbols/download/assign-symbols-1.0.0.tgz} + engines: {node: '>=0.10.0'} + dev: true + + /astral-regex/2.0.0: + resolution: {integrity: sha1-SDFDxWeu7UeFdZwIZXhtx319LjE=, tarball: astral-regex/download/astral-regex-2.0.0.tgz} + engines: {node: '>=8'} + dev: true + + /asynckit/0.4.0: + resolution: {integrity: sha1-x57Zf380y48robyXkLzDZkdLS3k=, tarball: asynckit/download/asynckit-0.4.0.tgz} + dev: true + + /atob/2.1.2: + resolution: {integrity: sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k=, tarball: atob/download/atob-2.1.2.tgz} + engines: {node: '>= 4.5.0'} + hasBin: true + dev: true + + /aws-sign2/0.7.0: + resolution: {integrity: sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=, tarball: aws-sign2/download/aws-sign2-0.7.0.tgz} + dev: true + + /aws4/1.11.0: + resolution: {integrity: sha1-1h9G2DslGSUOJ4Ta9bCUeai0HFk=, tarball: aws4/download/aws4-1.11.0.tgz} + dev: true + + /axios/0.21.1: + resolution: {integrity: sha1-IlY0gZYvTWvemnbVFu8OXTwJsrg=, tarball: axios/download/axios-0.21.1.tgz} + dependencies: + follow-redirects: registry.nlark.com/follow-redirects/1.14.2 + dev: false + + /balanced-match/1.0.2: + resolution: {integrity: sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4=, tarball: balanced-match/download/balanced-match-1.0.2.tgz} + dev: true + + /balanced-match/2.0.0: + resolution: {integrity: sha1-3HD5INeNuLhYU1eVhnv0j4IGM9k=, tarball: balanced-match/download/balanced-match-2.0.0.tgz} + dev: true + + /base/0.11.2: + resolution: {integrity: sha1-e95c7RRbbVUakNuH+DxVi060io8=, tarball: base/download/base-0.11.2.tgz} + engines: {node: '>=0.10.0'} + dependencies: + cache-base: 1.0.1 + class-utils: 0.3.6 + component-emitter: 1.3.0 + define-property: 1.0.0 + isobject: 3.0.1 + mixin-deep: 1.3.2 + pascalcase: 0.1.1 + dev: true + + /basic-auth/1.1.0: + resolution: {integrity: sha1-RSIe5Cn37h5QNb4/UVM/HN/SmIQ=, tarball: basic-auth/download/basic-auth-1.1.0.tgz} + engines: {node: '>= 0.6'} + dev: true + + /bcrypt-pbkdf/1.0.2: + resolution: {integrity: sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=, tarball: bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.2.tgz} + dependencies: + tweetnacl: 0.14.5 + dev: true + + /binary-extensions/2.2.0: + resolution: {integrity: sha1-dfUC7q+f/eQvyYgpZFvk6na9ni0=, tarball: binary-extensions/download/binary-extensions-2.2.0.tgz} + engines: {node: '>=8'} + dev: true + + /bluebird/3.7.2: + resolution: {integrity: sha1-nyKcFb4nJFT/qXOs4NvueaGww28=, tarball: bluebird/download/bluebird-3.7.2.tgz} + dev: true + + /boolbase/1.0.0: + resolution: {integrity: sha1-aN/1++YMUes3cl6p4+0xDcwed24=, tarball: boolbase/download/boolbase-1.0.0.tgz} + dev: true + + /brace-expansion/1.1.11: + resolution: {integrity: sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=, tarball: brace-expansion/download/brace-expansion-1.1.11.tgz} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: true + + /braces/2.3.2: + resolution: {integrity: sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=, tarball: braces/download/braces-2.3.2.tgz} + engines: {node: '>=0.10.0'} + dependencies: + arr-flatten: 1.1.0 + array-unique: 0.3.2 + extend-shallow: 2.0.1 + fill-range: 4.0.0 + isobject: 3.0.1 + repeat-element: 1.1.4 + snapdragon: registry.nlark.com/snapdragon/0.8.2 + snapdragon-node: 2.1.1 + split-string: 3.1.0 + to-regex: 3.0.2 + dev: true + + /braces/3.0.2: + resolution: {integrity: sha1-NFThpGLujVmeI23zNs2epPiv4Qc=, tarball: braces/download/braces-3.0.2.tgz} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + dev: true + + /builtin-modules/3.2.0: + resolution: {integrity: sha1-RdXbmefuXmvE82LgCL+RerUEmIc=, tarball: builtin-modules/download/builtin-modules-3.2.0.tgz} + engines: {node: '>=6'} + dev: true + + /cache-base/1.0.1: + resolution: {integrity: sha1-Cn9GQWgxyLZi7jb+TnxZ129marI=, tarball: cache-base/download/cache-base-1.0.1.tgz} + engines: {node: '>=0.10.0'} + dependencies: + collection-visit: 1.0.0 + component-emitter: 1.3.0 + get-value: 2.0.6 + has-value: 1.0.0 + isobject: 3.0.1 + set-value: registry.nlark.com/set-value/2.0.1 + to-object-path: 0.3.0 + union-value: 1.0.1 + unset-value: 1.0.0 + dev: true + + /call-bind/1.0.2: + resolution: {integrity: sha1-sdTonmiBGcPJqQOtMKuy9qkZvjw=, tarball: call-bind/download/call-bind-1.0.2.tgz} + dependencies: + function-bind: 1.1.1 + get-intrinsic: 1.1.1 + dev: true + + /camel-case/3.0.0: + resolution: {integrity: sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=, tarball: camel-case/download/camel-case-3.0.0.tgz} + dependencies: + no-case: 2.3.2 + upper-case: 1.1.3 + dev: true + + /camel-case/4.1.2: + resolution: {integrity: sha1-lygHKpVPgFIoIlpt7qazhGHhvVo=, tarball: camel-case/download/camel-case-4.1.2.tgz} + dependencies: + pascal-case: 3.1.2 + tslib: registry.nlark.com/tslib/2.3.1 + dev: true + + /camelcase/5.3.1: + resolution: {integrity: sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=, tarball: camelcase/download/camelcase-5.3.1.tgz} + engines: {node: '>=6'} + dev: true + + /caseless/0.12.0: + resolution: {integrity: sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=, tarball: caseless/download/caseless-0.12.0.tgz} + dev: true + + /change-case/3.1.0: + resolution: {integrity: sha1-DmEbftyZUt8uhROye0LecmR90X4=, tarball: change-case/download/change-case-3.1.0.tgz} + dependencies: + camel-case: 3.0.0 + constant-case: 2.0.0 + dot-case: 2.1.1 + header-case: 1.0.1 + is-lower-case: registry.nlark.com/is-lower-case/1.1.3 + is-upper-case: 1.1.2 + lower-case: 1.1.4 + lower-case-first: 1.0.2 + no-case: 2.3.2 + param-case: 2.1.1 + pascal-case: 2.0.1 + path-case: registry.nlark.com/path-case/2.1.1 + sentence-case: 2.1.1 + snake-case: 2.1.0 + swap-case: 1.1.2 + title-case: registry.nlark.com/title-case/2.1.1 + upper-case: 1.1.3 + upper-case-first: 1.1.2 + dev: true + + /character-entities-legacy/1.1.4: + resolution: {integrity: sha1-lLwYRdznClu50uzHSHJWYSk9j8E=, tarball: character-entities-legacy/download/character-entities-legacy-1.1.4.tgz} + dev: true + + /character-entities/1.2.4: + resolution: {integrity: sha1-4Sw5Obfq9OWxXnrUxeKOHUjFsWs=, tarball: character-entities/download/character-entities-1.2.4.tgz} + dev: true + + /character-reference-invalid/1.1.4: + resolution: {integrity: sha1-CDMpzaDq4nKrPbvzfpo4LBOvFWA=, tarball: character-reference-invalid/download/character-reference-invalid-1.1.4.tgz} + dev: true + + /chardet/0.7.0: + resolution: {integrity: sha1-kAlISfCTfy7twkJdDSip5fDLrZ4=, tarball: chardet/download/chardet-0.7.0.tgz} + dev: true + + /class-utils/0.3.6: + resolution: {integrity: sha1-+TNprouafOAv1B+q0MqDAzGQxGM=, tarball: class-utils/download/class-utils-0.3.6.tgz} + engines: {node: '>=0.10.0'} + dependencies: + arr-union: 3.1.0 + define-property: 0.2.5 + isobject: 3.0.1 + static-extend: 0.1.2 + dev: true + + /cli-spinners/2.6.0: + resolution: {integrity: sha1-NsfcmPtqmna9YjjsP3fiQlYn6Tk=, tarball: cli-spinners/download/cli-spinners-2.6.0.tgz} + engines: {node: '>=6'} + dev: true + + /cli-width/3.0.0: + resolution: {integrity: sha1-ovSEN6LKqaIkNueUvwceyeYc7fY=, tarball: cli-width/download/cli-width-3.0.0.tgz} + engines: {node: '>= 10'} + dev: true + + /clone-regexp/2.2.0: + resolution: {integrity: sha1-fWXgCIXNh5ZAXDWnN+eoa3Qp428=, tarball: clone-regexp/download/clone-regexp-2.2.0.tgz} + engines: {node: '>=6'} + dependencies: + is-regexp: 2.1.0 + dev: true + + /clone-stats/0.0.1: + resolution: {integrity: sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=, tarball: clone-stats/download/clone-stats-0.0.1.tgz} + dev: true + + /clone/1.0.4: + resolution: {integrity: sha1-2jCcwmPfFZlMaIypAheco8fNfH4=, tarball: clone/download/clone-1.0.4.tgz} + engines: {node: '>=0.8'} + dev: true + + /clone/2.1.2: + resolution: {integrity: sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=, tarball: clone/download/clone-2.1.2.tgz} + engines: {node: '>=0.8'} + dev: true + + /collection-visit/1.0.0: + resolution: {integrity: sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=, tarball: collection-visit/download/collection-visit-1.0.0.tgz} + engines: {node: '>=0.10.0'} + dependencies: + map-visit: 1.0.0 + object-visit: 1.0.1 + dev: true + + /color-convert/1.9.3: + resolution: {integrity: sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=, tarball: color-convert/download/color-convert-1.9.3.tgz} + dependencies: + color-name: 1.1.3 + dev: true + + /color-convert/2.0.1: + resolution: {integrity: sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=, tarball: color-convert/download/color-convert-2.0.1.tgz} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + dev: true + + /color-name/1.1.3: + resolution: {integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=, tarball: color-name/download/color-name-1.1.3.tgz} + dev: true + + /color-name/1.1.4: + resolution: {integrity: sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=, tarball: color-name/download/color-name-1.1.4.tgz} + dev: true + + /colors/1.4.0: + resolution: {integrity: sha1-xQSRR51MG9rtLJztMs98fcI2D3g=, tarball: colors/download/colors-1.4.0.tgz} + engines: {node: '>=0.1.90'} + dev: true + + /combined-stream/1.0.8: + resolution: {integrity: sha1-w9RaizT9cwYxoRCoolIGgrMdWn8=, tarball: combined-stream/download/combined-stream-1.0.8.tgz} + engines: {node: '>= 0.8'} + dependencies: + delayed-stream: 1.0.0 + dev: true + + /component-emitter/1.3.0: + resolution: {integrity: sha1-FuQHD7qK4ptnnyIVhT7hgasuq8A=, tarball: component-emitter/download/component-emitter-1.3.0.tgz} + dev: true + + /concat-map/0.0.1: + resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=, tarball: concat-map/download/concat-map-0.0.1.tgz} + dev: true + + /concat-stream/1.5.2: + resolution: {integrity: sha1-cIl4Yk2FavQaWnQd790mHadSwmY=, tarball: concat-stream/download/concat-stream-1.5.2.tgz} + engines: {'0': node >= 0.8} + dependencies: + inherits: 2.0.4 + readable-stream: 2.0.6 + typedarray: 0.0.6 + dev: true + + /connect/3.7.0: + resolution: {integrity: sha1-XUk0iRDKpeB6AYALAw0MNfIEhPg=, tarball: connect/download/connect-3.7.0.tgz} + engines: {node: '>= 0.10.0'} + dependencies: + debug: registry.nlark.com/debug/2.6.9 + finalhandler: 1.1.2 + parseurl: registry.nlark.com/parseurl/1.3.3 + utils-merge: 1.0.1 + dev: true + + /consolidate/0.16.0: + resolution: {integrity: sha1-oRhkdokw8vGUMWYKZZBmaPX73BY=, tarball: consolidate/download/consolidate-0.16.0.tgz} + engines: {node: '>= 0.10.0'} + dependencies: + bluebird: 3.7.2 + dev: true + + /constant-case/2.0.0: + resolution: {integrity: sha1-QXV2TTidP6nI7NKRhu1gBSQ7akY=, tarball: constant-case/download/constant-case-2.0.0.tgz} + dependencies: + snake-case: 2.1.0 + upper-case: 1.1.3 + dev: true + + /copy-descriptor/0.1.1: + resolution: {integrity: sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=, tarball: copy-descriptor/download/copy-descriptor-0.1.1.tgz} + engines: {node: '>=0.10.0'} + dev: true + + /core-util-is/1.0.2: + resolution: {integrity: sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=, tarball: core-util-is/download/core-util-is-1.0.2.tgz} + dev: true + + /cors/2.8.5: + resolution: {integrity: sha1-6sEdpRWS3Ya58G9uesKTs9+HXSk=, tarball: cors/download/cors-2.8.5.tgz} + engines: {node: '>= 0.10'} + dependencies: + object-assign: 4.1.1 + vary: 1.1.2 + dev: true + + /corser/2.0.1: + resolution: {integrity: sha1-jtolLsqrWEDc2XXOuQ2TcMgZ/4c=, tarball: corser/download/corser-2.0.1.tgz} + engines: {node: '>= 0.4.0'} + dev: true + + /cross-spawn/7.0.3: + resolution: {integrity: sha1-9zqFudXUHQRVUcF34ogtSshXKKY=, tarball: cross-spawn/download/cross-spawn-7.0.3.tgz} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /cssesc/3.0.0: + resolution: {integrity: sha1-N3QZGZA7hoVl4cCep0dEXNGJg+4=, tarball: cssesc/download/cssesc-3.0.0.tgz} + engines: {node: '>=4'} + hasBin: true + dev: true + + /csso/4.2.0: + resolution: {integrity: sha1-6jpWE0bo3J9UbW/r7dUBh884lSk=, tarball: csso/download/csso-4.2.0.tgz} + engines: {node: '>=8.0.0'} + dependencies: + css-tree: registry.nlark.com/css-tree/1.1.3 + dev: true + + /dashdash/1.14.1: + resolution: {integrity: sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=, tarball: dashdash/download/dashdash-1.14.1.tgz} + engines: {node: '>=0.10'} + dependencies: + assert-plus: 1.0.0 + dev: true + + /decamelize-keys/1.1.0: + resolution: {integrity: sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=, tarball: decamelize-keys/download/decamelize-keys-1.1.0.tgz} + engines: {node: '>=0.10.0'} + dependencies: + decamelize: 1.2.0 + map-obj: 1.0.1 + dev: true + + /decamelize/1.2.0: + resolution: {integrity: sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=, tarball: decamelize/download/decamelize-1.2.0.tgz} + engines: {node: '>=0.10.0'} + dev: true + + /decode-uri-component/0.2.0: + resolution: {integrity: sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=, tarball: decode-uri-component/download/decode-uri-component-0.2.0.tgz} + engines: {node: '>=0.10'} + dev: true + + /deep-is/0.1.3: + resolution: {integrity: sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=, tarball: deep-is/download/deep-is-0.1.3.tgz} + dev: true + + /deepmerge/4.2.2: + resolution: {integrity: sha1-RNLqNnm49NT/ujPwPYZfwee/SVU=, tarball: deepmerge/download/deepmerge-4.2.2.tgz} + engines: {node: '>=0.10.0'} + dev: true + + /defaults/1.0.3: + resolution: {integrity: sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=, tarball: defaults/download/defaults-1.0.3.tgz} + dependencies: + clone: 1.0.4 + dev: true + + /define-property/0.2.5: + resolution: {integrity: sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=, tarball: define-property/download/define-property-0.2.5.tgz} + engines: {node: '>=0.10.0'} + dependencies: + is-descriptor: 0.1.6 + dev: true + + /define-property/1.0.0: + resolution: {integrity: sha1-dp66rz9KY6rTr56NMEybvnm/sOY=, tarball: define-property/download/define-property-1.0.0.tgz} + engines: {node: '>=0.10.0'} + dependencies: + is-descriptor: 1.0.2 + dev: true + + /define-property/2.0.2: + resolution: {integrity: sha1-1Flono1lS6d+AqgX+HENcCyxbp0=, tarball: define-property/download/define-property-2.0.2.tgz} + engines: {node: '>=0.10.0'} + dependencies: + is-descriptor: 1.0.2 + isobject: 3.0.1 + dev: true + + /del/5.1.0: + resolution: {integrity: sha1-2Uh8lONnQQ5u/ykl7ljAyEp1s6c=, tarball: del/download/del-5.1.0.tgz} + engines: {node: '>=8'} + dependencies: + globby: registry.nlark.com/globby/10.0.2 + graceful-fs: registry.nlark.com/graceful-fs/4.2.8 + is-glob: 4.0.1 + is-path-cwd: registry.nlark.com/is-path-cwd/2.2.0 + is-path-inside: registry.nlark.com/is-path-inside/3.0.3 + p-map: registry.nlark.com/p-map/3.0.0 + rimraf: 3.0.2 + slash: 3.0.0 + dev: true + + /delayed-stream/1.0.0: + resolution: {integrity: sha1-3zrhmayt+31ECqrgsp4icrJOxhk=, tarball: delayed-stream/download/delayed-stream-1.0.0.tgz} + engines: {node: '>=0.4.0'} + dev: true + + /detect-file/1.0.0: + resolution: {integrity: sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=, tarball: detect-file/download/detect-file-1.0.0.tgz} + engines: {node: '>=0.10.0'} + dev: true + + /dir-glob/3.0.1: + resolution: {integrity: sha1-Vtv3PZkqSpO6FYT0U0Bj/S5BcX8=, tarball: dir-glob/download/dir-glob-3.0.1.tgz} + engines: {node: '>=8'} + dependencies: + path-type: 4.0.0 + dev: true + + /doctrine/3.0.0: + resolution: {integrity: sha1-rd6+rXKmV023g2OdyHoSF3OXOWE=, tarball: doctrine/download/doctrine-3.0.0.tgz} + engines: {node: '>=6.0.0'} + dependencies: + esutils: 2.0.3 + dev: true + + /domelementtype/1.3.1: + resolution: {integrity: sha1-0EjESzew0Qp/Kj1f7j9DM9eQSB8=, tarball: domelementtype/download/domelementtype-1.3.1.tgz} + dev: true + + /domelementtype/2.2.0: + resolution: {integrity: sha1-mgtsJ4LtahxzI9QiZxg9+b2LHVc=, tarball: domelementtype/download/domelementtype-2.2.0.tgz} + dev: true + + /domhandler/2.4.2: + resolution: {integrity: sha1-iAUJfpM9ZehVRvcm1g9euItE+AM=, tarball: domhandler/download/domhandler-2.4.2.tgz?cache=0&sync_timestamp=1618565946556&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomhandler%2Fdownload%2Fdomhandler-2.4.2.tgz} + dependencies: + domelementtype: 1.3.1 + dev: true + + /domhandler/4.2.0: + resolution: {integrity: sha1-+XaKXwNL5gqJonwuTQ9066DYsFk=, tarball: domhandler/download/domhandler-4.2.0.tgz?cache=0&sync_timestamp=1618565946556&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomhandler%2Fdownload%2Fdomhandler-4.2.0.tgz} + engines: {node: '>= 4'} + dependencies: + domelementtype: 2.2.0 + dev: true + + /dot-case/2.1.1: + resolution: {integrity: sha1-NNzzf1Co6TwrO8qLt/uRVcfaO+4=, tarball: dot-case/download/dot-case-2.1.1.tgz} + dependencies: + no-case: 2.3.2 + dev: true + + /dot-case/3.0.4: + resolution: {integrity: sha1-mytnDQCkMWZ6inW6Kc0bmICc51E=, tarball: dot-case/download/dot-case-3.0.4.tgz} + dependencies: + no-case: 3.0.4 + tslib: registry.nlark.com/tslib/2.3.1 + dev: true + + /dotenv-expand/5.1.0: + resolution: {integrity: sha1-P7rwIL/XlIhAcuomsel5HUWmKfA=, tarball: dotenv-expand/download/dotenv-expand-5.1.0.tgz} + dev: true + + /ecc-jsbn/0.1.2: + resolution: {integrity: sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=, tarball: ecc-jsbn/download/ecc-jsbn-0.1.2.tgz} + dependencies: + jsbn: 0.1.1 + safer-buffer: 2.1.2 + dev: true + + /ee-first/1.1.1: + resolution: {integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=, tarball: ee-first/download/ee-first-1.1.1.tgz} + dev: true + + /ejs/3.1.6: + resolution: {integrity: sha1-W/0KBol0O7UmizVQzO7rvBcCgio=, tarball: ejs/download/ejs-3.1.6.tgz} + engines: {node: '>=0.10.0'} + hasBin: true + dependencies: + jake: 10.8.2 + dev: true + + /emoji-regex/8.0.0: + resolution: {integrity: sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=, tarball: emoji-regex/download/emoji-regex-8.0.0.tgz} + dev: true + + /emojis-list/3.0.0: + resolution: {integrity: sha1-VXBmIEatKeLpFucariYKvf9Pang=, tarball: emojis-list/download/emojis-list-3.0.0.tgz} + engines: {node: '>= 4'} + dev: true + + /encodeurl/1.0.2: + resolution: {integrity: sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=, tarball: encodeurl/download/encodeurl-1.0.2.tgz} + engines: {node: '>= 0.8'} + dev: true + + /enquirer/2.3.6: + resolution: {integrity: sha1-Kn/l3WNKHkElqXXsmU/1RW3Dc00=, tarball: enquirer/download/enquirer-2.3.6.tgz} + engines: {node: '>=8.6'} + dependencies: + ansi-colors: 4.1.1 + dev: true + + /error-ex/1.3.2: + resolution: {integrity: sha1-tKxAZIEH/c3PriQvQovqihTU8b8=, tarball: error-ex/download/error-ex-1.3.2.tgz} + dependencies: + is-arrayish: 0.2.1 + dev: true + + /escalade/3.1.1: + resolution: {integrity: sha1-2M/ccACWXFoBdLSoLqpcBVJ0LkA=, tarball: escalade/download/escalade-3.1.1.tgz?cache=0&sync_timestamp=1602572632086&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescalade%2Fdownload%2Fescalade-3.1.1.tgz} + engines: {node: '>=6'} + dev: true + + /escape-html/1.0.3: + resolution: {integrity: sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=, tarball: escape-html/download/escape-html-1.0.3.tgz} + dev: true + + /escape-string-regexp/1.0.5: + resolution: {integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=, tarball: escape-string-regexp/download/escape-string-regexp-1.0.5.tgz} + engines: {node: '>=0.8.0'} + dev: true + + /escape-string-regexp/4.0.0: + resolution: {integrity: sha1-FLqDpdNz49MR5a/KKc9b+tllvzQ=, tarball: escape-string-regexp/download/escape-string-regexp-4.0.0.tgz} + engines: {node: '>=10'} + dev: true + + /esprima/4.0.1: + resolution: {integrity: sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=, tarball: esprima/download/esprima-4.0.1.tgz} + engines: {node: '>=4'} + hasBin: true + dev: true + + /esquery/1.4.0: + resolution: {integrity: sha1-IUj/w4uC6McFff7UhCWz5h8PJKU=, tarball: esquery/download/esquery-1.4.0.tgz} + engines: {node: '>=0.10'} + dependencies: + estraverse: 5.2.0 + dev: true + + /esrecurse/4.3.0: + resolution: {integrity: sha1-eteWTWeauyi+5yzsY3WLHF0smSE=, tarball: esrecurse/download/esrecurse-4.3.0.tgz} + engines: {node: '>=4.0'} + dependencies: + estraverse: 5.2.0 + dev: true + + /estraverse/4.3.0: + resolution: {integrity: sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0=, tarball: estraverse/download/estraverse-4.3.0.tgz} + engines: {node: '>=4.0'} + dev: true + + /estraverse/5.2.0: + resolution: {integrity: sha1-MH30JUfmzHMk088DwVXVzbjFOIA=, tarball: estraverse/download/estraverse-5.2.0.tgz} + engines: {node: '>=4.0'} + dev: true + + /estree-walker/1.0.1: + resolution: {integrity: sha1-MbxdYSyWtwQQa0d+bdXYqhOMtwA=, tarball: estree-walker/download/estree-walker-1.0.1.tgz} + dev: true + + /estree-walker/2.0.2: + resolution: {integrity: sha1-UvAQF4wqTBF6d1fP6UKtt9LaTKw=, tarball: estree-walker/download/estree-walker-2.0.2.tgz} + + /esutils/2.0.3: + resolution: {integrity: sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q=, tarball: esutils/download/esutils-2.0.3.tgz} + engines: {node: '>=0.10.0'} + dev: true + + /etag/1.8.1: + resolution: {integrity: sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=, tarball: etag/download/etag-1.8.1.tgz} + engines: {node: '>= 0.6'} + dev: true + + /eventemitter3/4.0.7: + resolution: {integrity: sha1-Lem2j2Uo1WRO9cWVJqG0oHMGFp8=, tarball: eventemitter3/download/eventemitter3-4.0.7.tgz} + dev: true + + /execall/2.0.0: + resolution: {integrity: sha1-FqBrX+UJnffQC+XZwG7s3tFmO0U=, tarball: execall/download/execall-2.0.0.tgz} + engines: {node: '>=8'} + dependencies: + clone-regexp: 2.2.0 + dev: true + + /expand-brackets/2.1.4: + resolution: {integrity: sha1-t3c14xXOMPa27/D4OwQVGiJEliI=, tarball: expand-brackets/download/expand-brackets-2.1.4.tgz} + engines: {node: '>=0.10.0'} + dependencies: + debug: registry.nlark.com/debug/2.6.9 + define-property: 0.2.5 + extend-shallow: 2.0.1 + posix-character-classes: 0.1.1 + regex-not: 1.0.2 + snapdragon: registry.nlark.com/snapdragon/0.8.2 + to-regex: 3.0.2 + dev: true + + /expand-tilde/2.0.2: + resolution: {integrity: sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=, tarball: expand-tilde/download/expand-tilde-2.0.2.tgz} + engines: {node: '>=0.10.0'} + dependencies: + homedir-polyfill: 1.0.3 + dev: true + + /extend-shallow/2.0.1: + resolution: {integrity: sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=, tarball: extend-shallow/download/extend-shallow-2.0.1.tgz} + engines: {node: '>=0.10.0'} + dependencies: + is-extendable: 0.1.1 + dev: true + + /extend-shallow/3.0.2: + resolution: {integrity: sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=, tarball: extend-shallow/download/extend-shallow-3.0.2.tgz} + engines: {node: '>=0.10.0'} + dependencies: + assign-symbols: 1.0.0 + is-extendable: 1.0.1 + dev: true + + /external-editor/3.1.0: + resolution: {integrity: sha1-ywP3QL764D6k0oPK7SdBqD8zVJU=, tarball: external-editor/download/external-editor-3.1.0.tgz} + engines: {node: '>=4'} + dependencies: + chardet: 0.7.0 + iconv-lite: registry.nlark.com/iconv-lite/0.4.24 + tmp: 0.0.33 + dev: true + + /extglob/2.0.4: + resolution: {integrity: sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM=, tarball: extglob/download/extglob-2.0.4.tgz} + engines: {node: '>=0.10.0'} + dependencies: + array-unique: 0.3.2 + define-property: 1.0.0 + expand-brackets: 2.1.4 + extend-shallow: 2.0.1 + fragment-cache: 0.2.1 + regex-not: 1.0.2 + snapdragon: registry.nlark.com/snapdragon/0.8.2 + to-regex: 3.0.2 + dev: true + + /extsprintf/1.3.0: + resolution: {integrity: sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=, tarball: extsprintf/download/extsprintf-1.3.0.tgz} + engines: {'0': node >=0.6.0} + dev: true + + /fast-deep-equal/3.1.3: + resolution: {integrity: sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=, tarball: fast-deep-equal/download/fast-deep-equal-3.1.3.tgz} + dev: true + + /fast-json-stable-stringify/2.1.0: + resolution: {integrity: sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM=, tarball: fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz} + dev: true + + /fast-levenshtein/2.0.6: + resolution: {integrity: sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=, tarball: fast-levenshtein/download/fast-levenshtein-2.0.6.tgz} + dev: true + + /fastest-levenshtein/1.0.12: + resolution: {integrity: sha1-mZD306iMxan/0fF0V0UlFwDUl+I=, tarball: fastest-levenshtein/download/fastest-levenshtein-1.0.12.tgz} + dev: true + + /file-entry-cache/6.0.1: + resolution: {integrity: sha1-IRst2WWcsDlLBz5zI6w8kz1SICc=, tarball: file-entry-cache/download/file-entry-cache-6.0.1.tgz} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flat-cache: 3.0.4 + dev: true + + /filelist/1.0.2: + resolution: {integrity: sha1-gCAvIUYtTRwuIUEZsYB8G8A4Dls=, tarball: filelist/download/filelist-1.0.2.tgz} + dependencies: + minimatch: 3.0.4 + dev: true + + /fill-range/4.0.0: + resolution: {integrity: sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=, tarball: fill-range/download/fill-range-4.0.0.tgz} + engines: {node: '>=0.10.0'} + dependencies: + extend-shallow: 2.0.1 + is-number: 3.0.0 + repeat-string: 1.6.1 + to-regex-range: 2.1.1 + dev: true + + /fill-range/7.0.1: + resolution: {integrity: sha1-GRmmp8df44ssfHflGYU12prN2kA=, tarball: fill-range/download/fill-range-7.0.1.tgz} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + dev: true + + /finalhandler/1.1.2: + resolution: {integrity: sha1-t+fQAP/RGTjQ/bBTUG9uur6fWH0=, tarball: finalhandler/download/finalhandler-1.1.2.tgz} + engines: {node: '>= 0.8'} + dependencies: + debug: registry.nlark.com/debug/2.6.9 + encodeurl: 1.0.2 + escape-html: 1.0.3 + on-finished: 2.3.0 + parseurl: registry.nlark.com/parseurl/1.3.3 + statuses: 1.5.0 + unpipe: 1.0.0 + dev: true + + /find-up/4.1.0: + resolution: {integrity: sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=, tarball: find-up/download/find-up-4.1.0.tgz} + engines: {node: '>=8'} + dependencies: + locate-path: registry.nlark.com/locate-path/5.0.0 + path-exists: registry.nlark.com/path-exists/4.0.0 + dev: true + + /findup-sync/2.0.0: + resolution: {integrity: sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=, tarball: findup-sync/download/findup-sync-2.0.0.tgz} + engines: {node: '>= 0.10'} + dependencies: + detect-file: 1.0.0 + is-glob: 3.1.0 + micromatch: 3.1.10 + resolve-dir: 1.0.1 + dev: true + + /fined/1.2.0: + resolution: {integrity: sha1-0AvszxqitHXRbUI7Aji3E6LEo3s=, tarball: fined/download/fined-1.2.0.tgz} + engines: {node: '>= 0.10'} + dependencies: + expand-tilde: 2.0.2 + is-plain-object: 2.0.4 + object.defaults: registry.nlark.com/object.defaults/1.1.0 + object.pick: 1.3.0 + parse-filepath: 1.0.2 + dev: true + + /flat-cache/3.0.4: + resolution: {integrity: sha1-YbAzgwKy/p+Vfcwy/CqH8cMEixE=, tarball: flat-cache/download/flat-cache-3.0.4.tgz} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flatted: registry.nlark.com/flatted/3.2.2 + rimraf: 3.0.2 + dev: true + + /for-in/1.0.2: + resolution: {integrity: sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=, tarball: for-in/download/for-in-1.0.2.tgz} + engines: {node: '>=0.10.0'} + dev: true + + /for-own/1.0.0: + resolution: {integrity: sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=, tarball: for-own/download/for-own-1.0.0.tgz} + engines: {node: '>=0.10.0'} + dependencies: + for-in: 1.0.2 + dev: true + + /forever-agent/0.6.1: + resolution: {integrity: sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=, tarball: forever-agent/download/forever-agent-0.6.1.tgz} + dev: true + + /form-data/2.3.3: + resolution: {integrity: sha1-3M5SwF9kTymManq5Nr1yTO/786Y=, tarball: form-data/download/form-data-2.3.3.tgz} + engines: {node: '>= 0.12'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: registry.nlark.com/mime-types/2.1.32 + dev: true + + /fragment-cache/0.2.1: + resolution: {integrity: sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=, tarball: fragment-cache/download/fragment-cache-0.2.1.tgz} + engines: {node: '>=0.10.0'} + dependencies: + map-cache: 0.2.2 + dev: true + + /fs.realpath/1.0.0: + resolution: {integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=, tarball: fs.realpath/download/fs.realpath-1.0.0.tgz} + dev: true + + /fsevents/2.3.2: + resolution: {integrity: sha1-ilJveLj99GI7cJ4Ll1xSwkwC/Ro=, tarball: fsevents/download/fsevents-2.3.2.tgz?cache=0&sync_timestamp=1612537044236&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffsevents%2Fdownload%2Ffsevents-2.3.2.tgz} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + dev: true + optional: true + + /function-bind/1.1.1: + resolution: {integrity: sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=, tarball: function-bind/download/function-bind-1.1.1.tgz} + dev: true + + /functional-red-black-tree/1.0.1: + resolution: {integrity: sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=, tarball: functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz} + dev: true + + /gaze/1.1.3: + resolution: {integrity: sha1-xEFzPhO5J6yMD/C0w7Az8ogSkko=, tarball: gaze/download/gaze-1.1.3.tgz} + engines: {node: '>= 4.0.0'} + dependencies: + globule: registry.nlark.com/globule/1.3.3 + dev: true + + /generic-names/2.0.1: + resolution: {integrity: sha1-+KN46tLMqno08DF7BVVIMq5BuHI=, tarball: generic-names/download/generic-names-2.0.1.tgz} + dependencies: + loader-utils: 1.4.0 + dev: true + + /gensync/1.0.0-beta.2: + resolution: {integrity: sha1-MqbudsPX9S1GsrGuXZP+qFgKJeA=, tarball: gensync/download/gensync-1.0.0-beta.2.tgz} + engines: {node: '>=6.9.0'} + dev: true + + /get-intrinsic/1.1.1: + resolution: {integrity: sha1-FfWfN2+FXERpY5SPDSTNNje0q8Y=, tarball: get-intrinsic/download/get-intrinsic-1.1.1.tgz} + dependencies: + function-bind: 1.1.1 + has: 1.0.3 + has-symbols: 1.0.2 + dev: true + + /get-stdin/8.0.0: + resolution: {integrity: sha1-y61qc/63X27rIrqeAfiaooqpelM=, tarball: get-stdin/download/get-stdin-8.0.0.tgz?cache=0&sync_timestamp=1618559266325&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-stdin%2Fdownload%2Fget-stdin-8.0.0.tgz} + engines: {node: '>=10'} + dev: true + + /get-stream/6.0.1: + resolution: {integrity: sha1-omLY7vZ6ztV8KFKtYWdSakPL97c=, tarball: get-stream/download/get-stream-6.0.1.tgz} + engines: {node: '>=10'} + dev: true + + /get-value/2.0.6: + resolution: {integrity: sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=, tarball: get-value/download/get-value-2.0.6.tgz} + engines: {node: '>=0.10.0'} + dev: true + + /getpass/0.1.7: + resolution: {integrity: sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=, tarball: getpass/download/getpass-0.1.7.tgz} + dependencies: + assert-plus: 1.0.0 + dev: true + + /global-modules/1.0.0: + resolution: {integrity: sha1-bXcPDrUjrHgWTXK15xqIdyZcw+o=, tarball: global-modules/download/global-modules-1.0.0.tgz} + engines: {node: '>=0.10.0'} + dependencies: + global-prefix: 1.0.2 + is-windows: 1.0.2 + resolve-dir: 1.0.1 + dev: true + + /global-modules/2.0.0: + resolution: {integrity: sha1-mXYFrSNF8n9RU5vqJldEISFcd4A=, tarball: global-modules/download/global-modules-2.0.0.tgz} + engines: {node: '>=6'} + dependencies: + global-prefix: 3.0.0 + dev: true + + /global-prefix/1.0.2: + resolution: {integrity: sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=, tarball: global-prefix/download/global-prefix-1.0.2.tgz} + engines: {node: '>=0.10.0'} + dependencies: + expand-tilde: 2.0.2 + homedir-polyfill: 1.0.3 + ini: 1.3.8 + is-windows: 1.0.2 + which: 1.3.1 + dev: true + + /global-prefix/3.0.0: + resolution: {integrity: sha1-/IX3MGTfafUEIfR/iD/luRO6m5c=, tarball: global-prefix/download/global-prefix-3.0.0.tgz} + engines: {node: '>=6'} + dependencies: + ini: 1.3.8 + kind-of: 6.0.3 + which: 1.3.1 + dev: true + + /globjoin/0.1.4: + resolution: {integrity: sha1-L0SUrIkZ43Z8XLtpHp9GMyQoXUM=, tarball: globjoin/download/globjoin-0.1.4.tgz} + dev: true + + /gonzales-pe/4.3.0: + resolution: {integrity: sha1-/p3sXzxVfurQn/hoxlgmvlTQZ7M=, tarball: gonzales-pe/download/gonzales-pe-4.3.0.tgz} + engines: {node: '>=0.6.0'} + hasBin: true + dependencies: + minimist: 1.2.5 + dev: true + + /handlebars/4.7.7: + resolution: {integrity: sha1-nOM0FqrQLb1sj6+oJA1dmABJRaE=, tarball: handlebars/download/handlebars-4.7.7.tgz} + engines: {node: '>=0.4.7'} + hasBin: true + dependencies: + minimist: 1.2.5 + neo-async: 2.6.2 + source-map: 0.6.1 + wordwrap: 1.0.0 + optionalDependencies: + uglify-js: registry.nlark.com/uglify-js/3.14.1 + dev: true + + /har-schema/2.0.0: + resolution: {integrity: sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=, tarball: har-schema/download/har-schema-2.0.0.tgz} + engines: {node: '>=4'} + dev: true + + /har-validator/5.1.5: + resolution: {integrity: sha1-HwgDufjLIMD6E4It8ezds2veHv0=, tarball: har-validator/download/har-validator-5.1.5.tgz} + engines: {node: '>=6'} + deprecated: this library is no longer supported + dependencies: + ajv: registry.nlark.com/ajv/6.12.6 + har-schema: 2.0.0 + dev: true + + /hard-rejection/2.1.0: + resolution: {integrity: sha1-HG7aXBaFxjlCdm15u0Cudzzs2IM=, tarball: hard-rejection/download/hard-rejection-2.1.0.tgz} + engines: {node: '>=6'} + dev: true + + /has-ansi/2.0.0: + resolution: {integrity: sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=, tarball: has-ansi/download/has-ansi-2.0.0.tgz?cache=0&sync_timestamp=1618558151426&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhas-ansi%2Fdownload%2Fhas-ansi-2.0.0.tgz} + engines: {node: '>=0.10.0'} + dependencies: + ansi-regex: 2.1.1 + dev: true + + /has-symbols/1.0.2: + resolution: {integrity: sha1-Fl0wcMADCXUqEjakeTMeOsVvFCM=, tarball: has-symbols/download/has-symbols-1.0.2.tgz} + engines: {node: '>= 0.4'} + dev: true + + /has-value/0.3.1: + resolution: {integrity: sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=, tarball: has-value/download/has-value-0.3.1.tgz} + engines: {node: '>=0.10.0'} + dependencies: + get-value: 2.0.6 + has-values: 0.1.4 + isobject: 2.1.0 + dev: true + + /has-value/1.0.0: + resolution: {integrity: sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=, tarball: has-value/download/has-value-1.0.0.tgz} + engines: {node: '>=0.10.0'} + dependencies: + get-value: 2.0.6 + has-values: 1.0.0 + isobject: 3.0.1 + dev: true + + /has-values/0.1.4: + resolution: {integrity: sha1-bWHeldkd/Km5oCCJrThL/49it3E=, tarball: has-values/download/has-values-0.1.4.tgz} + engines: {node: '>=0.10.0'} + dev: true + + /has-values/1.0.0: + resolution: {integrity: sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=, tarball: has-values/download/has-values-1.0.0.tgz} + engines: {node: '>=0.10.0'} + dependencies: + is-number: 3.0.0 + kind-of: 4.0.0 + dev: true + + /has/1.0.3: + resolution: {integrity: sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=, tarball: has/download/has-1.0.3.tgz} + engines: {node: '>= 0.4.0'} + dependencies: + function-bind: 1.1.1 + dev: true + + /hash-sum/2.0.0: + resolution: {integrity: sha1-gdAbtd6OpKIUrV1urRtSNGCwtFo=, tarball: hash-sum/download/hash-sum-2.0.0.tgz} + dev: true + + /he/1.2.0: + resolution: {integrity: sha1-hK5l+n6vsWX922FWauFLrwVmTw8=, tarball: he/download/he-1.2.0.tgz} + hasBin: true + dev: true + + /header-case/1.0.1: + resolution: {integrity: sha1-lTWXMZfBRLCWE81l0xfvGZY70C0=, tarball: header-case/download/header-case-1.0.1.tgz} + dependencies: + no-case: 2.3.2 + upper-case: 1.1.3 + dev: true + + /homedir-polyfill/1.0.3: + resolution: {integrity: sha1-dDKYzvTlrz4ZQWH7rcwhUdOgWOg=, tarball: homedir-polyfill/download/homedir-polyfill-1.0.3.tgz} + engines: {node: '>=0.10.0'} + dependencies: + parse-passwd: 1.0.0 + dev: true + + /hosted-git-info/2.8.9: + resolution: {integrity: sha1-3/wL+aIcAiCQkPKqaUKeFBTa8/k=, tarball: hosted-git-info/download/hosted-git-info-2.8.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhosted-git-info%2Fdownload%2Fhosted-git-info-2.8.9.tgz} + dev: true + + /hosted-git-info/4.0.2: + resolution: {integrity: sha1-XkJVB+7eT+qEa3Ji8IOEVsQgmWE=, tarball: hosted-git-info/download/hosted-git-info-4.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhosted-git-info%2Fdownload%2Fhosted-git-info-4.0.2.tgz} + engines: {node: '>=10'} + dependencies: + lru-cache: 6.0.0 + dev: true + + /html-minifier-terser/5.1.1: + resolution: {integrity: sha1-ki6W8fO7YIMsJjS3mIQJY4mx8FQ=, tarball: html-minifier-terser/download/html-minifier-terser-5.1.1.tgz} + engines: {node: '>=6'} + hasBin: true + dependencies: + camel-case: 4.1.2 + clean-css: registry.nlark.com/clean-css/4.2.3 + commander: registry.nlark.com/commander/4.1.1 + he: 1.2.0 + param-case: 3.0.4 + relateurl: 0.2.7 + terser: registry.nlark.com/terser/4.8.0 + dev: true + + /html-tags/3.1.0: + resolution: {integrity: sha1-e15vfmZen7QfMAB+2eDUHpf7IUA=, tarball: html-tags/download/html-tags-3.1.0.tgz} + engines: {node: '>=8'} + dev: true + + /http-proxy/1.18.1: + resolution: {integrity: sha1-QBVB8FNIhLv5UmAzTnL4juOXZUk=, tarball: http-proxy/download/http-proxy-1.18.1.tgz} + engines: {node: '>=8.0.0'} + dependencies: + eventemitter3: 4.0.7 + follow-redirects: registry.nlark.com/follow-redirects/1.14.2 + requires-port: 1.0.0 + dev: true + + /http-signature/1.2.0: + resolution: {integrity: sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=, tarball: http-signature/download/http-signature-1.2.0.tgz} + engines: {node: '>=0.8', npm: '>=1.3.7'} + dependencies: + assert-plus: 1.0.0 + jsprim: 1.4.1 + sshpk: 1.16.1 + dev: true + + /icss-replace-symbols/1.1.0: + resolution: {integrity: sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=, tarball: icss-replace-symbols/download/icss-replace-symbols-1.1.0.tgz} + dev: true + + /icss-utils/5.1.0_postcss@8.3.6: + resolution: {integrity: sha1-xr5oWKvQE9do6YNmrkfiXViHsa4=, tarball: icss-utils/download/icss-utils-5.1.0.tgz} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + postcss: registry.nlark.com/postcss/8.3.6 + dev: true + + /ignore/4.0.6: + resolution: {integrity: sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw=, tarball: ignore/download/ignore-4.0.6.tgz} + engines: {node: '>= 4'} + dev: true + + /ignore/5.1.8: + resolution: {integrity: sha1-8VCotQo0KJsz4i9YiavU2AFvDlc=, tarball: ignore/download/ignore-5.1.8.tgz} + engines: {node: '>= 4'} + dev: true + + /image-size/0.5.5: + resolution: {integrity: sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=, tarball: image-size/download/image-size-0.5.5.tgz} + engines: {node: '>=0.10.0'} + hasBin: true + dev: true + + /import-fresh/3.3.0: + resolution: {integrity: sha1-NxYsJfy566oublPVtNiM4X2eDCs=, tarball: import-fresh/download/import-fresh-3.3.0.tgz} + engines: {node: '>=6'} + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + dev: true + + /import-lazy/4.0.0: + resolution: {integrity: sha1-6OtidIOgpD2jwD8+NVSL5csMwVM=, tarball: import-lazy/download/import-lazy-4.0.0.tgz} + engines: {node: '>=8'} + dev: true + + /imurmurhash/0.1.4: + resolution: {integrity: sha1-khi5srkoojixPcT7a21XbyMUU+o=, tarball: imurmurhash/download/imurmurhash-0.1.4.tgz} + engines: {node: '>=0.8.19'} + dev: true + + /indent-string/4.0.0: + resolution: {integrity: sha1-Yk+PRJfWGbLZdoUx1Y9BIoVNclE=, tarball: indent-string/download/indent-string-4.0.0.tgz} + engines: {node: '>=8'} + dev: true + + /inflight/1.0.6: + resolution: {integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=, tarball: inflight/download/inflight-1.0.6.tgz} + dependencies: + once: 1.4.0 + wrappy: registry.nlark.com/wrappy/1.0.2 + dev: true + + /inherits/2.0.4: + resolution: {integrity: sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=, tarball: inherits/download/inherits-2.0.4.tgz} + dev: true + + /ini/1.3.8: + resolution: {integrity: sha1-op2kJbSIBvNHZ6Tvzjlyaa8oQyw=, tarball: ini/download/ini-1.3.8.tgz} + dev: true + + /interpret/1.4.0: + resolution: {integrity: sha1-Zlq4vE2iendKQFhOgS4+D6RbGh4=, tarball: interpret/download/interpret-1.4.0.tgz} + engines: {node: '>= 0.10'} + dev: true + + /is-absolute/1.0.0: + resolution: {integrity: sha1-OV4a6EsR8mrReV5zwXN45IowFXY=, tarball: is-absolute/download/is-absolute-1.0.0.tgz} + engines: {node: '>=0.10.0'} + dependencies: + is-relative: registry.nlark.com/is-relative/1.0.0 + is-windows: 1.0.2 + dev: true + + /is-accessor-descriptor/0.1.6: + resolution: {integrity: sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=, tarball: is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 3.2.2 + dev: true + + /is-accessor-descriptor/1.0.0: + resolution: {integrity: sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=, tarball: is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 6.0.3 + dev: true + + /is-alphabetical/1.0.4: + resolution: {integrity: sha1-nn1rlJFr4iFTdF0YTCmMv5hqaG0=, tarball: is-alphabetical/download/is-alphabetical-1.0.4.tgz} + dev: true + + /is-alphanumerical/1.0.4: + resolution: {integrity: sha1-frmiQx+FX2se8aeOMm31FWlsTb8=, tarball: is-alphanumerical/download/is-alphanumerical-1.0.4.tgz} + dependencies: + is-alphabetical: 1.0.4 + is-decimal: 1.0.4 + dev: true + + /is-arrayish/0.2.1: + resolution: {integrity: sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=, tarball: is-arrayish/download/is-arrayish-0.2.1.tgz} + dev: true + + /is-binary-path/2.1.0: + resolution: {integrity: sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=, tarball: is-binary-path/download/is-binary-path-2.1.0.tgz} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.2.0 + dev: true + + /is-buffer/1.1.6: + resolution: {integrity: sha1-76ouqdqg16suoTqXsritUf776L4=, tarball: is-buffer/download/is-buffer-1.1.6.tgz} + dev: true + + /is-buffer/2.0.5: + resolution: {integrity: sha1-68JS5ADSL/jXf6CYiIIaJKZYwZE=, tarball: is-buffer/download/is-buffer-2.0.5.tgz} + engines: {node: '>=4'} + dev: true + + /is-data-descriptor/0.1.4: + resolution: {integrity: sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=, tarball: is-data-descriptor/download/is-data-descriptor-0.1.4.tgz} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 3.2.2 + dev: true + + /is-data-descriptor/1.0.0: + resolution: {integrity: sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=, tarball: is-data-descriptor/download/is-data-descriptor-1.0.0.tgz} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 6.0.3 + dev: true + + /is-decimal/1.0.4: + resolution: {integrity: sha1-ZaOllYocW2OnBuGzM9fNn2MNP6U=, tarball: is-decimal/download/is-decimal-1.0.4.tgz} + dev: true + + /is-descriptor/0.1.6: + resolution: {integrity: sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=, tarball: is-descriptor/download/is-descriptor-0.1.6.tgz} + engines: {node: '>=0.10.0'} + dependencies: + is-accessor-descriptor: 0.1.6 + is-data-descriptor: 0.1.4 + kind-of: 5.1.0 + dev: true + + /is-descriptor/1.0.2: + resolution: {integrity: sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=, tarball: is-descriptor/download/is-descriptor-1.0.2.tgz} + engines: {node: '>=0.10.0'} + dependencies: + is-accessor-descriptor: 1.0.0 + is-data-descriptor: 1.0.0 + kind-of: 6.0.3 + dev: true + + /is-extendable/0.1.1: + resolution: {integrity: sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=, tarball: is-extendable/download/is-extendable-0.1.1.tgz} + engines: {node: '>=0.10.0'} + dev: true + + /is-extendable/1.0.1: + resolution: {integrity: sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=, tarball: is-extendable/download/is-extendable-1.0.1.tgz} + engines: {node: '>=0.10.0'} + dependencies: + is-plain-object: 2.0.4 + dev: true + + /is-extglob/2.1.1: + resolution: {integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=, tarball: is-extglob/download/is-extglob-2.1.1.tgz} + engines: {node: '>=0.10.0'} + dev: true + + /is-fullwidth-code-point/3.0.0: + resolution: {integrity: sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=, tarball: is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz} + engines: {node: '>=8'} + dev: true + + /is-glob/3.1.0: + resolution: {integrity: sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=, tarball: is-glob/download/is-glob-3.1.0.tgz} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-glob/4.0.1: + resolution: {integrity: sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=, tarball: is-glob/download/is-glob-4.0.1.tgz} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-hexadecimal/1.0.4: + resolution: {integrity: sha1-zDXJdYjaS9Saju3WvECC1E3LI6c=, tarball: is-hexadecimal/download/is-hexadecimal-1.0.4.tgz} + dev: true + + /is-module/1.0.0: + resolution: {integrity: sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=, tarball: is-module/download/is-module-1.0.0.tgz} + dev: true + + /is-number/3.0.0: + resolution: {integrity: sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=, tarball: is-number/download/is-number-3.0.0.tgz} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 3.2.2 + dev: true + + /is-number/7.0.0: + resolution: {integrity: sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=, tarball: is-number/download/is-number-7.0.0.tgz} + engines: {node: '>=0.12.0'} + dev: true + + /is-obj/1.0.1: + resolution: {integrity: sha1-PkcprB9f3gJc19g6iW2rn09n2w8=, tarball: is-obj/download/is-obj-1.0.1.tgz} + engines: {node: '>=0.10.0'} + dev: true + + /is-plain-obj/1.1.0: + resolution: {integrity: sha1-caUMhCnfync8kqOQpKA7OfzVHT4=, tarball: is-plain-obj/download/is-plain-obj-1.1.0.tgz} + engines: {node: '>=0.10.0'} + dev: true + + /is-plain-obj/2.1.0: + resolution: {integrity: sha1-ReQuN/zPH0Dajl927iFRWEDAkoc=, tarball: is-plain-obj/download/is-plain-obj-2.1.0.tgz} + engines: {node: '>=8'} + dev: true + + /is-plain-object/2.0.4: + resolution: {integrity: sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=, tarball: is-plain-object/download/is-plain-object-2.0.4.tgz} + engines: {node: '>=0.10.0'} + dependencies: + isobject: 3.0.1 + dev: true + + /is-regexp/1.0.0: + resolution: {integrity: sha1-/S2INUXEa6xaYz57mgnof6LLUGk=, tarball: is-regexp/download/is-regexp-1.0.0.tgz} + engines: {node: '>=0.10.0'} + dev: true + + /is-regexp/2.1.0: + resolution: {integrity: sha1-zXNKVoZOI7lWv058ZsOWpMCyLC0=, tarball: is-regexp/download/is-regexp-2.1.0.tgz} + engines: {node: '>=6'} + dev: true + + /is-typedarray/1.0.0: + resolution: {integrity: sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=, tarball: is-typedarray/download/is-typedarray-1.0.0.tgz} + dev: true + + /is-unc-path/1.0.0: + resolution: {integrity: sha1-1zHoiY7QkKEsNSrS6u1Qla0yLJ0=, tarball: is-unc-path/download/is-unc-path-1.0.0.tgz} + engines: {node: '>=0.10.0'} + dependencies: + unc-path-regex: 0.1.2 + dev: true + + /is-upper-case/1.1.2: + resolution: {integrity: sha1-jQsfp+eTOh5YSDYA7H2WYcuvdW8=, tarball: is-upper-case/download/is-upper-case-1.1.2.tgz} + dependencies: + upper-case: 1.1.3 + dev: true + + /is-utf8/0.2.1: + resolution: {integrity: sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=, tarball: is-utf8/download/is-utf8-0.2.1.tgz} + dev: true + + /is-windows/1.0.2: + resolution: {integrity: sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=, tarball: is-windows/download/is-windows-1.0.2.tgz} + engines: {node: '>=0.10.0'} + dev: true + + /isexe/2.0.0: + resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=, tarball: isexe/download/isexe-2.0.0.tgz} + dev: true + + /isobject/2.1.0: + resolution: {integrity: sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=, tarball: isobject/download/isobject-2.1.0.tgz} + engines: {node: '>=0.10.0'} + dependencies: + isarray: registry.nlark.com/isarray/1.0.0 + dev: true + + /isobject/3.0.1: + resolution: {integrity: sha1-TkMekrEalzFjaqH5yNHMvP2reN8=, tarball: isobject/download/isobject-3.0.1.tgz} + engines: {node: '>=0.10.0'} + dev: true + + /isstream/0.1.2: + resolution: {integrity: sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=, tarball: isstream/download/isstream-0.1.2.tgz} + dev: true + + /jake/10.8.2: + resolution: {integrity: sha1-68nehVgWCmbYLQ6txqLlj7xQCns=, tarball: jake/download/jake-10.8.2.tgz} + hasBin: true + dependencies: + async: registry.nlark.com/async/0.9.2 + chalk: registry.nlark.com/chalk/2.4.2 + filelist: 1.0.2 + minimatch: 3.0.4 + dev: true + + /js-yaml/3.14.1: + resolution: {integrity: sha1-2ugS/bOCX6MGYJqHFzg8UMNqBTc=, tarball: js-yaml/download/js-yaml-3.14.1.tgz?cache=0&sync_timestamp=1618447696130&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-yaml%2Fdownload%2Fjs-yaml-3.14.1.tgz} + hasBin: true + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + dev: true + + /jsbn/0.1.1: + resolution: {integrity: sha1-peZUwuWi3rXyAdls77yoDA7y9RM=, tarball: jsbn/download/jsbn-0.1.1.tgz} + dev: true + + /jsesc/2.5.2: + resolution: {integrity: sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q=, tarball: jsesc/download/jsesc-2.5.2.tgz} + engines: {node: '>=4'} + hasBin: true + dev: true + + /json-parse-even-better-errors/2.3.1: + resolution: {integrity: sha1-fEeAWpQxmSjgV3dAXcEuH3pO4C0=, tarball: json-parse-even-better-errors/download/json-parse-even-better-errors-2.3.1.tgz} + dev: true + + /json-schema-traverse/0.4.1: + resolution: {integrity: sha1-afaofZUTq4u4/mO9sJecRI5oRmA=, tarball: json-schema-traverse/download/json-schema-traverse-0.4.1.tgz} + dev: true + + /json-schema-traverse/1.0.0: + resolution: {integrity: sha1-rnvLNlard6c7pcSb9lTzjmtoYOI=, tarball: json-schema-traverse/download/json-schema-traverse-1.0.0.tgz} + dev: true + + /json-schema/0.2.3: + resolution: {integrity: sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=, tarball: json-schema/download/json-schema-0.2.3.tgz} + dev: true + + /json-stringify-safe/5.0.1: + resolution: {integrity: sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=, tarball: json-stringify-safe/download/json-stringify-safe-5.0.1.tgz} + dev: true + + /jsonfile/6.1.0: + resolution: {integrity: sha1-vFWyY0eTxnnsZAMJTrE2mKbsCq4=, tarball: jsonfile/download/jsonfile-6.1.0.tgz} + dependencies: + universalify: 2.0.0 + optionalDependencies: + graceful-fs: registry.nlark.com/graceful-fs/4.2.8 + dev: true + + /jsprim/1.4.1: + resolution: {integrity: sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=, tarball: jsprim/download/jsprim-1.4.1.tgz} + engines: {'0': node >=0.6.0} + dependencies: + assert-plus: 1.0.0 + extsprintf: 1.3.0 + json-schema: 0.2.3 + verror: 1.10.0 + dev: true + + /kind-of/3.2.2: + resolution: {integrity: sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=, tarball: kind-of/download/kind-of-3.2.2.tgz} + engines: {node: '>=0.10.0'} + dependencies: + is-buffer: 1.1.6 + dev: true + + /kind-of/4.0.0: + resolution: {integrity: sha1-IIE989cSkosgc3hpGkUGb65y3Vc=, tarball: kind-of/download/kind-of-4.0.0.tgz} + engines: {node: '>=0.10.0'} + dependencies: + is-buffer: 1.1.6 + dev: true + + /kind-of/5.1.0: + resolution: {integrity: sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=, tarball: kind-of/download/kind-of-5.1.0.tgz} + engines: {node: '>=0.10.0'} + dev: true + + /kind-of/6.0.3: + resolution: {integrity: sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=, tarball: kind-of/download/kind-of-6.0.3.tgz} + engines: {node: '>=0.10.0'} + dev: true + + /levn/0.4.1: + resolution: {integrity: sha1-rkViwAdHO5MqYgDUAyaN0v/8at4=, tarball: levn/download/levn-0.4.1.tgz} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /lines-and-columns/1.1.6: + resolution: {integrity: sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=, tarball: lines-and-columns/download/lines-and-columns-1.1.6.tgz} + dev: true + + /loader-utils/1.4.0: + resolution: {integrity: sha1-xXm140yzSxp07cbB+za/o3HVphM=, tarball: loader-utils/download/loader-utils-1.4.0.tgz} + engines: {node: '>=4.0.0'} + dependencies: + big.js: registry.nlark.com/big.js/5.2.2 + emojis-list: 3.0.0 + json5: registry.nlark.com/json5/1.0.1 + dev: true + + /lodash.camelcase/4.3.0: + resolution: {integrity: sha1-soqmKIorn8ZRA1x3EfZathkDMaY=, tarball: lodash.camelcase/download/lodash.camelcase-4.3.0.tgz} + dev: true + + /lodash.clonedeep/4.5.0: + resolution: {integrity: sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=, tarball: lodash.clonedeep/download/lodash.clonedeep-4.5.0.tgz} + dev: true + + /lodash.get/4.4.2: + resolution: {integrity: sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=, tarball: lodash.get/download/lodash.get-4.4.2.tgz} + dev: true + + /lodash.merge/4.6.2: + resolution: {integrity: sha1-VYqlO0O2YeGSWgr9+japoQhf5Xo=, tarball: lodash.merge/download/lodash.merge-4.6.2.tgz} + dev: true + + /lodash.truncate/4.4.2: + resolution: {integrity: sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=, tarball: lodash.truncate/download/lodash.truncate-4.4.2.tgz} + dev: true + + /lodash/4.17.21: + resolution: {integrity: sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw=, tarball: lodash/download/lodash-4.17.21.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.21.tgz} + + /log-symbols/2.2.0: + resolution: {integrity: sha1-V0Dhxdbw39pK2TI7UzIQfva0xAo=, tarball: log-symbols/download/log-symbols-2.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flog-symbols%2Fdownload%2Flog-symbols-2.2.0.tgz} + engines: {node: '>=4'} + dependencies: + chalk: registry.nlark.com/chalk/2.4.2 + dev: true + + /log-symbols/4.1.0: + resolution: {integrity: sha1-P727lbRoOsn8eFER55LlWNSr1QM=, tarball: log-symbols/download/log-symbols-4.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flog-symbols%2Fdownload%2Flog-symbols-4.1.0.tgz} + engines: {node: '>=10'} + dependencies: + chalk: registry.nlark.com/chalk/4.1.2 + is-unicode-supported: registry.nlark.com/is-unicode-supported/0.1.0 + dev: true + + /longest-streak/2.0.4: + resolution: {integrity: sha1-uFmZV9pbXatk3uP+MW+ndFl9kOQ=, tarball: longest-streak/download/longest-streak-2.0.4.tgz} + dev: true + + /lower-case-first/1.0.2: + resolution: {integrity: sha1-5dp8JvKacHO+AtUrrJmA5ZIq36E=, tarball: lower-case-first/download/lower-case-first-1.0.2.tgz} + dependencies: + lower-case: 1.1.4 + dev: true + + /lower-case/1.1.4: + resolution: {integrity: sha1-miyr0bno4K6ZOkv31YdcOcQujqw=, tarball: lower-case/download/lower-case-1.1.4.tgz} + dev: true + + /lower-case/2.0.2: + resolution: {integrity: sha1-b6I3xj29xKgsoP2ILkci3F5jTig=, tarball: lower-case/download/lower-case-2.0.2.tgz} + dependencies: + tslib: registry.nlark.com/tslib/2.3.1 + dev: true + + /lru-cache/5.1.1: + resolution: {integrity: sha1-HaJ+ZxAnGUdpXa9oSOhH8B2EuSA=, tarball: lru-cache/download/lru-cache-5.1.1.tgz} + dependencies: + yallist: 3.1.1 + dev: true + + /lru-cache/6.0.0: + resolution: {integrity: sha1-bW/mVw69lqr5D8rR2vo7JWbbOpQ=, tarball: lru-cache/download/lru-cache-6.0.0.tgz} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + dev: true + + /make-iterator/1.0.1: + resolution: {integrity: sha1-KbM/MSqo9UfEpeSQ9Wr87JkTOtY=, tarball: make-iterator/download/make-iterator-1.0.1.tgz} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 6.0.3 + dev: true + + /map-cache/0.2.2: + resolution: {integrity: sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=, tarball: map-cache/download/map-cache-0.2.2.tgz} + engines: {node: '>=0.10.0'} + dev: true + + /map-obj/1.0.1: + resolution: {integrity: sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=, tarball: map-obj/download/map-obj-1.0.1.tgz?cache=0&sync_timestamp=1617772368805&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmap-obj%2Fdownload%2Fmap-obj-1.0.1.tgz} + engines: {node: '>=0.10.0'} + dev: true + + /map-obj/4.2.1: + resolution: {integrity: sha1-5Oo5nbyXmuc1yDyGPdMb3zZCd7c=, tarball: map-obj/download/map-obj-4.2.1.tgz?cache=0&sync_timestamp=1617772368805&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmap-obj%2Fdownload%2Fmap-obj-4.2.1.tgz} + engines: {node: '>=8'} + dev: true + + /map-visit/1.0.0: + resolution: {integrity: sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=, tarball: map-visit/download/map-visit-1.0.0.tgz} + engines: {node: '>=0.10.0'} + dependencies: + object-visit: 1.0.1 + dev: true + + /mathml-tag-names/2.1.3: + resolution: {integrity: sha1-TdrdZzCOeAzxakdoWHjuJ7c2oKM=, tarball: mathml-tag-names/download/mathml-tag-names-2.1.3.tgz} + dev: true + + /merge-options/1.0.1: + resolution: {integrity: sha1-KmSyRFe+zU5NxggoMkfpTOWJqjI=, tarball: merge-options/download/merge-options-1.0.1.tgz} + engines: {node: '>=4'} + dependencies: + is-plain-obj: 1.1.0 + dev: true + + /merge-source-map/1.1.0: + resolution: {integrity: sha1-L93n5gIJOfcJBqaPLXrmheTIxkY=, tarball: merge-source-map/download/merge-source-map-1.1.0.tgz} + dependencies: + source-map: 0.6.1 + dev: true + + /merge-stream/2.0.0: + resolution: {integrity: sha1-UoI2KaFN0AyXcPtq1H3GMQ8sH2A=, tarball: merge-stream/download/merge-stream-2.0.0.tgz} + dev: true + + /merge2/1.4.1: + resolution: {integrity: sha1-Q2iJL4hekHRVpv19xVwMnUBJkK4=, tarball: merge2/download/merge2-1.4.1.tgz} + engines: {node: '>= 8'} + dev: true + + /micromatch/3.1.0: + resolution: {integrity: sha1-UQLU6vILaZfWAI46z+HESj+oFeI=, tarball: micromatch/download/micromatch-3.1.0.tgz?cache=0&sync_timestamp=1618054885525&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmicromatch%2Fdownload%2Fmicromatch-3.1.0.tgz} + engines: {node: '>=0.10.0'} + dependencies: + arr-diff: 4.0.0 + array-unique: 0.3.2 + braces: 2.3.2 + define-property: 1.0.0 + extend-shallow: 2.0.1 + extglob: 2.0.4 + fragment-cache: 0.2.1 + kind-of: 5.1.0 + nanomatch: 1.2.13 + object.pick: 1.3.0 + regex-not: 1.0.2 + snapdragon: registry.nlark.com/snapdragon/0.8.2 + to-regex: 3.0.2 + dev: true + + /micromatch/3.1.10: + resolution: {integrity: sha1-cIWbyVyYQJUvNZoGij/En57PrCM=, tarball: micromatch/download/micromatch-3.1.10.tgz?cache=0&sync_timestamp=1618054885525&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmicromatch%2Fdownload%2Fmicromatch-3.1.10.tgz} + engines: {node: '>=0.10.0'} + dependencies: + arr-diff: 4.0.0 + array-unique: 0.3.2 + braces: 2.3.2 + define-property: 2.0.2 + extend-shallow: 3.0.2 + extglob: 2.0.4 + fragment-cache: 0.2.1 + kind-of: 6.0.3 + nanomatch: 1.2.13 + object.pick: 1.3.0 + regex-not: 1.0.2 + snapdragon: registry.nlark.com/snapdragon/0.8.2 + to-regex: 3.0.2 + dev: true + + /micromatch/4.0.4: + resolution: {integrity: sha1-iW1Rnf6dsl/OlM63pQCRm/iB6/k=, tarball: micromatch/download/micromatch-4.0.4.tgz?cache=0&sync_timestamp=1618054885525&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmicromatch%2Fdownload%2Fmicromatch-4.0.4.tgz} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.2 + picomatch: registry.nlark.com/picomatch/2.3.0 + dev: true + + /mime/1.6.0: + resolution: {integrity: sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE=, tarball: mime/download/mime-1.6.0.tgz} + engines: {node: '>=4'} + hasBin: true + dev: true + + /mimic-fn/1.2.0: + resolution: {integrity: sha1-ggyGo5M0ZA6ZUWkovQP8qIBX0CI=, tarball: mimic-fn/download/mimic-fn-1.2.0.tgz} + engines: {node: '>=4'} + dev: true + + /mimic-fn/2.1.0: + resolution: {integrity: sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs=, tarball: mimic-fn/download/mimic-fn-2.1.0.tgz} + engines: {node: '>=6'} + dev: true + + /min-indent/1.0.1: + resolution: {integrity: sha1-pj9oFnOzBXH76LwlaGrnRu76mGk=, tarball: min-indent/download/min-indent-1.0.1.tgz} + engines: {node: '>=4'} + dev: true + + /minimatch/3.0.4: + resolution: {integrity: sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=, tarball: minimatch/download/minimatch-3.0.4.tgz} + dependencies: + brace-expansion: 1.1.11 + dev: true + + /minimist-options/4.1.0: + resolution: {integrity: sha1-wGVXE8U6ii69d/+iR9NCxA8BBhk=, tarball: minimist-options/download/minimist-options-4.1.0.tgz} + engines: {node: '>= 6'} + dependencies: + arrify: registry.nlark.com/arrify/1.0.1 + is-plain-obj: 1.1.0 + kind-of: 6.0.3 + dev: true + + /minimist/1.2.5: + resolution: {integrity: sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=, tarball: minimist/download/minimist-1.2.5.tgz} + dev: true + + /mixin-deep/1.3.2: + resolution: {integrity: sha1-ESC0PcNZp4Xc5ltVuC4lfM9HlWY=, tarball: mixin-deep/download/mixin-deep-1.3.2.tgz} + engines: {node: '>=0.10.0'} + dependencies: + for-in: 1.0.2 + is-extendable: 1.0.1 + dev: true + + /mkdirp/0.5.5: + resolution: {integrity: sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8=, tarball: mkdirp/download/mkdirp-0.5.5.tgz} + hasBin: true + dependencies: + minimist: 1.2.5 + dev: true + + /mkdirp/1.0.4: + resolution: {integrity: sha1-PrXtYmInVteaXw4qIh3+utdcL34=, tarball: mkdirp/download/mkdirp-1.0.4.tgz} + engines: {node: '>=10'} + hasBin: true + dev: true + + /mockjs/1.1.0: + resolution: {integrity: sha1-5qDDeOkZBtuv8gkRzAJzs8fXWwY=, tarball: mockjs/download/mockjs-1.1.0.tgz} + hasBin: true + dependencies: + commander: registry.nlark.com/commander/8.1.0 + dev: false + + /mute-stream/0.0.8: + resolution: {integrity: sha1-FjDEKyJR/4HiooPelqVJfqkuXg0=, tarball: mute-stream/download/mute-stream-0.0.8.tgz} + dev: true + + /nanomatch/1.2.13: + resolution: {integrity: sha1-uHqKpPwN6P5r6IiVs4mD/yZb0Rk=, tarball: nanomatch/download/nanomatch-1.2.13.tgz} + engines: {node: '>=0.10.0'} + dependencies: + arr-diff: 4.0.0 + array-unique: 0.3.2 + define-property: 2.0.2 + extend-shallow: 3.0.2 + fragment-cache: 0.2.1 + is-windows: 1.0.2 + kind-of: 6.0.3 + object.pick: 1.3.0 + regex-not: 1.0.2 + snapdragon: registry.nlark.com/snapdragon/0.8.2 + to-regex: 3.0.2 + dev: true + + /natural-compare/1.4.0: + resolution: {integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=, tarball: natural-compare/download/natural-compare-1.4.0.tgz} + dev: true + + /neo-async/2.6.2: + resolution: {integrity: sha1-tKr7k+OustgXTKU88WOrfXMIMF8=, tarball: neo-async/download/neo-async-2.6.2.tgz} + dev: true + + /no-case/2.3.2: + resolution: {integrity: sha1-YLgTOWvjmz8SiKTB7V0efSi0ZKw=, tarball: no-case/download/no-case-2.3.2.tgz} + dependencies: + lower-case: 1.1.4 + dev: true + + /no-case/3.0.4: + resolution: {integrity: sha1-02H9XJgA9VhVGoNp/A3NRmK2Ek0=, tarball: no-case/download/no-case-3.0.4.tgz} + dependencies: + lower-case: 2.0.2 + tslib: registry.nlark.com/tslib/2.3.1 + dev: true + + /normalize-path/3.0.0: + resolution: {integrity: sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=, tarball: normalize-path/download/normalize-path-3.0.0.tgz} + engines: {node: '>=0.10.0'} + dev: true + + /normalize-range/0.1.2: + resolution: {integrity: sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=, tarball: normalize-range/download/normalize-range-0.1.2.tgz} + engines: {node: '>=0.10.0'} + dev: true + + /normalize-selector/0.2.0: + resolution: {integrity: sha1-0LFF62kRicY6eNIB3E/bEpPvDAM=, tarball: normalize-selector/download/normalize-selector-0.2.0.tgz} + dev: true + + /normalize-wheel/1.0.1: + resolution: {integrity: sha1-rsiGr/2wRQcNhWRH32Ls+GFG7EU=, tarball: normalize-wheel/download/normalize-wheel-1.0.1.tgz} + dev: false + + /npm-run-path/4.0.1: + resolution: {integrity: sha1-t+zR5e1T2o43pV4cImnguX7XSOo=, tarball: npm-run-path/download/npm-run-path-4.0.1.tgz} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: true + + /nprogress/0.2.0: + resolution: {integrity: sha1-y480xTIT2JVyP8urkH6UIq28r7E=, tarball: nprogress/download/nprogress-0.2.0.tgz} + dev: false + + /nth-check/2.0.0: + resolution: {integrity: sha1-G7T22scAcvwxPoyc0UF7UHTAoSU=, tarball: nth-check/download/nth-check-2.0.0.tgz} + dependencies: + boolbase: 1.0.0 + dev: true + + /num2fraction/1.2.2: + resolution: {integrity: sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=, tarball: num2fraction/download/num2fraction-1.2.2.tgz} + dev: true + + /oauth-sign/0.9.0: + resolution: {integrity: sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU=, tarball: oauth-sign/download/oauth-sign-0.9.0.tgz} + dev: true + + /object-assign/4.1.1: + resolution: {integrity: sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=, tarball: object-assign/download/object-assign-4.1.1.tgz} + engines: {node: '>=0.10.0'} + dev: true + + /object-copy/0.1.0: + resolution: {integrity: sha1-fn2Fi3gb18mRpBupde04EnVOmYw=, tarball: object-copy/download/object-copy-0.1.0.tgz} + engines: {node: '>=0.10.0'} + dependencies: + copy-descriptor: 0.1.1 + define-property: 0.2.5 + kind-of: 3.2.2 + dev: true + + /object-visit/1.0.1: + resolution: {integrity: sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=, tarball: object-visit/download/object-visit-1.0.1.tgz} + engines: {node: '>=0.10.0'} + dependencies: + isobject: 3.0.1 + dev: true + + /object.map/1.0.1: + resolution: {integrity: sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=, tarball: object.map/download/object.map-1.0.1.tgz} + engines: {node: '>=0.10.0'} + dependencies: + for-own: 1.0.0 + make-iterator: 1.0.1 + dev: true + + /object.pick/1.3.0: + resolution: {integrity: sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=, tarball: object.pick/download/object.pick-1.3.0.tgz} + engines: {node: '>=0.10.0'} + dependencies: + isobject: 3.0.1 + dev: true + + /on-finished/2.3.0: + resolution: {integrity: sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=, tarball: on-finished/download/on-finished-2.3.0.tgz} + engines: {node: '>= 0.8'} + dependencies: + ee-first: 1.1.1 + dev: true + + /once/1.4.0: + resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=, tarball: once/download/once-1.4.0.tgz} + dependencies: + wrappy: registry.nlark.com/wrappy/1.0.2 + dev: true + + /onetime/2.0.1: + resolution: {integrity: sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=, tarball: onetime/download/onetime-2.0.1.tgz} + engines: {node: '>=4'} + dependencies: + mimic-fn: 1.2.0 + dev: true + + /onetime/5.1.2: + resolution: {integrity: sha1-0Oluu1awdHbfHdnEgG5SN5hcpF4=, tarball: onetime/download/onetime-5.1.2.tgz} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: true + + /opener/1.5.2: + resolution: {integrity: sha1-XTfh81B3udysQwE3InGv3rKhNZg=, tarball: opener/download/opener-1.5.2.tgz} + hasBin: true + dev: true + + /optionator/0.9.1: + resolution: {integrity: sha1-TyNqY3Pa4FZqbUPhMmZ09QwpFJk=, tarball: optionator/download/optionator-0.9.1.tgz} + engines: {node: '>= 0.8.0'} + dependencies: + deep-is: 0.1.3 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.3 + dev: true + + /os-tmpdir/1.0.2: + resolution: {integrity: sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=, tarball: os-tmpdir/download/os-tmpdir-1.0.2.tgz} + engines: {node: '>=0.10.0'} + dev: true + + /p-try/2.2.0: + resolution: {integrity: sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=, tarball: p-try/download/p-try-2.2.0.tgz} + engines: {node: '>=6'} + dev: true + + /param-case/2.1.1: + resolution: {integrity: sha1-35T9jPZTHs915r75oIWPvHK+Ikc=, tarball: param-case/download/param-case-2.1.1.tgz} + dependencies: + no-case: 2.3.2 + dev: true + + /param-case/3.0.4: + resolution: {integrity: sha1-fRf+SqEr3jTUp32RrPtiGcqtAcU=, tarball: param-case/download/param-case-3.0.4.tgz} + dependencies: + dot-case: 3.0.4 + tslib: registry.nlark.com/tslib/2.3.1 + dev: true + + /parent-module/1.0.1: + resolution: {integrity: sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI=, tarball: parent-module/download/parent-module-1.0.1.tgz} + engines: {node: '>=6'} + dependencies: + callsites: registry.nlark.com/callsites/3.1.0 + dev: true + + /parse-entities/2.0.0: + resolution: {integrity: sha1-U8brW5MUofTsmfoP33zgHs2gy+g=, tarball: parse-entities/download/parse-entities-2.0.0.tgz} + dependencies: + character-entities: 1.2.4 + character-entities-legacy: 1.1.4 + character-reference-invalid: 1.1.4 + is-alphanumerical: 1.0.4 + is-decimal: 1.0.4 + is-hexadecimal: 1.0.4 + dev: true + + /parse-filepath/1.0.2: + resolution: {integrity: sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=, tarball: parse-filepath/download/parse-filepath-1.0.2.tgz} + engines: {node: '>=0.8'} + dependencies: + is-absolute: 1.0.0 + map-cache: 0.2.2 + path-root: 0.1.1 + dev: true + + /parse-json/5.2.0: + resolution: {integrity: sha1-x2/Gbe5UIxyWKyK8yKcs8vmXU80=, tarball: parse-json/download/parse-json-5.2.0.tgz} + engines: {node: '>=8'} + dependencies: + '@babel/code-frame': registry.nlark.com/@babel/code-frame/7.14.5 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.1.6 + dev: true + + /parse-passwd/1.0.0: + resolution: {integrity: sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=, tarball: parse-passwd/download/parse-passwd-1.0.0.tgz} + engines: {node: '>=0.10.0'} + dev: true + + /pascal-case/2.0.1: + resolution: {integrity: sha1-LVeNNFX2YNpl7KGO+VtODekSdh4=, tarball: pascal-case/download/pascal-case-2.0.1.tgz} + dependencies: + camel-case: 3.0.0 + upper-case-first: 1.1.2 + dev: true + + /pascal-case/3.1.2: + resolution: {integrity: sha1-tI4O8rmOIF58Ha50fQsVCCN2YOs=, tarball: pascal-case/download/pascal-case-3.1.2.tgz} + dependencies: + no-case: 3.0.4 + tslib: registry.nlark.com/tslib/2.3.1 + dev: true + + /pascalcase/0.1.1: + resolution: {integrity: sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=, tarball: pascalcase/download/pascalcase-0.1.1.tgz} + engines: {node: '>=0.10.0'} + dev: true + + /path-browserify/1.0.1: + resolution: {integrity: sha1-2YRUqcN1PVeQhg8W9ohnueRr4f0=, tarball: path-browserify/download/path-browserify-1.0.1.tgz} + dev: false + + /path-is-absolute/1.0.1: + resolution: {integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=, tarball: path-is-absolute/download/path-is-absolute-1.0.1.tgz} + engines: {node: '>=0.10.0'} + dev: true + + /path-key/3.1.1: + resolution: {integrity: sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U=, tarball: path-key/download/path-key-3.1.1.tgz} + engines: {node: '>=8'} + dev: true + + /path-root-regex/0.1.2: + resolution: {integrity: sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=, tarball: path-root-regex/download/path-root-regex-0.1.2.tgz} + engines: {node: '>=0.10.0'} + dev: true + + /path-root/0.1.1: + resolution: {integrity: sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=, tarball: path-root/download/path-root-0.1.1.tgz} + engines: {node: '>=0.10.0'} + dependencies: + path-root-regex: 0.1.2 + dev: true + + /path-to-regexp/6.2.0: + resolution: {integrity: sha1-97OAMzYQTDRoia3s5hRmkjBkXzg=, tarball: path-to-regexp/download/path-to-regexp-6.2.0.tgz} + + /path-type/4.0.0: + resolution: {integrity: sha1-hO0BwKe6OAr+CdkKjBgNzZ0DBDs=, tarball: path-type/download/path-type-4.0.0.tgz} + engines: {node: '>=8'} + dev: true + + /performance-now/2.1.0: + resolution: {integrity: sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=, tarball: performance-now/download/performance-now-2.1.0.tgz} + dev: true + + /please-upgrade-node/3.2.0: + resolution: {integrity: sha1-rt3T+ZTJM+StmLmdmlVu+g4v6UI=, tarball: please-upgrade-node/download/please-upgrade-node-3.2.0.tgz} + dependencies: + semver-compare: 1.0.0 + dev: true + + /plop/2.7.4: + resolution: {integrity: sha1-g1KArvNUEQIGO3WPURbM6Jnhxys=, tarball: plop/download/plop-2.7.4.tgz} + engines: {node: '>=8.9.4'} + hasBin: true + dependencies: + '@types/liftoff': registry.nlark.com/@types/liftoff/2.5.1 + chalk: registry.nlark.com/chalk/1.1.3 + interpret: 1.4.0 + liftoff: registry.nlark.com/liftoff/2.5.0 + minimist: 1.2.5 + node-plop: registry.nlark.com/node-plop/0.26.2 + ora: registry.nlark.com/ora/3.4.0 + v8flags: registry.nlark.com/v8flags/2.1.1 + dev: true + + /portfinder/1.0.28: + resolution: {integrity: sha1-Z8RiKFK9U3TdHdkA93n1NGL6x3g=, tarball: portfinder/download/portfinder-1.0.28.tgz} + engines: {node: '>= 0.12.0'} + dependencies: + async: registry.nlark.com/async/2.6.3 + debug: registry.nlark.com/debug/3.2.7 + mkdirp: 0.5.5 + dev: true + + /posix-character-classes/0.1.1: + resolution: {integrity: sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=, tarball: posix-character-classes/download/posix-character-classes-0.1.1.tgz} + engines: {node: '>=0.10.0'} + dev: true + + /postcss-html/0.36.0_2b33a41d320e3e2012e5b3b0fadc703b: + resolution: {integrity: sha1-tAkT+U6qzCRT/TChMnrW7h+IsgQ=, tarball: postcss-html/download/postcss-html-0.36.0.tgz} + peerDependencies: + postcss: '>=5.0.0' + postcss-syntax: '>=0.36.0' + dependencies: + htmlparser2: registry.nlark.com/htmlparser2/3.10.1 + postcss: registry.nlark.com/postcss/7.0.36 + postcss-syntax: 0.36.2_postcss@7.0.36 + dev: true + + /postcss-media-query-parser/0.2.3: + resolution: {integrity: sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ=, tarball: postcss-media-query-parser/download/postcss-media-query-parser-0.2.3.tgz} + dev: true + + /postcss-modules-extract-imports/3.0.0_postcss@8.3.6: + resolution: {integrity: sha1-zaHwR8CugMl9vijD52pDuIAldB0=, tarball: postcss-modules-extract-imports/download/postcss-modules-extract-imports-3.0.0.tgz} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + postcss: registry.nlark.com/postcss/8.3.6 + dev: true + + /postcss-modules-local-by-default/4.0.0_postcss@8.3.6: + resolution: {integrity: sha1-67tU+uFZjuz99pGgKz/zs5ClpRw=, tarball: postcss-modules-local-by-default/download/postcss-modules-local-by-default-4.0.0.tgz} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + icss-utils: 5.1.0_postcss@8.3.6 + postcss: registry.nlark.com/postcss/8.3.6 + postcss-selector-parser: registry.nlark.com/postcss-selector-parser/6.0.6 + postcss-value-parser: 4.1.0 + dev: true + + /postcss-modules-values/4.0.0_postcss@8.3.6: + resolution: {integrity: sha1-18Xn5ow7s8myfL9Iyguz/7RgLJw=, tarball: postcss-modules-values/download/postcss-modules-values-4.0.0.tgz} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + icss-utils: 5.1.0_postcss@8.3.6 + postcss: registry.nlark.com/postcss/8.3.6 + dev: true + + /postcss-resolve-nested-selector/0.1.1: + resolution: {integrity: sha1-Kcy8fDfe36wwTp//C/FZaz9qDk4=, tarball: postcss-resolve-nested-selector/download/postcss-resolve-nested-selector-0.1.1.tgz} + dev: true + + /postcss-syntax/0.36.2_postcss@7.0.36: + resolution: {integrity: sha1-8IV4x9lYNFdOVZOoLfv6ivrjtRw=, tarball: postcss-syntax/download/postcss-syntax-0.36.2.tgz} + peerDependencies: + postcss: '>=5.0.0' + dependencies: + postcss: registry.nlark.com/postcss/7.0.36 + dev: true + + /postcss-value-parser/4.1.0: + resolution: {integrity: sha1-RD9qIM7WSBor2k+oUypuVdeJoss=, tarball: postcss-value-parser/download/postcss-value-parser-4.1.0.tgz} + dev: true + + /posthtml-svg-mode/1.0.3: + resolution: {integrity: sha1-q9VU+s6BIjyrDLNn4Y5O/SpOdLA=, tarball: posthtml-svg-mode/download/posthtml-svg-mode-1.0.3.tgz} + dependencies: + merge-options: 1.0.1 + posthtml: registry.nlark.com/posthtml/0.9.2 + posthtml-parser: registry.nlark.com/posthtml-parser/0.2.1 + posthtml-render: registry.nlark.com/posthtml-render/1.4.0 + dev: true + + /prelude-ls/1.2.1: + resolution: {integrity: sha1-3rxkidem5rDnYRiIzsiAM30xY5Y=, tarball: prelude-ls/download/prelude-ls-1.2.1.tgz} + engines: {node: '>= 0.8.0'} + dev: true + + /process-nextick-args/1.0.7: + resolution: {integrity: sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=, tarball: process-nextick-args/download/process-nextick-args-1.0.7.tgz} + dev: true + + /process-nextick-args/2.0.1: + resolution: {integrity: sha1-eCDZsWEgzFXKmud5JoCufbptf+I=, tarball: process-nextick-args/download/process-nextick-args-2.0.1.tgz} + dev: true + + /progress/2.0.3: + resolution: {integrity: sha1-foz42PW48jnBvGi+tOt4Vn1XLvg=, tarball: progress/download/progress-2.0.3.tgz?cache=0&sync_timestamp=1615986628587&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fprogress%2Fdownload%2Fprogress-2.0.3.tgz} + engines: {node: '>=0.4.0'} + dev: true + + /psl/1.8.0: + resolution: {integrity: sha1-kyb4vPsBOtzABf3/BWrM4CDlHCQ=, tarball: psl/download/psl-1.8.0.tgz} + dev: true + + /punycode/2.1.1: + resolution: {integrity: sha1-tYsBCsQMIsVldhbI0sLALHv0eew=, tarball: punycode/download/punycode-2.1.1.tgz} + engines: {node: '>=6'} + dev: true + + /qs/6.10.1: + resolution: {integrity: sha1-STFIL6jWR6Wqt5nFJx0hM7mB+2o=, tarball: qs/download/qs-6.10.1.tgz?cache=0&sync_timestamp=1616385641529&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fqs%2Fdownload%2Fqs-6.10.1.tgz} + engines: {node: '>=0.6'} + dependencies: + side-channel: 1.0.4 + dev: true + + /qs/6.5.2: + resolution: {integrity: sha1-yzroBuh0BERYTvFUzo7pjUA/PjY=, tarball: qs/download/qs-6.5.2.tgz?cache=0&sync_timestamp=1616385641529&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fqs%2Fdownload%2Fqs-6.5.2.tgz} + engines: {node: '>=0.6'} + dev: true + + /queue-microtask/1.2.3: + resolution: {integrity: sha1-SSkii7xyTfrEPg77BYyve2z7YkM=, tarball: queue-microtask/download/queue-microtask-1.2.3.tgz?cache=0&sync_timestamp=1616392663793&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fqueue-microtask%2Fdownload%2Fqueue-microtask-1.2.3.tgz} + dev: true + + /read-pkg-up/7.0.1: + resolution: {integrity: sha1-86YTV1hFlzOuK5VjgFbhhU5+9Qc=, tarball: read-pkg-up/download/read-pkg-up-7.0.1.tgz} + engines: {node: '>=8'} + dependencies: + find-up: 4.1.0 + read-pkg: registry.nlark.com/read-pkg/5.2.0 + type-fest: registry.nlark.com/type-fest/0.8.1 + dev: true + + /readable-stream/1.0.34: + resolution: {integrity: sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=, tarball: readable-stream/download/readable-stream-1.0.34.tgz} + dependencies: + core-util-is: 1.0.2 + inherits: 2.0.4 + isarray: registry.nlark.com/isarray/0.0.1 + string_decoder: 0.10.31 + dev: true + + /readable-stream/1.1.14: + resolution: {integrity: sha1-fPTFTvZI44EwhMY23SB54WbAgdk=, tarball: readable-stream/download/readable-stream-1.1.14.tgz} + dependencies: + core-util-is: 1.0.2 + inherits: 2.0.4 + isarray: registry.nlark.com/isarray/0.0.1 + string_decoder: 0.10.31 + dev: true + + /readable-stream/2.0.6: + resolution: {integrity: sha1-j5A0HmilPMySh4jaz80Rs265t44=, tarball: readable-stream/download/readable-stream-2.0.6.tgz} + dependencies: + core-util-is: 1.0.2 + inherits: 2.0.4 + isarray: registry.nlark.com/isarray/1.0.0 + process-nextick-args: 1.0.7 + string_decoder: 0.10.31 + util-deprecate: 1.0.2 + dev: true + + /readable-stream/2.3.7: + resolution: {integrity: sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=, tarball: readable-stream/download/readable-stream-2.3.7.tgz} + dependencies: + core-util-is: 1.0.2 + inherits: 2.0.4 + isarray: registry.nlark.com/isarray/1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + dev: true + + /readable-stream/3.6.0: + resolution: {integrity: sha1-M3u9o63AcGvT4CRCaihtS0sskZg=, tarball: readable-stream/download/readable-stream-3.6.0.tgz} + engines: {node: '>= 6'} + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + dev: true + + /readdirp/3.6.0: + resolution: {integrity: sha1-dKNwvYVxFuJFspzJc0DNQxoCpsc=, tarball: readdirp/download/readdirp-3.6.0.tgz?cache=0&sync_timestamp=1615719701333&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freaddirp%2Fdownload%2Freaddirp-3.6.0.tgz} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: registry.nlark.com/picomatch/2.3.0 + dev: true + + /regex-not/1.0.2: + resolution: {integrity: sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw=, tarball: regex-not/download/regex-not-1.0.2.tgz} + engines: {node: '>=0.10.0'} + dependencies: + extend-shallow: 3.0.2 + safe-regex: 1.1.0 + dev: true + + /relateurl/0.2.7: + resolution: {integrity: sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=, tarball: relateurl/download/relateurl-0.2.7.tgz} + engines: {node: '>= 0.10'} + dev: true + + /repeat-element/1.1.4: + resolution: {integrity: sha1-vmgVIIR6tYx1aKx1+/rSjtQtOek=, tarball: repeat-element/download/repeat-element-1.1.4.tgz} + engines: {node: '>=0.10.0'} + dev: true + + /repeat-string/1.6.1: + resolution: {integrity: sha1-jcrkcOHIirwtYA//Sndihtp15jc=, tarball: repeat-string/download/repeat-string-1.6.1.tgz} + engines: {node: '>=0.10'} + dev: true + + /replace-ext/0.0.1: + resolution: {integrity: sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=, tarball: replace-ext/download/replace-ext-0.0.1.tgz} + engines: {node: '>= 0.4'} + dev: true + + /request/2.88.2: + resolution: {integrity: sha1-1zyRhzHLWofaBH4gcjQUb2ZNErM=, tarball: request/download/request-2.88.2.tgz} + engines: {node: '>= 6'} + deprecated: request has been deprecated, see https://github.com/request/request/issues/3142 + dependencies: + aws-sign2: 0.7.0 + aws4: 1.11.0 + caseless: 0.12.0 + combined-stream: 1.0.8 + extend: registry.nlark.com/extend/3.0.2 + forever-agent: 0.6.1 + form-data: 2.3.3 + har-validator: 5.1.5 + http-signature: 1.2.0 + is-typedarray: 1.0.0 + isstream: 0.1.2 + json-stringify-safe: 5.0.1 + mime-types: registry.nlark.com/mime-types/2.1.32 + oauth-sign: 0.9.0 + performance-now: 2.1.0 + qs: 6.5.2 + safe-buffer: 5.2.1 + tough-cookie: 2.5.0 + tunnel-agent: 0.6.0 + uuid: registry.nlark.com/uuid/3.4.0 + dev: true + + /require-from-string/2.0.2: + resolution: {integrity: sha1-iaf92TgmEmcxjq/hT5wy5ZjDaQk=, tarball: require-from-string/download/require-from-string-2.0.2.tgz} + engines: {node: '>=0.10.0'} + dev: true + + /requires-port/1.0.0: + resolution: {integrity: sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=, tarball: requires-port/download/requires-port-1.0.0.tgz} + dev: true + + /resize-observer-polyfill/1.5.1: + resolution: {integrity: sha1-DpAg3T0hAkRY1OvSfiPkAmmBBGQ=, tarball: resize-observer-polyfill/download/resize-observer-polyfill-1.5.1.tgz} + dev: false + + /resolve-dir/1.0.1: + resolution: {integrity: sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=, tarball: resolve-dir/download/resolve-dir-1.0.1.tgz} + engines: {node: '>=0.10.0'} + dependencies: + expand-tilde: 2.0.2 + global-modules: 1.0.0 + dev: true + + /resolve-from/4.0.0: + resolution: {integrity: sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY=, tarball: resolve-from/download/resolve-from-4.0.0.tgz} + engines: {node: '>=4'} + dev: true + + /resolve-from/5.0.0: + resolution: {integrity: sha1-w1IlhD3493bfIcV1V7wIfp39/Gk=, tarball: resolve-from/download/resolve-from-5.0.0.tgz} + engines: {node: '>=8'} + dev: true + + /resolve-url/0.2.1: + resolution: {integrity: sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=, tarball: resolve-url/download/resolve-url-0.2.1.tgz} + deprecated: https://github.com/lydell/resolve-url#deprecated + dev: true + + /resolve/1.20.0: + resolution: {integrity: sha1-YpoBP7P3B1XW8LeTXMHCxTeLGXU=, tarball: resolve/download/resolve-1.20.0.tgz} + dependencies: + is-core-module: registry.nlark.com/is-core-module/2.6.0 + path-parse: registry.nlark.com/path-parse/1.0.7 + dev: true + + /ret/0.1.15: + resolution: {integrity: sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w=, tarball: ret/download/ret-0.1.15.tgz} + engines: {node: '>=0.12'} + dev: true + + /reusify/1.0.4: + resolution: {integrity: sha1-kNo4Kx4SbvwCFG6QhFqI2xKSXXY=, tarball: reusify/download/reusify-1.0.4.tgz} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + dev: true + + /rimraf/3.0.2: + resolution: {integrity: sha1-8aVAK6YiCtUswSgrrBrjqkn9Bho=, tarball: rimraf/download/rimraf-3.0.2.tgz} + hasBin: true + dependencies: + glob: registry.nlark.com/glob/7.1.7 + dev: true + + /run-async/2.4.1: + resolution: {integrity: sha1-hEDsz5nqPnC9QJ1JqriOEMGJpFU=, tarball: run-async/download/run-async-2.4.1.tgz} + engines: {node: '>=0.12.0'} + dev: true + + /run-parallel/1.2.0: + resolution: {integrity: sha1-ZtE2jae9+SHrnZW9GpIp5/IaQ+4=, tarball: run-parallel/download/run-parallel-1.2.0.tgz} + dependencies: + queue-microtask: 1.2.3 + dev: true + + /safe-buffer/5.1.2: + resolution: {integrity: sha1-mR7GnSluAxN0fVm9/St0XDX4go0=, tarball: safe-buffer/download/safe-buffer-5.1.2.tgz} + dev: true + + /safe-buffer/5.2.1: + resolution: {integrity: sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=, tarball: safe-buffer/download/safe-buffer-5.2.1.tgz} + dev: true + + /safe-regex/1.1.0: + resolution: {integrity: sha1-QKNmnzsHfR6UPURinhV91IAjvy4=, tarball: safe-regex/download/safe-regex-1.1.0.tgz} + dependencies: + ret: 0.1.15 + dev: true + + /safer-buffer/2.1.2: + resolution: {integrity: sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=, tarball: safer-buffer/download/safer-buffer-2.1.2.tgz} + dev: true + + /semver-compare/1.0.0: + resolution: {integrity: sha1-De4hahyUGrN+nvsXiPavxf9VN/w=, tarball: semver-compare/download/semver-compare-1.0.0.tgz} + dev: true + + /semver/5.0.3: + resolution: {integrity: sha1-d0Zt5YnNXTyV8TiqeLxWmjy10no=, tarball: semver/download/semver-5.0.3.tgz?cache=0&sync_timestamp=1616468020191&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.0.3.tgz} + hasBin: true + dev: true + + /semver/5.7.1: + resolution: {integrity: sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=, tarball: semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1616468020191&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz} + hasBin: true + dev: true + + /semver/6.3.0: + resolution: {integrity: sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=, tarball: semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1616468020191&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz} + hasBin: true + dev: true + + /semver/7.3.5: + resolution: {integrity: sha1-C2Ich5NI2JmOSw5L6Us/EuYBjvc=, tarball: semver/download/semver-7.3.5.tgz?cache=0&sync_timestamp=1616468020191&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.3.5.tgz} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /sentence-case/2.1.1: + resolution: {integrity: sha1-H24t2jnBaL+S0T+G1KkYkz9mftQ=, tarball: sentence-case/download/sentence-case-2.1.1.tgz} + dependencies: + no-case: 2.3.2 + upper-case-first: 1.1.2 + dev: true + + /shebang-command/2.0.0: + resolution: {integrity: sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo=, tarball: shebang-command/download/shebang-command-2.0.0.tgz} + engines: {node: '>=8'} + dependencies: + shebang-regex: registry.nlark.com/shebang-regex/3.0.0 + dev: true + + /side-channel/1.0.4: + resolution: {integrity: sha1-785cj9wQTudRslxY1CkAEfpeos8=, tarball: side-channel/download/side-channel-1.0.4.tgz} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.1.1 + object-inspect: registry.nlark.com/object-inspect/1.11.0 + dev: true + + /signal-exit/3.0.3: + resolution: {integrity: sha1-oUEMLt2PB3sItOJTyOrPyvBXRhw=, tarball: signal-exit/download/signal-exit-3.0.3.tgz} + dev: true + + /slash/3.0.0: + resolution: {integrity: sha1-ZTm+hwwWWtvVJAIg2+Nh8bxNRjQ=, tarball: slash/download/slash-3.0.0.tgz} + engines: {node: '>=8'} + dev: true + + /slice-ansi/3.0.0: + resolution: {integrity: sha1-Md3BCTCht+C2ewjJbC9Jt3p4l4c=, tarball: slice-ansi/download/slice-ansi-3.0.0.tgz} + engines: {node: '>=8'} + dependencies: + ansi-styles: registry.nlark.com/ansi-styles/4.3.0 + astral-regex: 2.0.0 + is-fullwidth-code-point: 3.0.0 + dev: true + + /slice-ansi/4.0.0: + resolution: {integrity: sha1-UA6N0P1VsFgVCGJVsxla3ypF/ms=, tarball: slice-ansi/download/slice-ansi-4.0.0.tgz} + engines: {node: '>=10'} + dependencies: + ansi-styles: registry.nlark.com/ansi-styles/4.3.0 + astral-regex: 2.0.0 + is-fullwidth-code-point: 3.0.0 + dev: true + + /snake-case/2.1.0: + resolution: {integrity: sha1-Qb2xtz8w7GagTU4srRt2OH1NbZ8=, tarball: snake-case/download/snake-case-2.1.0.tgz} + dependencies: + no-case: 2.3.2 + dev: true + + /snapdragon-node/2.1.1: + resolution: {integrity: sha1-bBdfhv8UvbByRWPo88GwIaKGhTs=, tarball: snapdragon-node/download/snapdragon-node-2.1.1.tgz} + engines: {node: '>=0.10.0'} + dependencies: + define-property: 1.0.0 + isobject: 3.0.1 + snapdragon-util: 3.0.1 + dev: true + + /snapdragon-util/3.0.1: + resolution: {integrity: sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI=, tarball: snapdragon-util/download/snapdragon-util-3.0.1.tgz} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 3.2.2 + dev: true + + /source-map-resolve/0.5.3: + resolution: {integrity: sha1-GQhmvs51U+H48mei7oLGBrVQmho=, tarball: source-map-resolve/download/source-map-resolve-0.5.3.tgz} + dependencies: + atob: 2.1.2 + decode-uri-component: 0.2.0 + resolve-url: 0.2.1 + source-map-url: 0.4.1 + urix: 0.1.0 + dev: true + + /source-map-support/0.5.19: + resolution: {integrity: sha1-qYti+G3K9PZzmWSMCFKRq56P7WE=, tarball: source-map-support/download/source-map-support-0.5.19.tgz} + dependencies: + buffer-from: registry.nlark.com/buffer-from/1.1.2 + source-map: 0.6.1 + dev: true + + /source-map-url/0.4.1: + resolution: {integrity: sha1-CvZmBadFpaL5HPG7+KevvCg97FY=, tarball: source-map-url/download/source-map-url-0.4.1.tgz} + dev: true + + /source-map/0.5.7: + resolution: {integrity: sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=, tarball: source-map/download/source-map-0.5.7.tgz} + engines: {node: '>=0.10.0'} + dev: true + + /source-map/0.6.1: + resolution: {integrity: sha1-dHIq8y6WFOnCh6jQu95IteLxomM=, tarball: source-map/download/source-map-0.6.1.tgz} + engines: {node: '>=0.10.0'} + + /sourcemap-codec/1.4.8: + resolution: {integrity: sha1-6oBL2UhXQC5pktBaOO8a41qatMQ=, tarball: sourcemap-codec/download/sourcemap-codec-1.4.8.tgz} + dev: true + + /spdx-correct/3.1.1: + resolution: {integrity: sha1-3s6BrJweZxPl99G28X1Gj6U9iak=, tarball: spdx-correct/download/spdx-correct-3.1.1.tgz} + dependencies: + spdx-expression-parse: 3.0.1 + spdx-license-ids: registry.nlark.com/spdx-license-ids/3.0.10 + dev: true + + /spdx-exceptions/2.3.0: + resolution: {integrity: sha1-PyjOGnegA3JoPq3kpDMYNSeiFj0=, tarball: spdx-exceptions/download/spdx-exceptions-2.3.0.tgz} + dev: true + + /spdx-expression-parse/3.0.1: + resolution: {integrity: sha1-z3D1BILu/cmOPOCmgz5KU87rpnk=, tarball: spdx-expression-parse/download/spdx-expression-parse-3.0.1.tgz} + dependencies: + spdx-exceptions: 2.3.0 + spdx-license-ids: registry.nlark.com/spdx-license-ids/3.0.10 + dev: true + + /split-string/3.1.0: + resolution: {integrity: sha1-fLCd2jqGWFcFxks5pkZgOGguj+I=, tarball: split-string/download/split-string-3.1.0.tgz} + engines: {node: '>=0.10.0'} + dependencies: + extend-shallow: 3.0.2 + dev: true + + /sprintf-js/1.0.3: + resolution: {integrity: sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=, tarball: sprintf-js/download/sprintf-js-1.0.3.tgz} + dev: true + + /sprintf-js/1.1.2: + resolution: {integrity: sha1-2hdlJiv4wPVxdJ8q1sJjACB65nM=, tarball: sprintf-js/download/sprintf-js-1.1.2.tgz} + dev: true + + /sshpk/1.16.1: + resolution: {integrity: sha1-+2YcC+8ps520B2nuOfpwCT1vaHc=, tarball: sshpk/download/sshpk-1.16.1.tgz} + engines: {node: '>=0.10.0'} + hasBin: true + dependencies: + asn1: 0.2.4 + assert-plus: 1.0.0 + bcrypt-pbkdf: 1.0.2 + dashdash: 1.14.1 + ecc-jsbn: 0.1.2 + getpass: 0.1.7 + jsbn: 0.1.1 + safer-buffer: 2.1.2 + tweetnacl: 0.14.5 + dev: true + + /stable/0.1.8: + resolution: {integrity: sha1-g26zyDgv4pNv6vVEYxAXzn1Ho88=, tarball: stable/download/stable-0.1.8.tgz} + dev: true + + /static-extend/0.1.2: + resolution: {integrity: sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=, tarball: static-extend/download/static-extend-0.1.2.tgz} + engines: {node: '>=0.10.0'} + dependencies: + define-property: 0.2.5 + object-copy: 0.1.0 + dev: true + + /statuses/1.5.0: + resolution: {integrity: sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=, tarball: statuses/download/statuses-1.5.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstatuses%2Fdownload%2Fstatuses-1.5.0.tgz} + engines: {node: '>= 0.6'} + dev: true + + /strict-uri-encode/1.1.0: + resolution: {integrity: sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=, tarball: strict-uri-encode/download/strict-uri-encode-1.1.0.tgz} + engines: {node: '>=0.10.0'} + dev: true + + /string-argv/0.3.1: + resolution: {integrity: sha1-leL77AQnrhkYSTX4FtdKqkxcGdo=, tarball: string-argv/download/string-argv-0.3.1.tgz} + engines: {node: '>=0.6.19'} + dev: true + + /string-hash/1.1.3: + resolution: {integrity: sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs=, tarball: string-hash/download/string-hash-1.1.3.tgz} + dev: true + + /string-width/4.2.2: + resolution: {integrity: sha1-2v1PlVmnWFz7pSnGoKT3NIjr1MU=, tarball: string-width/download/string-width-4.2.2.tgz?cache=0&sync_timestamp=1618559292372&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-4.2.2.tgz} + engines: {node: '>=8'} + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.0 + dev: true + + /string_decoder/0.10.31: + resolution: {integrity: sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=, tarball: string_decoder/download/string_decoder-0.10.31.tgz} + dev: true + + /string_decoder/1.1.1: + resolution: {integrity: sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=, tarball: string_decoder/download/string_decoder-1.1.1.tgz} + dependencies: + safe-buffer: 5.1.2 + dev: true + + /string_decoder/1.3.0: + resolution: {integrity: sha1-QvEUWUpGzxqOMLCoT1bHjD7awh4=, tarball: string_decoder/download/string_decoder-1.3.0.tgz} + dependencies: + safe-buffer: 5.2.1 + dev: true + + /strip-ansi/3.0.1: + resolution: {integrity: sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=, tarball: strip-ansi/download/strip-ansi-3.0.1.tgz} + engines: {node: '>=0.10.0'} + dependencies: + ansi-regex: 2.1.1 + dev: true + + /strip-ansi/5.2.0: + resolution: {integrity: sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=, tarball: strip-ansi/download/strip-ansi-5.2.0.tgz} + engines: {node: '>=6'} + dependencies: + ansi-regex: 4.1.0 + dev: true + + /strip-ansi/6.0.0: + resolution: {integrity: sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI=, tarball: strip-ansi/download/strip-ansi-6.0.0.tgz} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.0 + dev: true + + /strip-bom/2.0.0: + resolution: {integrity: sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=, tarball: strip-bom/download/strip-bom-2.0.0.tgz} + engines: {node: '>=0.10.0'} + dependencies: + is-utf8: 0.2.1 + dev: true + + /style-search/0.1.0: + resolution: {integrity: sha1-eVjHk+R+MuB9K1yv5cC/jhLneQI=, tarball: style-search/download/style-search-0.1.0.tgz} + dev: true + + /svg-baker/1.7.0: + resolution: {integrity: sha1-g2f3jYdVUMUv5HVvcwPVxdfC6ac=, tarball: svg-baker/download/svg-baker-1.7.0.tgz} + dependencies: + bluebird: 3.7.2 + clone: 2.1.2 + he: 1.2.0 + image-size: 0.5.5 + loader-utils: 1.4.0 + merge-options: 1.0.1 + micromatch: 3.1.0 + postcss: registry.nlark.com/postcss/5.2.18 + postcss-prefix-selector: registry.nlark.com/postcss-prefix-selector/1.12.0 + posthtml-rename-id: registry.nlark.com/posthtml-rename-id/1.0.12 + posthtml-svg-mode: 1.0.3 + query-string: registry.nlark.com/query-string/4.3.4 + traverse: 0.6.6 + dev: true + + /svg-tags/1.0.0: + resolution: {integrity: sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=, tarball: svg-tags/download/svg-tags-1.0.0.tgz} + dev: true + + /swap-case/1.1.2: + resolution: {integrity: sha1-w5IDpFhzhfrTyFCgvRvK+ggZdOM=, tarball: swap-case/download/swap-case-1.1.2.tgz} + dependencies: + lower-case: 1.1.4 + upper-case: 1.1.3 + dev: true + + /text-table/0.2.0: + resolution: {integrity: sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=, tarball: text-table/download/text-table-0.2.0.tgz} + dev: true + + /through/2.3.8: + resolution: {integrity: sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=, tarball: through/download/through-2.3.8.tgz} + dev: true + + /through2/2.0.5: + resolution: {integrity: sha1-AcHjnrMdB8t9A6lqcIIyYLIxMs0=, tarball: through2/download/through2-2.0.5.tgz} + dependencies: + readable-stream: 2.3.7 + xtend: 4.0.2 + dev: true + + /tmp/0.0.33: + resolution: {integrity: sha1-bTQzWIl2jSGyvNoKonfO07G/rfk=, tarball: tmp/download/tmp-0.0.33.tgz} + engines: {node: '>=0.6.0'} + dependencies: + os-tmpdir: 1.0.2 + dev: true + + /to-object-path/0.3.0: + resolution: {integrity: sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=, tarball: to-object-path/download/to-object-path-0.3.0.tgz} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 3.2.2 + dev: true + + /to-regex-range/2.1.1: + resolution: {integrity: sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=, tarball: to-regex-range/download/to-regex-range-2.1.1.tgz} + engines: {node: '>=0.10.0'} + dependencies: + is-number: 3.0.0 + repeat-string: 1.6.1 + dev: true + + /to-regex-range/5.0.1: + resolution: {integrity: sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=, tarball: to-regex-range/download/to-regex-range-5.0.1.tgz} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + dev: true + + /to-regex/3.0.2: + resolution: {integrity: sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4=, tarball: to-regex/download/to-regex-3.0.2.tgz} + engines: {node: '>=0.10.0'} + dependencies: + define-property: 2.0.2 + extend-shallow: 3.0.2 + regex-not: 1.0.2 + safe-regex: 1.1.0 + dev: true + + /tough-cookie/2.5.0: + resolution: {integrity: sha1-zZ+yoKodWhK0c72fuW+j3P9lreI=, tarball: tough-cookie/download/tough-cookie-2.5.0.tgz} + engines: {node: '>=0.8'} + dependencies: + psl: 1.8.0 + punycode: 2.1.1 + dev: true + + /traverse/0.6.6: + resolution: {integrity: sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=, tarball: traverse/download/traverse-0.6.6.tgz} + dev: true + + /tunnel-agent/0.6.0: + resolution: {integrity: sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=, tarball: tunnel-agent/download/tunnel-agent-0.6.0.tgz} + dependencies: + safe-buffer: 5.2.1 + dev: true + + /tweetnacl/0.14.5: + resolution: {integrity: sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=, tarball: tweetnacl/download/tweetnacl-0.14.5.tgz} + dev: true + + /type-check/0.4.0: + resolution: {integrity: sha1-B7ggO/pwVsBlcFDjzNLDdzC6uPE=, tarball: type-check/download/type-check-0.4.0.tgz} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + dev: true + + /typedarray-to-buffer/3.1.5: + resolution: {integrity: sha1-qX7nqf9CaRufeD/xvFES/j/KkIA=, tarball: typedarray-to-buffer/download/typedarray-to-buffer-3.1.5.tgz} + dependencies: + is-typedarray: 1.0.0 + dev: true + + /typedarray/0.0.6: + resolution: {integrity: sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=, tarball: typedarray/download/typedarray-0.0.6.tgz} + dev: true + + /unc-path-regex/0.1.2: + resolution: {integrity: sha1-5z3T17DXxe2G+6xrCufYxqadUPo=, tarball: unc-path-regex/download/unc-path-regex-0.1.2.tgz} + engines: {node: '>=0.10.0'} + dev: true + + /underscore/1.13.1: + resolution: {integrity: sha1-DBxr0t9UtrafIxQGbWW2zeb8+dE=, tarball: underscore/download/underscore-1.13.1.tgz?cache=0&sync_timestamp=1618503588071&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funderscore%2Fdownload%2Funderscore-1.13.1.tgz} + dev: true + + /union-value/1.0.1: + resolution: {integrity: sha1-C2/nuDWuzaYcbqTU8CwUIh4QmEc=, tarball: union-value/download/union-value-1.0.1.tgz} + engines: {node: '>=0.10.0'} + dependencies: + arr-union: 3.1.0 + get-value: 2.0.6 + is-extendable: 0.1.1 + set-value: registry.nlark.com/set-value/2.0.1 + dev: true + + /uniq/1.0.1: + resolution: {integrity: sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=, tarball: uniq/download/uniq-1.0.1.tgz} + dev: true + + /unist-util-stringify-position/2.0.3: + resolution: {integrity: sha1-zOO/oc34W6c3XR1bF73Eytqb2do=, tarball: unist-util-stringify-position/download/unist-util-stringify-position-2.0.3.tgz} + dependencies: + '@types/unist': registry.nlark.com/@types/unist/2.0.6 + dev: true + + /universalify/2.0.0: + resolution: {integrity: sha1-daSYTv7cSwiXXFrrc/Uw0C3yVxc=, tarball: universalify/download/universalify-2.0.0.tgz} + engines: {node: '>= 10.0.0'} + dev: true + + /unpipe/1.0.0: + resolution: {integrity: sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=, tarball: unpipe/download/unpipe-1.0.0.tgz} + engines: {node: '>= 0.8'} + dev: true + + /unset-value/1.0.0: + resolution: {integrity: sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=, tarball: unset-value/download/unset-value-1.0.0.tgz} + engines: {node: '>=0.10.0'} + dependencies: + has-value: 0.3.1 + isobject: 3.0.1 + dev: true + + /upper-case-first/1.1.2: + resolution: {integrity: sha1-XXm+3P8UQZUY/S7bCgUHybaFkRU=, tarball: upper-case-first/download/upper-case-first-1.1.2.tgz} + dependencies: + upper-case: 1.1.3 + dev: true + + /upper-case/1.1.3: + resolution: {integrity: sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=, tarball: upper-case/download/upper-case-1.1.3.tgz} + dev: true + + /uri-js/4.4.1: + resolution: {integrity: sha1-mxpSWVIlhZ5V9mnZKPiMbFfyp34=, tarball: uri-js/download/uri-js-4.4.1.tgz} + dependencies: + punycode: 2.1.1 + dev: true + + /urix/0.1.0: + resolution: {integrity: sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=, tarball: urix/download/urix-0.1.0.tgz} + deprecated: Please see https://github.com/lydell/urix#deprecated + dev: true + + /url-join/2.0.5: + resolution: {integrity: sha1-WvIvGMBSoACkjXuCxenC4v7tpyg=, tarball: url-join/download/url-join-2.0.5.tgz} + dev: true + + /use/3.1.1: + resolution: {integrity: sha1-1QyMrHmhn7wg8pEfVuuXP04QBw8=, tarball: use/download/use-3.1.1.tgz} + engines: {node: '>=0.10.0'} + dev: true + + /user-home/1.1.1: + resolution: {integrity: sha1-K1viOjK2Onyd640PKNSFcko98ZA=, tarball: user-home/download/user-home-1.1.1.tgz} + engines: {node: '>=0.10.0'} + hasBin: true + dev: true + + /util-deprecate/1.0.2: + resolution: {integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=, tarball: util-deprecate/download/util-deprecate-1.0.2.tgz} + dev: true + + /utils-merge/1.0.1: + resolution: {integrity: sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=, tarball: utils-merge/download/utils-merge-1.0.1.tgz} + engines: {node: '>= 0.4.0'} + dev: true + + /v8-compile-cache/2.3.0: + resolution: {integrity: sha1-LeGWGMZtwkfc+2+ZM4A12CRaLO4=, tarball: v8-compile-cache/download/v8-compile-cache-2.3.0.tgz} + dev: true + + /validate-npm-package-license/3.0.4: + resolution: {integrity: sha1-/JH2uce6FchX9MssXe/uw51PQQo=, tarball: validate-npm-package-license/download/validate-npm-package-license-3.0.4.tgz} + dependencies: + spdx-correct: 3.1.1 + spdx-expression-parse: 3.0.1 + dev: true + + /vary/1.1.2: + resolution: {integrity: sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=, tarball: vary/download/vary-1.1.2.tgz} + engines: {node: '>= 0.8'} + dev: true + + /verror/1.10.0: + resolution: {integrity: sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=, tarball: verror/download/verror-1.10.0.tgz} + engines: {'0': node >=0.6.0} + dependencies: + assert-plus: 1.0.0 + core-util-is: 1.0.2 + extsprintf: 1.3.0 + dev: true + + /vinyl/1.2.0: + resolution: {integrity: sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=, tarball: vinyl/download/vinyl-1.2.0.tgz} + engines: {node: '>= 0.9'} + dependencies: + clone: 1.0.4 + clone-stats: 0.0.1 + replace-ext: 0.0.1 + dev: true + + /wcwidth/1.0.1: + resolution: {integrity: sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=, tarball: wcwidth/download/wcwidth-1.0.1.tgz} + dependencies: + defaults: 1.0.3 + dev: true + + /which/1.3.1: + resolution: {integrity: sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=, tarball: which/download/which-1.3.1.tgz?cache=0&sync_timestamp=1615986567056&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhich%2Fdownload%2Fwhich-1.3.1.tgz} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /which/2.0.2: + resolution: {integrity: sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=, tarball: which/download/which-2.0.2.tgz?cache=0&sync_timestamp=1615986567056&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhich%2Fdownload%2Fwhich-2.0.2.tgz} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /word-wrap/1.2.3: + resolution: {integrity: sha1-YQY29rH3A4kb00dxzLF/uTtHB5w=, tarball: word-wrap/download/word-wrap-1.2.3.tgz} + engines: {node: '>=0.10.0'} + dev: true + + /wordwrap/1.0.0: + resolution: {integrity: sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=, tarball: wordwrap/download/wordwrap-1.0.0.tgz} + dev: true + + /wrap-ansi/6.2.0: + resolution: {integrity: sha1-6Tk7oHEC5skaOyIUePAlfNKFblM=, tarball: wrap-ansi/download/wrap-ansi-6.2.0.tgz?cache=0&sync_timestamp=1618559292738&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwrap-ansi%2Fdownload%2Fwrap-ansi-6.2.0.tgz} + engines: {node: '>=8'} + dependencies: + ansi-styles: registry.nlark.com/ansi-styles/4.3.0 + string-width: 4.2.2 + strip-ansi: 6.0.0 + dev: true + + /wrap-ansi/7.0.0: + resolution: {integrity: sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM=, tarball: wrap-ansi/download/wrap-ansi-7.0.0.tgz?cache=0&sync_timestamp=1618559292738&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwrap-ansi%2Fdownload%2Fwrap-ansi-7.0.0.tgz} + engines: {node: '>=10'} + dependencies: + ansi-styles: registry.nlark.com/ansi-styles/4.3.0 + string-width: 4.2.2 + strip-ansi: 6.0.0 + dev: true + + /write-file-atomic/3.0.3: + resolution: {integrity: sha1-Vr1cWlxwSBzRnFcb05q5ZaXeVug=, tarball: write-file-atomic/download/write-file-atomic-3.0.3.tgz} + dependencies: + imurmurhash: 0.1.4 + is-typedarray: 1.0.0 + signal-exit: 3.0.3 + typedarray-to-buffer: 3.1.5 + dev: true + + /xtend/4.0.2: + resolution: {integrity: sha1-u3J3n1+kZRhrH0OPZ0+jR/2121Q=, tarball: xtend/download/xtend-4.0.2.tgz} + engines: {node: '>=0.4'} + dev: true + + /yallist/3.1.1: + resolution: {integrity: sha1-27fa+b/YusmrRev2ArjLrQ1dCP0=, tarball: yallist/download/yallist-3.1.1.tgz} + dev: true + + /yallist/4.0.0: + resolution: {integrity: sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI=, tarball: yallist/download/yallist-4.0.0.tgz} + dev: true + + /zwitch/1.0.5: + resolution: {integrity: sha1-0R1zgf/tFrdC9q97PyI9XNn+mSA=, tarball: zwitch/download/zwitch-1.0.5.tgz} + dev: true + + registry.nlark.com/@babel/code-frame/7.12.11: + resolution: {integrity: sha1-9K1DWqJj25NbjxDyxVLSP7cWpj8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@babel/code-frame/download/@babel/code-frame-7.12.11.tgz} + name: '@babel/code-frame' + version: 7.12.11 + dependencies: + '@babel/highlight': registry.nlark.com/@babel/highlight/7.14.5 + dev: true + + registry.nlark.com/@babel/code-frame/7.14.5: + resolution: {integrity: sha1-I7CNdA6D9JxeWZRfvxtD6Au/Tts=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@babel/code-frame/download/@babel/code-frame-7.14.5.tgz} + name: '@babel/code-frame' + version: 7.14.5 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': registry.nlark.com/@babel/highlight/7.14.5 + dev: true + + registry.nlark.com/@babel/compat-data/7.15.0: + resolution: {integrity: sha1-Lbr4uFM0eWyvuw9Xk6kKL8AQsXY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@babel/compat-data/download/@babel/compat-data-7.15.0.tgz} + name: '@babel/compat-data' + version: 7.15.0 + engines: {node: '>=6.9.0'} + dev: true + + registry.nlark.com/@babel/core/7.15.0: + resolution: {integrity: sha1-dJ5Xxod4tzrYCCd1Vh9n9Rlqr6g=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@babel/core/download/@babel/core-7.15.0.tgz} + name: '@babel/core' + version: 7.15.0 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': registry.nlark.com/@babel/code-frame/7.14.5 + '@babel/generator': registry.nlark.com/@babel/generator/7.15.0 + '@babel/helper-compilation-targets': registry.nlark.com/@babel/helper-compilation-targets/7.15.0_@babel+core@7.15.0 + '@babel/helper-module-transforms': registry.nlark.com/@babel/helper-module-transforms/7.15.0 + '@babel/helpers': registry.nlark.com/@babel/helpers/7.15.3 + '@babel/parser': registry.nlark.com/@babel/parser/7.15.3 + '@babel/template': registry.nlark.com/@babel/template/7.14.5 + '@babel/traverse': registry.nlark.com/@babel/traverse/7.15.0 + '@babel/types': registry.nlark.com/@babel/types/7.15.0 + convert-source-map: registry.nlark.com/convert-source-map/1.8.0 + debug: registry.nlark.com/debug/4.3.2 + gensync: 1.0.0-beta.2 + json5: registry.nlark.com/json5/2.2.0 + semver: 6.3.0 + source-map: 0.5.7 + transitivePeerDependencies: + - supports-color + dev: true + + registry.nlark.com/@babel/generator/7.15.0: + resolution: {integrity: sha1-p9DBcuDYFJdLrVqnes5UO5eRfxU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@babel/generator/download/@babel/generator-7.15.0.tgz} + name: '@babel/generator' + version: 7.15.0 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': registry.nlark.com/@babel/types/7.15.0 + jsesc: 2.5.2 + source-map: 0.5.7 + dev: true + + registry.nlark.com/@babel/helper-compilation-targets/7.15.0_@babel+core@7.15.0: + resolution: {integrity: sha1-lz34y9AlUV8/8l2wwF78cE+nmBg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@babel/helper-compilation-targets/download/@babel/helper-compilation-targets-7.15.0.tgz} + id: registry.nlark.com/@babel/helper-compilation-targets/7.15.0 + name: '@babel/helper-compilation-targets' + version: 7.15.0 + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/compat-data': registry.nlark.com/@babel/compat-data/7.15.0 + '@babel/core': registry.nlark.com/@babel/core/7.15.0 + '@babel/helper-validator-option': registry.nlark.com/@babel/helper-validator-option/7.14.5 + browserslist: registry.nlark.com/browserslist/4.16.8 + semver: 6.3.0 + dev: true + + registry.nlark.com/@babel/helper-function-name/7.14.5: + resolution: {integrity: sha1-ieLEdJcvFdjiM7Uu6MSA4s/NUMQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@babel/helper-function-name/download/@babel/helper-function-name-7.14.5.tgz} + name: '@babel/helper-function-name' + version: 7.14.5 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-get-function-arity': registry.nlark.com/@babel/helper-get-function-arity/7.14.5 + '@babel/template': registry.nlark.com/@babel/template/7.14.5 + '@babel/types': registry.nlark.com/@babel/types/7.15.0 + dev: true + + registry.nlark.com/@babel/helper-get-function-arity/7.14.5: + resolution: {integrity: sha1-Jfv6V5sJN+7h87gF7OTOOYxDGBU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.14.5.tgz} + name: '@babel/helper-get-function-arity' + version: 7.14.5 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': registry.nlark.com/@babel/types/7.15.0 + dev: true + + registry.nlark.com/@babel/helper-hoist-variables/7.14.5: + resolution: {integrity: sha1-4N0nwzp45XfXyIhJFqPn7x98f40=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@babel/helper-hoist-variables/download/@babel/helper-hoist-variables-7.14.5.tgz} + name: '@babel/helper-hoist-variables' + version: 7.14.5 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': registry.nlark.com/@babel/types/7.15.0 + dev: true + + registry.nlark.com/@babel/helper-member-expression-to-functions/7.15.0: + resolution: {integrity: sha1-Ddr1KZyBefJ/NzJ5NlU+m7pgmQs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@babel/helper-member-expression-to-functions/download/@babel/helper-member-expression-to-functions-7.15.0.tgz} + name: '@babel/helper-member-expression-to-functions' + version: 7.15.0 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': registry.nlark.com/@babel/types/7.15.0 + dev: true + + registry.nlark.com/@babel/helper-module-imports/7.14.5: + resolution: {integrity: sha1-bRpE32o4yVeqfDEtoHZCnxG0IvM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@babel/helper-module-imports/download/@babel/helper-module-imports-7.14.5.tgz} + name: '@babel/helper-module-imports' + version: 7.14.5 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': registry.nlark.com/@babel/types/7.15.0 + dev: true + + registry.nlark.com/@babel/helper-module-transforms/7.15.0: + resolution: {integrity: sha1-Z5J1WB6gVjc+3b42DhQZ7yN4Owg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@babel/helper-module-transforms/download/@babel/helper-module-transforms-7.15.0.tgz} + name: '@babel/helper-module-transforms' + version: 7.15.0 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-module-imports': registry.nlark.com/@babel/helper-module-imports/7.14.5 + '@babel/helper-replace-supers': registry.nlark.com/@babel/helper-replace-supers/7.15.0 + '@babel/helper-simple-access': registry.nlark.com/@babel/helper-simple-access/7.14.8 + '@babel/helper-split-export-declaration': registry.nlark.com/@babel/helper-split-export-declaration/7.14.5 + '@babel/helper-validator-identifier': registry.nlark.com/@babel/helper-validator-identifier/7.14.9 + '@babel/template': registry.nlark.com/@babel/template/7.14.5 + '@babel/traverse': registry.nlark.com/@babel/traverse/7.15.0 + '@babel/types': registry.nlark.com/@babel/types/7.15.0 + dev: true + + registry.nlark.com/@babel/helper-optimise-call-expression/7.14.5: + resolution: {integrity: sha1-8nOVqGGeBmWz8DZM3bQcJdcbSZw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@babel/helper-optimise-call-expression/download/@babel/helper-optimise-call-expression-7.14.5.tgz} + name: '@babel/helper-optimise-call-expression' + version: 7.14.5 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': registry.nlark.com/@babel/types/7.15.0 + dev: true + + registry.nlark.com/@babel/helper-replace-supers/7.15.0: + resolution: {integrity: sha1-rOB3CPW/dGvy5rqZVyzOebXU5/Q=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@babel/helper-replace-supers/download/@babel/helper-replace-supers-7.15.0.tgz} + name: '@babel/helper-replace-supers' + version: 7.15.0 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-member-expression-to-functions': registry.nlark.com/@babel/helper-member-expression-to-functions/7.15.0 + '@babel/helper-optimise-call-expression': registry.nlark.com/@babel/helper-optimise-call-expression/7.14.5 + '@babel/traverse': registry.nlark.com/@babel/traverse/7.15.0 + '@babel/types': registry.nlark.com/@babel/types/7.15.0 + dev: true + + registry.nlark.com/@babel/helper-simple-access/7.14.8: + resolution: {integrity: sha1-guH+wGRKfndcdNMF8hLDn4/nOSQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@babel/helper-simple-access/download/@babel/helper-simple-access-7.14.8.tgz} + name: '@babel/helper-simple-access' + version: 7.14.8 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': registry.nlark.com/@babel/types/7.15.0 + dev: true + + registry.nlark.com/@babel/helper-split-export-declaration/7.14.5: + resolution: {integrity: sha1-IrI6VO9RwrdgXYUZMMGXbdC8aTo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.14.5.tgz} + name: '@babel/helper-split-export-declaration' + version: 7.14.5 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': registry.nlark.com/@babel/types/7.15.0 + dev: true + + registry.nlark.com/@babel/helper-validator-identifier/7.14.9: + resolution: {integrity: sha1-ZlTRcbICT22O4VG/JQlpmRkTHUg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.14.9.tgz?cache=0&sync_timestamp=1627804495811&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-validator-identifier%2Fdownload%2F%40babel%2Fhelper-validator-identifier-7.14.9.tgz} + name: '@babel/helper-validator-identifier' + version: 7.14.9 + engines: {node: '>=6.9.0'} + + registry.nlark.com/@babel/helper-validator-option/7.14.5: + resolution: {integrity: sha1-bnKh//GNXfy4eOHmLxoCHEty1aM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@babel/helper-validator-option/download/@babel/helper-validator-option-7.14.5.tgz} + name: '@babel/helper-validator-option' + version: 7.14.5 + engines: {node: '>=6.9.0'} + dev: true + + registry.nlark.com/@babel/helpers/7.15.3: + resolution: {integrity: sha1-yWg4t1K5Xc1SW050HtQLsdwqE1c=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@babel/helpers/download/@babel/helpers-7.15.3.tgz} + name: '@babel/helpers' + version: 7.15.3 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': registry.nlark.com/@babel/template/7.14.5 + '@babel/traverse': registry.nlark.com/@babel/traverse/7.15.0 + '@babel/types': registry.nlark.com/@babel/types/7.15.0 + dev: true + + registry.nlark.com/@babel/highlight/7.14.5: + resolution: {integrity: sha1-aGGlLwOWZAUAH2qlNKAaJNmejNk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@babel/highlight/download/@babel/highlight-7.14.5.tgz} + name: '@babel/highlight' + version: 7.14.5 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': registry.nlark.com/@babel/helper-validator-identifier/7.14.9 + chalk: registry.nlark.com/chalk/2.4.2 + js-tokens: registry.nlark.com/js-tokens/4.0.0 + dev: true + + registry.nlark.com/@babel/parser/7.15.3: + resolution: {integrity: sha1-NBbZvqdIBSz8tj28wnNoEFse2GI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@babel/parser/download/@babel/parser-7.15.3.tgz?cache=0&sync_timestamp=1628668929918&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fparser%2Fdownload%2F%40babel%2Fparser-7.15.3.tgz} + name: '@babel/parser' + version: 7.15.3 + engines: {node: '>=6.0.0'} + hasBin: true + + registry.nlark.com/@babel/runtime-corejs3/7.15.3: + resolution: {integrity: sha1-KHVCY5iBmPKpKMCXM63i+00oCJ0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@babel/runtime-corejs3/download/@babel/runtime-corejs3-7.15.3.tgz} + name: '@babel/runtime-corejs3' + version: 7.15.3 + engines: {node: '>=6.9.0'} + dependencies: + core-js-pure: registry.nlark.com/core-js-pure/3.16.3 + regenerator-runtime: registry.nlark.com/regenerator-runtime/0.13.9 + dev: true + + registry.nlark.com/@babel/template/7.14.5: + resolution: {integrity: sha1-qbydizM1T/blWpxg0RCSAKaJdPQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@babel/template/download/@babel/template-7.14.5.tgz} + name: '@babel/template' + version: 7.14.5 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': registry.nlark.com/@babel/code-frame/7.14.5 + '@babel/parser': registry.nlark.com/@babel/parser/7.15.3 + '@babel/types': registry.nlark.com/@babel/types/7.15.0 + dev: true + + registry.nlark.com/@babel/traverse/7.15.0: + resolution: {integrity: sha1-TMqDj9GyoDKDwfOOFB9jnWCz/Jg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@babel/traverse/download/@babel/traverse-7.15.0.tgz} + name: '@babel/traverse' + version: 7.15.0 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': registry.nlark.com/@babel/code-frame/7.14.5 + '@babel/generator': registry.nlark.com/@babel/generator/7.15.0 + '@babel/helper-function-name': registry.nlark.com/@babel/helper-function-name/7.14.5 + '@babel/helper-hoist-variables': registry.nlark.com/@babel/helper-hoist-variables/7.14.5 + '@babel/helper-split-export-declaration': registry.nlark.com/@babel/helper-split-export-declaration/7.14.5 + '@babel/parser': registry.nlark.com/@babel/parser/7.15.3 + '@babel/types': registry.nlark.com/@babel/types/7.15.0 + debug: registry.nlark.com/debug/4.3.2 + globals: registry.nlark.com/globals/11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + + registry.nlark.com/@babel/types/7.15.0: + resolution: {integrity: sha1-Ya8R8ihsTpxpyo3rX0N1pzxy3L0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@babel/types/download/@babel/types-7.15.0.tgz} + name: '@babel/types' + version: 7.15.0 + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': registry.nlark.com/@babel/helper-validator-identifier/7.14.9 + to-fast-properties: registry.nlark.com/to-fast-properties/2.0.0 + + registry.nlark.com/@element-plus/icons/0.0.11: + resolution: {integrity: sha1-mxh8ACd0VIuRGFDRf6X8L5pRX1c=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@element-plus/icons/download/@element-plus/icons-0.0.11.tgz} + name: '@element-plus/icons' + version: 0.0.11 + dev: false + + registry.nlark.com/@eslint/eslintrc/0.4.3: + resolution: {integrity: sha1-nkKYHvA1vrPdSa3ResuW6P9vOUw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@eslint/eslintrc/download/@eslint/eslintrc-0.4.3.tgz} + name: '@eslint/eslintrc' + version: 0.4.3 + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + ajv: registry.nlark.com/ajv/6.12.6 + debug: registry.nlark.com/debug/4.3.2 + espree: registry.nlark.com/espree/7.3.1 + globals: registry.nlark.com/globals/13.11.0 + ignore: 4.0.6 + import-fresh: 3.3.0 + js-yaml: 3.14.1 + minimatch: 3.0.4 + strip-json-comments: registry.nlark.com/strip-json-comments/3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + registry.nlark.com/@humanwhocodes/config-array/0.5.0: + resolution: {integrity: sha1-FAeWfUxu7Nc4j4Os8er00Mbljvk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@humanwhocodes/config-array/download/@humanwhocodes/config-array-0.5.0.tgz} + name: '@humanwhocodes/config-array' + version: 0.5.0 + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': registry.nlark.com/@humanwhocodes/object-schema/1.2.0 + debug: registry.nlark.com/debug/4.3.2 + minimatch: 3.0.4 + transitivePeerDependencies: + - supports-color + dev: true + + registry.nlark.com/@humanwhocodes/object-schema/1.2.0: + resolution: {integrity: sha1-h956+cIxgm/daKxyWPd8Qp4OX88=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@humanwhocodes/object-schema/download/@humanwhocodes/object-schema-1.2.0.tgz} + name: '@humanwhocodes/object-schema' + version: 1.2.0 + dev: true + + registry.nlark.com/@nodelib/fs.scandir/2.1.5: + resolution: {integrity: sha1-dhnC6yGyVIP20WdUi0z9WnSIw9U=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@nodelib/fs.scandir/download/@nodelib/fs.scandir-2.1.5.tgz} + name: '@nodelib/fs.scandir' + version: 2.1.5 + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': registry.nlark.com/@nodelib/fs.stat/2.0.5 + run-parallel: 1.2.0 + dev: true + + registry.nlark.com/@nodelib/fs.stat/2.0.5: + resolution: {integrity: sha1-W9Jir5Tp0lvR5xsF3u1Eh2oiLos=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@nodelib/fs.stat/download/@nodelib/fs.stat-2.0.5.tgz} + name: '@nodelib/fs.stat' + version: 2.0.5 + engines: {node: '>= 8'} + dev: true + + registry.nlark.com/@nodelib/fs.walk/1.2.8: + resolution: {integrity: sha1-6Vc36LtnRt3t9pxVaVNJTxlv5po=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@nodelib/fs.walk/download/@nodelib/fs.walk-1.2.8.tgz?cache=0&sync_timestamp=1625770194804&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40nodelib%2Ffs.walk%2Fdownload%2F%40nodelib%2Ffs.walk-1.2.8.tgz} + name: '@nodelib/fs.walk' + version: 1.2.8 + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': registry.nlark.com/@nodelib/fs.scandir/2.1.5 + fastq: registry.nlark.com/fastq/1.12.0 + dev: true + + registry.nlark.com/@popperjs/core/2.9.3: + resolution: {integrity: sha1-i2jaHr1/xgOZnPbr7jSkiZoUuI4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@popperjs/core/download/@popperjs/core-2.9.3.tgz} + name: '@popperjs/core' + version: 2.9.3 + dev: false + + registry.nlark.com/@rollup/plugin-node-resolve/13.0.4: + resolution: {integrity: sha1-sQIi9BRaAZdArLdzhAITDYSGYMA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@rollup/plugin-node-resolve/download/@rollup/plugin-node-resolve-13.0.4.tgz} + name: '@rollup/plugin-node-resolve' + version: 13.0.4 + engines: {node: '>= 10.0.0'} + peerDependencies: + rollup: ^2.42.0 + dependencies: + '@rollup/pluginutils': registry.nlark.com/@rollup/pluginutils/3.1.0 + '@types/resolve': registry.nlark.com/@types/resolve/1.17.1 + builtin-modules: 3.2.0 + deepmerge: 4.2.2 + is-module: 1.0.0 + resolve: 1.20.0 + dev: true + + registry.nlark.com/@rollup/pluginutils/3.1.0: + resolution: {integrity: sha1-cGtFJO5tyLEDs8mVUz5a1oDAK5s=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@rollup/pluginutils/download/@rollup/pluginutils-3.1.0.tgz} + name: '@rollup/pluginutils' + version: 3.1.0 + engines: {node: '>= 8.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0 + dependencies: + '@types/estree': registry.nlark.com/@types/estree/0.0.39 + estree-walker: 1.0.1 + picomatch: registry.nlark.com/picomatch/2.3.0 + dev: true + + registry.nlark.com/@rollup/pluginutils/4.1.1: + resolution: {integrity: sha1-HU2obdTt7RVlalfZM/2iuaCNR+w=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@rollup/pluginutils/download/@rollup/pluginutils-4.1.1.tgz} + name: '@rollup/pluginutils' + version: 4.1.1 + engines: {node: '>= 8.0.0'} + dependencies: + estree-walker: 2.0.2 + picomatch: registry.nlark.com/picomatch/2.3.0 + dev: true + + registry.nlark.com/@tinymce/tinymce-vue/4.0.4_vue@3.2.6: + resolution: {integrity: sha1-tHk08tHhBqya9/qboDFqjJbtMUw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@tinymce/tinymce-vue/download/@tinymce/tinymce-vue-4.0.4.tgz} + id: registry.nlark.com/@tinymce/tinymce-vue/4.0.4 + name: '@tinymce/tinymce-vue' + version: 4.0.4 + peerDependencies: + vue: ^3.0.0 + dependencies: + vue: registry.nlark.com/vue/3.2.6 + dev: false + + registry.nlark.com/@trysound/sax/0.1.1: + resolution: {integrity: sha1-M0hWQEjnotc5jJNdRmwEFOu2pmk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@trysound/sax/download/@trysound/sax-0.1.1.tgz} + name: '@trysound/sax' + version: 0.1.1 + engines: {node: '>=10.13.0'} + dev: true + + registry.nlark.com/@types/estree/0.0.39: + resolution: {integrity: sha1-4Xfmme4bjCLSMXTKqnQiZEOJUJ8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@types/estree/download/@types/estree-0.0.39.tgz} + name: '@types/estree' + version: 0.0.39 + dev: true + + registry.nlark.com/@types/estree/0.0.48: + resolution: {integrity: sha1-GNyAkbKF35DbLyWqfZBs/DlLf3Q=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@types/estree/download/@types/estree-0.0.48.tgz} + name: '@types/estree' + version: 0.0.48 + dev: true + + registry.nlark.com/@types/fined/1.1.3: + resolution: {integrity: sha1-g/A+jwqNNnPfyvsY/ONXH2JQ4bw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@types/fined/download/@types/fined-1.1.3.tgz} + name: '@types/fined' + version: 1.1.3 + dev: true + + registry.nlark.com/@types/glob/7.1.4: + resolution: {integrity: sha1-6lniHS7lxReRTLS8jkFTuZ5WZnI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@types/glob/download/@types/glob-7.1.4.tgz} + name: '@types/glob' + version: 7.1.4 + dependencies: + '@types/minimatch': registry.nlark.com/@types/minimatch/3.0.5 + '@types/node': registry.nlark.com/@types/node/16.7.2 + dev: true + + registry.nlark.com/@types/inquirer/6.5.0: + resolution: {integrity: sha1-uDsL8wuIuL5yRtQOUdMv6dEOCb4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@types/inquirer/download/@types/inquirer-6.5.0.tgz} + name: '@types/inquirer' + version: 6.5.0 + dependencies: + '@types/through': registry.nlark.com/@types/through/0.0.30 + rxjs: registry.nlark.com/rxjs/6.6.7 + dev: true + + registry.nlark.com/@types/interpret/1.1.1: + resolution: {integrity: sha1-sb+FsEIOJBS5ic4jdlitINwDcZs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@types/interpret/download/@types/interpret-1.1.1.tgz} + name: '@types/interpret' + version: 1.1.1 + dependencies: + '@types/node': registry.nlark.com/@types/node/16.7.2 + dev: true + + registry.nlark.com/@types/liftoff/2.5.1: + resolution: {integrity: sha1-LrTB+G6dXuhVceVtsAhLJq8SnO0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@types/liftoff/download/@types/liftoff-2.5.1.tgz} + name: '@types/liftoff' + version: 2.5.1 + dependencies: + '@types/fined': registry.nlark.com/@types/fined/1.1.3 + '@types/interpret': registry.nlark.com/@types/interpret/1.1.1 + '@types/node': registry.nlark.com/@types/node/16.7.2 + dev: true + + registry.nlark.com/@types/mdast/3.0.10: + resolution: {integrity: sha1-RyQkSoKkWYiEy76bz9c9/5J+6K8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@types/mdast/download/@types/mdast-3.0.10.tgz} + name: '@types/mdast' + version: 3.0.10 + dependencies: + '@types/unist': registry.nlark.com/@types/unist/2.0.6 + dev: true + + registry.nlark.com/@types/minimatch/3.0.5: + resolution: {integrity: sha1-EAHMXmo3BLg8I2An538vWOoBD0A=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@types/minimatch/download/@types/minimatch-3.0.5.tgz?cache=0&sync_timestamp=1629710021422&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fminimatch%2Fdownload%2F%40types%2Fminimatch-3.0.5.tgz} + name: '@types/minimatch' + version: 3.0.5 + dev: true + + registry.nlark.com/@types/minimist/1.2.2: + resolution: {integrity: sha1-7nceK6Sz3Fs3KTXVSf2WF780W4w=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@types/minimist/download/@types/minimist-1.2.2.tgz?cache=0&sync_timestamp=1629710027998&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fminimist%2Fdownload%2F%40types%2Fminimist-1.2.2.tgz} + name: '@types/minimist' + version: 1.2.2 + dev: true + + registry.nlark.com/@types/mockjs/1.0.4: + resolution: {integrity: sha1-5waVHV4ztPCku3Ox+LEk4m8IHeA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@types/mockjs/download/@types/mockjs-1.0.4.tgz} + name: '@types/mockjs' + version: 1.0.4 + dev: true + + registry.nlark.com/@types/node/16.7.2: + resolution: {integrity: sha1-BGWjm1RWthoE2YvVVF+LNL40DLc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@types/node/download/@types/node-16.7.2.tgz?cache=0&sync_timestamp=1629940857634&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-16.7.2.tgz} + name: '@types/node' + version: 16.7.2 + dev: true + + registry.nlark.com/@types/normalize-package-data/2.4.1: + resolution: {integrity: sha1-0zV0eaD9/dWQf+Z+F+CoXJBuEwE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@types/normalize-package-data/download/@types/normalize-package-data-2.4.1.tgz?cache=0&sync_timestamp=1629710096135&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fnormalize-package-data%2Fdownload%2F%40types%2Fnormalize-package-data-2.4.1.tgz} + name: '@types/normalize-package-data' + version: 2.4.1 + dev: true + + registry.nlark.com/@types/parse-json/4.0.0: + resolution: {integrity: sha1-L4u0QUNNFjs1+4/9zNcTiSf/uMA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@types/parse-json/download/@types/parse-json-4.0.0.tgz?cache=0&sync_timestamp=1629709273211&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fparse-json%2Fdownload%2F%40types%2Fparse-json-4.0.0.tgz} + name: '@types/parse-json' + version: 4.0.0 + dev: true + + registry.nlark.com/@types/resolve/1.17.1: + resolution: {integrity: sha1-Ov1q2JZ8d+Q3bFmKgt3Vj0bsRdY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@types/resolve/download/@types/resolve-1.17.1.tgz} + name: '@types/resolve' + version: 1.17.1 + dependencies: + '@types/node': registry.nlark.com/@types/node/16.7.2 + dev: true + + registry.nlark.com/@types/svgo/2.4.0: + resolution: {integrity: sha1-0EIeD1Y81HJvqCYQZvFtOZ5mWy4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@types/svgo/download/@types/svgo-2.4.0.tgz} + name: '@types/svgo' + version: 2.4.0 + dev: true + + registry.nlark.com/@types/through/0.0.30: + resolution: {integrity: sha1-4OQs536Je9aurW9upirrE1uKOJU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@types/through/download/@types/through-0.0.30.tgz?cache=0&sync_timestamp=1629710122580&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fthrough%2Fdownload%2F%40types%2Fthrough-0.0.30.tgz} + name: '@types/through' + version: 0.0.30 + dependencies: + '@types/node': registry.nlark.com/@types/node/16.7.2 + dev: true + + registry.nlark.com/@types/trusted-types/2.0.2: + resolution: {integrity: sha1-/CWtmUO8rBHM64Fo208nXg5y51Y=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@types/trusted-types/download/@types/trusted-types-2.0.2.tgz} + name: '@types/trusted-types' + version: 2.0.2 + dev: true + + registry.nlark.com/@types/unist/2.0.6: + resolution: {integrity: sha1-JQp7FsO5H2cqJFUuxkZ47rHToI0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@types/unist/download/@types/unist-2.0.6.tgz?cache=0&sync_timestamp=1629710137034&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Funist%2Fdownload%2F%40types%2Funist-2.0.6.tgz} + name: '@types/unist' + version: 2.0.6 + dev: true + + registry.nlark.com/@vitejs/plugin-vue/1.6.0_@vue+compiler-sfc@3.2.6: + resolution: {integrity: sha1-5VWOIMIOkJjNW9ZbmQH9zSw1SYM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@vitejs/plugin-vue/download/@vitejs/plugin-vue-1.6.0.tgz} + id: registry.nlark.com/@vitejs/plugin-vue/1.6.0 + name: '@vitejs/plugin-vue' + version: 1.6.0 + engines: {node: '>=12.0.0'} + peerDependencies: + '@vue/compiler-sfc': ^3.2.6 + dependencies: + '@vue/compiler-sfc': registry.nlark.com/@vue/compiler-sfc/3.2.6 + dev: true + + registry.nlark.com/@vue/compiler-core/3.2.6: + resolution: {integrity: sha1-cWK7BnAnPwRWavDTUwCRh6tXeRU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@vue/compiler-core/download/@vue/compiler-core-3.2.6.tgz} + name: '@vue/compiler-core' + version: 3.2.6 + dependencies: + '@babel/parser': registry.nlark.com/@babel/parser/7.15.3 + '@babel/types': registry.nlark.com/@babel/types/7.15.0 + '@vue/shared': registry.nlark.com/@vue/shared/3.2.6 + estree-walker: 2.0.2 + source-map: 0.6.1 + + registry.nlark.com/@vue/compiler-dom/3.2.6: + resolution: {integrity: sha1-N2TX/hppbjn7KjydY42gdJ42my0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@vue/compiler-dom/download/@vue/compiler-dom-3.2.6.tgz} + name: '@vue/compiler-dom' + version: 3.2.6 + dependencies: + '@vue/compiler-core': registry.nlark.com/@vue/compiler-core/3.2.6 + '@vue/shared': registry.nlark.com/@vue/shared/3.2.6 + + registry.nlark.com/@vue/compiler-sfc/3.2.6: + resolution: {integrity: sha1-1qt0EM/1cIGrYnsVoepRoQcsfPE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@vue/compiler-sfc/download/@vue/compiler-sfc-3.2.6.tgz} + name: '@vue/compiler-sfc' + version: 3.2.6 + dependencies: + '@babel/parser': registry.nlark.com/@babel/parser/7.15.3 + '@babel/types': registry.nlark.com/@babel/types/7.15.0 + '@types/estree': registry.nlark.com/@types/estree/0.0.48 + '@vue/compiler-core': registry.nlark.com/@vue/compiler-core/3.2.6 + '@vue/compiler-dom': registry.nlark.com/@vue/compiler-dom/3.2.6 + '@vue/compiler-ssr': registry.nlark.com/@vue/compiler-ssr/3.2.6 + '@vue/ref-transform': registry.nlark.com/@vue/ref-transform/3.2.6 + '@vue/shared': registry.nlark.com/@vue/shared/3.2.6 + consolidate: 0.16.0 + estree-walker: 2.0.2 + hash-sum: 2.0.0 + lru-cache: 5.1.1 + magic-string: registry.nlark.com/magic-string/0.25.7 + merge-source-map: 1.1.0 + postcss: registry.nlark.com/postcss/8.3.6 + postcss-modules: registry.nlark.com/postcss-modules/4.2.2_postcss@8.3.6 + postcss-selector-parser: registry.nlark.com/postcss-selector-parser/6.0.6 + source-map: 0.6.1 + dev: true + + registry.nlark.com/@vue/compiler-ssr/3.2.6: + resolution: {integrity: sha1-ytzxmYWfoAc59CdbTIWXDksKvn0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@vue/compiler-ssr/download/@vue/compiler-ssr-3.2.6.tgz} + name: '@vue/compiler-ssr' + version: 3.2.6 + dependencies: + '@vue/compiler-dom': registry.nlark.com/@vue/compiler-dom/3.2.6 + '@vue/shared': registry.nlark.com/@vue/shared/3.2.6 + dev: true + + registry.nlark.com/@vue/devtools-api/6.0.0-beta.15: + resolution: {integrity: sha1-rXyzhOBi8WW8+cg3MhJb/7wq2D0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@vue/devtools-api/download/@vue/devtools-api-6.0.0-beta.15.tgz} + name: '@vue/devtools-api' + version: 6.0.0-beta.15 + dev: false + + registry.nlark.com/@vue/reactivity/3.2.6: + resolution: {integrity: sha1-uJk/pvSFRReOWI4lqclDGhwbfVA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@vue/reactivity/download/@vue/reactivity-3.2.6.tgz} + name: '@vue/reactivity' + version: 3.2.6 + dependencies: + '@vue/shared': registry.nlark.com/@vue/shared/3.2.6 + dev: false + + registry.nlark.com/@vue/ref-transform/3.2.6: + resolution: {integrity: sha1-MLXx+nfa+YlLwj5qWg41hqSnlrg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@vue/ref-transform/download/@vue/ref-transform-3.2.6.tgz} + name: '@vue/ref-transform' + version: 3.2.6 + dependencies: + '@babel/parser': registry.nlark.com/@babel/parser/7.15.3 + '@vue/compiler-core': registry.nlark.com/@vue/compiler-core/3.2.6 + '@vue/shared': registry.nlark.com/@vue/shared/3.2.6 + estree-walker: 2.0.2 + magic-string: registry.nlark.com/magic-string/0.25.7 + dev: true + + registry.nlark.com/@vue/runtime-core/3.2.6: + resolution: {integrity: sha1-N2uu73/gKmI3fUbQ0KirlRDbHY4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@vue/runtime-core/download/@vue/runtime-core-3.2.6.tgz} + name: '@vue/runtime-core' + version: 3.2.6 + dependencies: + '@vue/reactivity': registry.nlark.com/@vue/reactivity/3.2.6 + '@vue/shared': registry.nlark.com/@vue/shared/3.2.6 + dev: false + + registry.nlark.com/@vue/runtime-dom/3.2.6: + resolution: {integrity: sha1-D3TbyoTVbCIvv71TQVsmA4aFmjs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@vue/runtime-dom/download/@vue/runtime-dom-3.2.6.tgz} + name: '@vue/runtime-dom' + version: 3.2.6 + dependencies: + '@vue/runtime-core': registry.nlark.com/@vue/runtime-core/3.2.6 + '@vue/shared': registry.nlark.com/@vue/shared/3.2.6 + csstype: registry.nlark.com/csstype/2.6.17 + dev: false + + registry.nlark.com/@vue/shared/3.2.6: + resolution: {integrity: sha1-LCK66I/it7WfpoqcnEzWC64sF5Q=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@vue/shared/download/@vue/shared-3.2.6.tgz} + name: '@vue/shared' + version: 3.2.6 + + registry.nlark.com/acorn-jsx/5.3.2_acorn@7.4.1: + resolution: {integrity: sha1-ftW7VZCLOy8bxVxq8WU7rafweTc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/acorn-jsx/download/acorn-jsx-5.3.2.tgz} + id: registry.nlark.com/acorn-jsx/5.3.2 + name: acorn-jsx + version: 5.3.2 + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: registry.nlark.com/acorn/7.4.1 + dev: true + + registry.nlark.com/acorn/7.4.1: + resolution: {integrity: sha1-/q7SVZc9LndVW4PbwIhRpsY1IPo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/acorn/download/acorn-7.4.1.tgz?cache=0&sync_timestamp=1624527466084&other_urls=https%3A%2F%2Fregistry.nlark.com%2Facorn%2Fdownload%2Facorn-7.4.1.tgz} + name: acorn + version: 7.4.1 + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + registry.nlark.com/ajv/6.12.6: + resolution: {integrity: sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ajv/download/ajv-6.12.6.tgz} + name: ajv + version: 6.12.6 + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + dev: true + + registry.nlark.com/ajv/8.6.2: + resolution: {integrity: sha1-L7ReDl/LwIEzJsHD2lNdGIG7BXE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ajv/download/ajv-8.6.2.tgz} + name: ajv + version: 8.6.2 + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + dev: true + + registry.nlark.com/ansi-styles/2.2.1: + resolution: {integrity: sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ansi-styles/download/ansi-styles-2.2.1.tgz?cache=0&sync_timestamp=1618996996398&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-styles%2Fdownload%2Fansi-styles-2.2.1.tgz} + name: ansi-styles + version: 2.2.1 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/ansi-styles/3.2.1: + resolution: {integrity: sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1618996996398&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz} + name: ansi-styles + version: 3.2.1 + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + dev: true + + registry.nlark.com/ansi-styles/4.3.0: + resolution: {integrity: sha1-7dgDYornHATIWuegkG7a00tkiTc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1618996996398&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz} + name: ansi-styles + version: 4.3.0 + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: true + + registry.nlark.com/array-each/1.0.1: + resolution: {integrity: sha1-p5SvDAWrF1KEbudTofIRoFugxE8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/array-each/download/array-each-1.0.1.tgz} + name: array-each + version: 1.0.1 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/arrify/1.0.1: + resolution: {integrity: sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/arrify/download/arrify-1.0.1.tgz} + name: arrify + version: 1.0.1 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/async-validator/3.5.2: + resolution: {integrity: sha1-aOhmqWgk6LJpT/eoMcGiXETV5QA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/async-validator/download/async-validator-3.5.2.tgz} + name: async-validator + version: 3.5.2 + dev: false + + registry.nlark.com/async/0.9.2: + resolution: {integrity: sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/async/download/async-0.9.2.tgz} + name: async + version: 0.9.2 + dev: true + + registry.nlark.com/async/2.6.3: + resolution: {integrity: sha1-1yYl4jRKNlbjo61Pp0n6gymdgv8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/async/download/async-2.6.3.tgz} + name: async + version: 2.6.3 + dependencies: + lodash: 4.17.21 + dev: true + + registry.nlark.com/autoprefixer/9.8.6: + resolution: {integrity: sha1-O3NZTKG/kmYyDFrPFYjXTep0IQ8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/autoprefixer/download/autoprefixer-9.8.6.tgz} + name: autoprefixer + version: 9.8.6 + hasBin: true + dependencies: + browserslist: registry.nlark.com/browserslist/4.16.8 + caniuse-lite: registry.nlark.com/caniuse-lite/1.0.30001252 + colorette: registry.nlark.com/colorette/1.3.0 + normalize-range: 0.1.2 + num2fraction: 1.2.2 + postcss: registry.nlark.com/postcss/7.0.36 + postcss-value-parser: 4.1.0 + dev: true + + registry.nlark.com/bail/1.0.5: + resolution: {integrity: sha1-tvoTNASjksvB+MS/Y/WVM1Hnp3Y=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/bail/download/bail-1.0.5.tgz} + name: bail + version: 1.0.5 + dev: true + + registry.nlark.com/big.js/5.2.2: + resolution: {integrity: sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/big.js/download/big.js-5.2.2.tgz} + name: big.js + version: 5.2.2 + dev: true + + registry.nlark.com/bin-pack/1.0.2: + resolution: {integrity: sha1-wqAU7b8L7XCjKSBi7UZXe5YSBnk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/bin-pack/download/bin-pack-1.0.2.tgz} + name: bin-pack + version: 1.0.2 + dev: true + + registry.nlark.com/browserslist/4.16.8: + resolution: {integrity: sha1-y4aLC1VPE3um4z3g7P8u2kA8T7A=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/browserslist/download/browserslist-4.16.8.tgz} + name: browserslist + version: 4.16.8 + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: registry.nlark.com/caniuse-lite/1.0.30001252 + colorette: registry.nlark.com/colorette/1.3.0 + electron-to-chromium: registry.nlark.com/electron-to-chromium/1.3.818 + escalade: 3.1.1 + node-releases: registry.nlark.com/node-releases/1.1.75 + dev: true + + registry.nlark.com/buffer-from/1.1.2: + resolution: {integrity: sha1-KxRqb9cugLT1XSVfNe1Zo6mkG9U=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/buffer-from/download/buffer-from-1.1.2.tgz} + name: buffer-from + version: 1.1.2 + dev: true + + registry.nlark.com/callsites/3.1.0: + resolution: {integrity: sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/callsites/download/callsites-3.1.0.tgz} + name: callsites + version: 3.1.0 + engines: {node: '>=6'} + dev: true + + registry.nlark.com/camelcase-keys/6.2.2: + resolution: {integrity: sha1-XnVda6UaoiPsfT1S8ld4IQ+dw8A=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/camelcase-keys/download/camelcase-keys-6.2.2.tgz} + name: camelcase-keys + version: 6.2.2 + engines: {node: '>=8'} + dependencies: + camelcase: 5.3.1 + map-obj: 4.2.1 + quick-lru: registry.nlark.com/quick-lru/4.0.1 + dev: true + + registry.nlark.com/caniuse-lite/1.0.30001252: + resolution: {integrity: sha1-yxbk49r+lI/EqbszB66gVLkSAZo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/caniuse-lite/download/caniuse-lite-1.0.30001252.tgz} + name: caniuse-lite + version: 1.0.30001252 + dev: true + + registry.nlark.com/chalk/1.1.3: + resolution: {integrity: sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/chalk/download/chalk-1.1.3.tgz?cache=0&sync_timestamp=1627650698357&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-1.1.3.tgz} + name: chalk + version: 1.1.3 + engines: {node: '>=0.10.0'} + dependencies: + ansi-styles: registry.nlark.com/ansi-styles/2.2.1 + escape-string-regexp: 1.0.5 + has-ansi: 2.0.0 + strip-ansi: 3.0.1 + supports-color: registry.nlark.com/supports-color/2.0.0 + dev: true + + registry.nlark.com/chalk/2.4.2: + resolution: {integrity: sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1627650698357&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz} + name: chalk + version: 2.4.2 + engines: {node: '>=4'} + dependencies: + ansi-styles: registry.nlark.com/ansi-styles/3.2.1 + escape-string-regexp: 1.0.5 + supports-color: registry.nlark.com/supports-color/5.5.0 + dev: true + + registry.nlark.com/chalk/4.1.2: + resolution: {integrity: sha1-qsTit3NKdAhnrrFr8CqtVWoeegE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/chalk/download/chalk-4.1.2.tgz?cache=0&sync_timestamp=1627650698357&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-4.1.2.tgz} + name: chalk + version: 4.1.2 + engines: {node: '>=10'} + dependencies: + ansi-styles: registry.nlark.com/ansi-styles/4.3.0 + supports-color: registry.nlark.com/supports-color/7.2.0 + dev: true + + registry.nlark.com/chokidar/3.5.2: + resolution: {integrity: sha1-26OXb8rbAW9m/TZQIdkWANAcHnU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/chokidar/download/chokidar-3.5.2.tgz?cache=0&sync_timestamp=1623763736136&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchokidar%2Fdownload%2Fchokidar-3.5.2.tgz} + name: chokidar + version: 3.5.2 + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.2 + braces: 3.0.2 + glob-parent: registry.nlark.com/glob-parent/5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.1 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.2 + dev: true + + registry.nlark.com/clean-css/4.2.3: + resolution: {integrity: sha1-UHtd59l7SO5T2ErbAWD/YhY4D3g=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/clean-css/download/clean-css-4.2.3.tgz} + name: clean-css + version: 4.2.3 + engines: {node: '>= 4.0'} + dependencies: + source-map: 0.6.1 + dev: true + + registry.nlark.com/clean-stack/2.2.0: + resolution: {integrity: sha1-7oRy27Ep5yezHooQpCfe6d/kAIs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/clean-stack/download/clean-stack-2.2.0.tgz} + name: clean-stack + version: 2.2.0 + engines: {node: '>=6'} + dev: true + + registry.nlark.com/cli-cursor/2.1.0: + resolution: {integrity: sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/cli-cursor/download/cli-cursor-2.1.0.tgz} + name: cli-cursor + version: 2.1.0 + engines: {node: '>=4'} + dependencies: + restore-cursor: registry.nlark.com/restore-cursor/2.0.0 + dev: true + + registry.nlark.com/cli-cursor/3.1.0: + resolution: {integrity: sha1-JkMFp65JDR0Dvwybp8kl0XU68wc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/cli-cursor/download/cli-cursor-3.1.0.tgz} + name: cli-cursor + version: 3.1.0 + engines: {node: '>=8'} + dependencies: + restore-cursor: registry.nlark.com/restore-cursor/3.1.0 + dev: true + + registry.nlark.com/cli-truncate/2.1.0: + resolution: {integrity: sha1-w54ovwXtzeW+O5iZKiLe7Vork8c=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/cli-truncate/download/cli-truncate-2.1.0.tgz} + name: cli-truncate + version: 2.1.0 + engines: {node: '>=8'} + dependencies: + slice-ansi: 3.0.0 + string-width: 4.2.2 + dev: true + + registry.nlark.com/colorette/1.3.0: + resolution: {integrity: sha1-/0XS8O2yRAadO3cq3rBP7TjQoK8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/colorette/download/colorette-1.3.0.tgz?cache=0&sync_timestamp=1628605216202&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcolorette%2Fdownload%2Fcolorette-1.3.0.tgz} + name: colorette + version: 1.3.0 + dev: true + + registry.nlark.com/commander/2.20.3: + resolution: {integrity: sha1-/UhehMA+tIgcIHIrpIA16FMa6zM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/commander/download/commander-2.20.3.tgz?cache=0&sync_timestamp=1627363990355&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcommander%2Fdownload%2Fcommander-2.20.3.tgz} + name: commander + version: 2.20.3 + dev: true + + registry.nlark.com/commander/4.1.1: + resolution: {integrity: sha1-n9YCvZNilOnp70aj9NaWQESxgGg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/commander/download/commander-4.1.1.tgz?cache=0&sync_timestamp=1627363990355&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcommander%2Fdownload%2Fcommander-4.1.1.tgz} + name: commander + version: 4.1.1 + engines: {node: '>= 6'} + dev: true + + registry.nlark.com/commander/7.2.0: + resolution: {integrity: sha1-o2y1fQtQHOEI5NIFWaFQo5HZerc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/commander/download/commander-7.2.0.tgz?cache=0&sync_timestamp=1627363990355&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcommander%2Fdownload%2Fcommander-7.2.0.tgz} + name: commander + version: 7.2.0 + engines: {node: '>= 10'} + dev: true + + registry.nlark.com/commander/8.1.0: + resolution: {integrity: sha1-2zbj5m7fJP9ZHWOYYsarLFJmQ2I=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/commander/download/commander-8.1.0.tgz?cache=0&sync_timestamp=1627363990355&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcommander%2Fdownload%2Fcommander-8.1.0.tgz} + name: commander + version: 8.1.0 + engines: {node: '>= 12'} + dev: false + + registry.nlark.com/contentstream/1.0.0: + resolution: {integrity: sha1-C9z6RtowRkqGzo+n7OVlQQ3G+aU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/contentstream/download/contentstream-1.0.0.tgz} + name: contentstream + version: 1.0.0 + engines: {node: '>= 0.8.0'} + dependencies: + readable-stream: 1.0.34 + dev: true + + registry.nlark.com/convert-source-map/1.8.0: + resolution: {integrity: sha1-8zc8MtIbTXgN2ABFFGhPt5HKQ2k=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/convert-source-map/download/convert-source-map-1.8.0.tgz} + name: convert-source-map + version: 1.8.0 + dependencies: + safe-buffer: 5.1.2 + dev: true + + registry.nlark.com/core-js-pure/3.16.3: + resolution: {integrity: sha1-Qcy5tgJ1NfjdUaCvAEwcfwqMnKc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/core-js-pure/download/core-js-pure-3.16.3.tgz} + name: core-js-pure + version: 3.16.3 + requiresBuild: true + dev: true + + registry.nlark.com/cosmiconfig/7.0.1: + resolution: {integrity: sha1-cU11ZSLKzoZ4Z8y0R0xdAbuuXW0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/cosmiconfig/download/cosmiconfig-7.0.1.tgz} + name: cosmiconfig + version: 7.0.1 + engines: {node: '>=10'} + dependencies: + '@types/parse-json': registry.nlark.com/@types/parse-json/4.0.0 + import-fresh: 3.3.0 + parse-json: 5.2.0 + path-type: 4.0.0 + yaml: registry.nlark.com/yaml/1.10.2 + dev: true + + registry.nlark.com/css-select/4.1.3: + resolution: {integrity: sha1-pwRA9wMX8maRGK10/xBeZYSccGc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/css-select/download/css-select-4.1.3.tgz} + name: css-select + version: 4.1.3 + dependencies: + boolbase: 1.0.0 + css-what: registry.nlark.com/css-what/5.0.1 + domhandler: 4.2.0 + domutils: registry.nlark.com/domutils/2.7.0 + nth-check: 2.0.0 + dev: true + + registry.nlark.com/css-tree/1.1.3: + resolution: {integrity: sha1-60hw+2/XcHMn7JXC/yqwm16NuR0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/css-tree/download/css-tree-1.1.3.tgz} + name: css-tree + version: 1.1.3 + engines: {node: '>=8.0.0'} + dependencies: + mdn-data: registry.nlark.com/mdn-data/2.0.14 + source-map: 0.6.1 + dev: true + + registry.nlark.com/css-what/5.0.1: + resolution: {integrity: sha1-PvqCATH0ZpqKwkCPnDLnx96fTK0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/css-what/download/css-what-5.0.1.tgz} + name: css-what + version: 5.0.1 + engines: {node: '>= 6'} + dev: true + + registry.nlark.com/csstype/2.6.17: + resolution: {integrity: sha1-TPMOuH4dGgBdi2UQ+VKSQT9qHA4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/csstype/download/csstype-2.6.17.tgz?cache=0&sync_timestamp=1618818778879&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcsstype%2Fdownload%2Fcsstype-2.6.17.tgz} + name: csstype + version: 2.6.17 + dev: false + + registry.nlark.com/cwise-compiler/1.1.3: + resolution: {integrity: sha1-9NZnQQ6FDToxOn0tt7HlBbsDTMU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/cwise-compiler/download/cwise-compiler-1.1.3.tgz} + name: cwise-compiler + version: 1.1.3 + dependencies: + uniq: 1.0.1 + dev: true + + registry.nlark.com/data-uri-to-buffer/0.0.3: + resolution: {integrity: sha1-GK6XmmoMqZSwYlhTkW0mYruuCxo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/data-uri-to-buffer/download/data-uri-to-buffer-0.0.3.tgz} + name: data-uri-to-buffer + version: 0.0.3 + dev: true + + registry.nlark.com/dayjs/1.10.6: + resolution: {integrity: sha1-KIsqqC8thBimydTfWJjAc3rQKmM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/dayjs/download/dayjs-1.10.6.tgz} + name: dayjs + version: 1.10.6 + dev: false + + registry.nlark.com/debug/2.6.9: + resolution: {integrity: sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/debug/download/debug-2.6.9.tgz} + name: debug + version: 2.6.9 + dependencies: + ms: registry.nlark.com/ms/2.0.0 + dev: true + + registry.nlark.com/debug/3.2.7: + resolution: {integrity: sha1-clgLfpFF+zm2Z2+cXl+xALk0F5o=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/debug/download/debug-3.2.7.tgz} + name: debug + version: 3.2.7 + dependencies: + ms: registry.nlark.com/ms/2.1.3 + dev: true + + registry.nlark.com/debug/4.3.2: + resolution: {integrity: sha1-8KScGKyHeeMdSgxgKd+3aHPHQos=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/debug/download/debug-4.3.2.tgz} + name: debug + version: 4.3.2 + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: registry.nlark.com/ms/2.1.2 + dev: true + + registry.nlark.com/dom-serializer/0.2.2: + resolution: {integrity: sha1-GvuB9TNxcXXUeGVd68XjMtn5u1E=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/dom-serializer/download/dom-serializer-0.2.2.tgz} + name: dom-serializer + version: 0.2.2 + dependencies: + domelementtype: 2.2.0 + entities: registry.nlark.com/entities/2.2.0 + dev: true + + registry.nlark.com/dom-serializer/1.3.2: + resolution: {integrity: sha1-YgZDfTLO767HFhgDIwx6ILwbTZE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/dom-serializer/download/dom-serializer-1.3.2.tgz} + name: dom-serializer + version: 1.3.2 + dependencies: + domelementtype: 2.2.0 + domhandler: 4.2.0 + entities: registry.nlark.com/entities/2.2.0 + dev: true + + registry.nlark.com/domutils/1.7.0: + resolution: {integrity: sha1-Vuo0HoNOBuZ0ivehyyXaZ+qfjCo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/domutils/download/domutils-1.7.0.tgz} + name: domutils + version: 1.7.0 + dependencies: + dom-serializer: registry.nlark.com/dom-serializer/0.2.2 + domelementtype: 1.3.1 + dev: true + + registry.nlark.com/domutils/2.7.0: + resolution: {integrity: sha1-jrrwxB66/PVbC3LsMcVjI3EsVEI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/domutils/download/domutils-2.7.0.tgz} + name: domutils + version: 2.7.0 + dependencies: + dom-serializer: registry.nlark.com/dom-serializer/1.3.2 + domelementtype: 2.2.0 + domhandler: 4.2.0 + dev: true + + registry.nlark.com/dotenv/10.0.0: + resolution: {integrity: sha1-PUInuPuV+BCWzdK2ZlP7LHCFuoE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/dotenv/download/dotenv-10.0.0.tgz} + name: dotenv + version: 10.0.0 + engines: {node: '>=10'} + dev: true + + registry.nlark.com/ecstatic/3.3.2: + resolution: {integrity: sha1-bR3UmBTQBZRoLGUq22YHamnUbEg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ecstatic/download/ecstatic-3.3.2.tgz} + name: ecstatic + version: 3.3.2 + deprecated: This package is unmaintained and deprecated. See the GH Issue 259. + hasBin: true + dependencies: + he: 1.2.0 + mime: 1.6.0 + minimist: 1.2.5 + url-join: 2.0.5 + dev: true + + registry.nlark.com/electron-to-chromium/1.3.818: + resolution: {integrity: sha1-Mu0CT6gxbl1GnJbuy+p9JGPYAIU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/electron-to-chromium/download/electron-to-chromium-1.3.818.tgz} + name: electron-to-chromium + version: 1.3.818 + dev: true + + registry.nlark.com/element-plus/1.1.0-beta.6_vue@3.2.6: + resolution: {integrity: sha1-ukewmzykNLF8biHMiJNGV9a0L/g=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/element-plus/download/element-plus-1.1.0-beta.6.tgz} + id: registry.nlark.com/element-plus/1.1.0-beta.6 + name: element-plus + version: 1.1.0-beta.6 + peerDependencies: + vue: ^3.2.0 + dependencies: + '@element-plus/icons': registry.nlark.com/@element-plus/icons/0.0.11 + '@popperjs/core': registry.nlark.com/@popperjs/core/2.9.3 + async-validator: registry.nlark.com/async-validator/3.5.2 + dayjs: registry.nlark.com/dayjs/1.10.6 + lodash: 4.17.21 + mitt: registry.nlark.com/mitt/2.1.0 + normalize-wheel: 1.0.1 + resize-observer-polyfill: 1.5.1 + vue: registry.nlark.com/vue/3.2.6 + dev: false + + registry.nlark.com/entities/1.1.2: + resolution: {integrity: sha1-vfpzUplmTfr9NFKe1PhSKidf6lY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/entities/download/entities-1.1.2.tgz} + name: entities + version: 1.1.2 + dev: true + + registry.nlark.com/entities/2.2.0: + resolution: {integrity: sha1-CY3JDruD2N/6CJ1VJWs1HTTE2lU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/entities/download/entities-2.2.0.tgz} + name: entities + version: 2.2.0 + dev: true + + registry.nlark.com/esbuild/0.11.3: + resolution: {integrity: sha1-tXFluQe+T/umUfZFBTjOjYwdXrA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/esbuild/download/esbuild-0.11.3.tgz} + name: esbuild + version: 0.11.3 + hasBin: true + requiresBuild: true + dev: true + + registry.nlark.com/esbuild/0.12.23: + resolution: {integrity: sha1-/UDXDT7F54k9jFvmVePjjQlt2II=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/esbuild/download/esbuild-0.12.23.tgz} + name: esbuild + version: 0.12.23 + hasBin: true + requiresBuild: true + dev: true + + registry.nlark.com/eslint-plugin-vue/7.16.0_eslint@7.32.0: + resolution: {integrity: sha1-f+n+oDmhkLEIMZwTgK31Q+9XcH0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/eslint-plugin-vue/download/eslint-plugin-vue-7.16.0.tgz} + id: registry.nlark.com/eslint-plugin-vue/7.16.0 + name: eslint-plugin-vue + version: 7.16.0 + engines: {node: '>=8.10'} + peerDependencies: + eslint: ^6.2.0 || ^7.0.0 + dependencies: + eslint: registry.nlark.com/eslint/7.32.0 + eslint-utils: registry.nlark.com/eslint-utils/2.1.0 + natural-compare: 1.4.0 + semver: 6.3.0 + vue-eslint-parser: registry.nlark.com/vue-eslint-parser/7.10.0_eslint@7.32.0 + transitivePeerDependencies: + - supports-color + dev: true + + registry.nlark.com/eslint-scope/5.1.1: + resolution: {integrity: sha1-54blmmbLkrP2wfsNUIqrF0hI9Iw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/eslint-scope/download/eslint-scope-5.1.1.tgz} + name: eslint-scope + version: 5.1.1 + engines: {node: '>=8.0.0'} + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + dev: true + + registry.nlark.com/eslint-utils/2.1.0: + resolution: {integrity: sha1-0t5eA0JOcH3BDHQGjd7a5wh0Gyc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/eslint-utils/download/eslint-utils-2.1.0.tgz?cache=0&sync_timestamp=1620977666265&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-utils%2Fdownload%2Feslint-utils-2.1.0.tgz} + name: eslint-utils + version: 2.1.0 + engines: {node: '>=6'} + dependencies: + eslint-visitor-keys: registry.nlark.com/eslint-visitor-keys/1.3.0 + dev: true + + registry.nlark.com/eslint-visitor-keys/1.3.0: + resolution: {integrity: sha1-MOvR73wv3/AcOk8VEESvJfqwUj4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz?cache=0&sync_timestamp=1624579502329&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-visitor-keys%2Fdownload%2Feslint-visitor-keys-1.3.0.tgz} + name: eslint-visitor-keys + version: 1.3.0 + engines: {node: '>=4'} + dev: true + + registry.nlark.com/eslint-visitor-keys/2.1.0: + resolution: {integrity: sha1-9lMoJZMFknOSyTjtROsKXJsr0wM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/eslint-visitor-keys/download/eslint-visitor-keys-2.1.0.tgz?cache=0&sync_timestamp=1624579502329&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-visitor-keys%2Fdownload%2Feslint-visitor-keys-2.1.0.tgz} + name: eslint-visitor-keys + version: 2.1.0 + engines: {node: '>=10'} + dev: true + + registry.nlark.com/eslint/7.32.0: + resolution: {integrity: sha1-xtMooUvj+wjI0dIeEsAv23oqgS0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/eslint/download/eslint-7.32.0.tgz} + name: eslint + version: 7.32.0 + engines: {node: ^10.12.0 || >=12.0.0} + hasBin: true + dependencies: + '@babel/code-frame': registry.nlark.com/@babel/code-frame/7.12.11 + '@eslint/eslintrc': registry.nlark.com/@eslint/eslintrc/0.4.3 + '@humanwhocodes/config-array': registry.nlark.com/@humanwhocodes/config-array/0.5.0 + ajv: registry.nlark.com/ajv/6.12.6 + chalk: registry.nlark.com/chalk/4.1.2 + cross-spawn: 7.0.3 + debug: registry.nlark.com/debug/4.3.2 + doctrine: 3.0.0 + enquirer: 2.3.6 + escape-string-regexp: 4.0.0 + eslint-scope: registry.nlark.com/eslint-scope/5.1.1 + eslint-utils: registry.nlark.com/eslint-utils/2.1.0 + eslint-visitor-keys: registry.nlark.com/eslint-visitor-keys/2.1.0 + espree: registry.nlark.com/espree/7.3.1 + esquery: 1.4.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + functional-red-black-tree: 1.0.1 + glob-parent: registry.nlark.com/glob-parent/5.1.2 + globals: registry.nlark.com/globals/13.11.0 + ignore: 4.0.6 + import-fresh: 3.3.0 + imurmurhash: 0.1.4 + is-glob: 4.0.1 + js-yaml: 3.14.1 + json-stable-stringify-without-jsonify: registry.nlark.com/json-stable-stringify-without-jsonify/1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.0.4 + natural-compare: 1.4.0 + optionator: 0.9.1 + progress: 2.0.3 + regexpp: registry.nlark.com/regexpp/3.2.0 + semver: 7.3.5 + strip-ansi: 6.0.0 + strip-json-comments: registry.nlark.com/strip-json-comments/3.1.1 + table: registry.nlark.com/table/6.7.1 + text-table: 0.2.0 + v8-compile-cache: 2.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + registry.nlark.com/espree/6.2.1: + resolution: {integrity: sha1-d/xy4f10SiBSwg84pbV1gy6Cc0o=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/espree/download/espree-6.2.1.tgz} + name: espree + version: 6.2.1 + engines: {node: '>=6.0.0'} + dependencies: + acorn: registry.nlark.com/acorn/7.4.1 + acorn-jsx: registry.nlark.com/acorn-jsx/5.3.2_acorn@7.4.1 + eslint-visitor-keys: registry.nlark.com/eslint-visitor-keys/1.3.0 + dev: true + + registry.nlark.com/espree/7.3.1: + resolution: {integrity: sha1-8t8zC3Usb1UBn4vYm3ZgA5wbu7Y=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/espree/download/espree-7.3.1.tgz} + name: espree + version: 7.3.1 + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + acorn: registry.nlark.com/acorn/7.4.1 + acorn-jsx: registry.nlark.com/acorn-jsx/5.3.2_acorn@7.4.1 + eslint-visitor-keys: registry.nlark.com/eslint-visitor-keys/1.3.0 + dev: true + + registry.nlark.com/execa/5.1.1: + resolution: {integrity: sha1-+ArZy/Qpj3vR1MlVXCHpN0HEEd0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/execa/download/execa-5.1.1.tgz} + name: execa + version: 5.1.1 + engines: {node: '>=10'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: registry.nlark.com/human-signals/2.1.0 + is-stream: registry.nlark.com/is-stream/2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.3 + strip-final-newline: registry.nlark.com/strip-final-newline/2.0.0 + dev: true + + registry.nlark.com/extend/3.0.2: + resolution: {integrity: sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/extend/download/extend-3.0.2.tgz} + name: extend + version: 3.0.2 + dev: true + + registry.nlark.com/fast-glob/3.2.7: + resolution: {integrity: sha1-/Wy3otfpqnp4RhEehaGW1rL3ZqE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/fast-glob/download/fast-glob-3.2.7.tgz} + name: fast-glob + version: 3.2.7 + engines: {node: '>=8'} + dependencies: + '@nodelib/fs.stat': registry.nlark.com/@nodelib/fs.stat/2.0.5 + '@nodelib/fs.walk': registry.nlark.com/@nodelib/fs.walk/1.2.8 + glob-parent: registry.nlark.com/glob-parent/5.1.2 + merge2: 1.4.1 + micromatch: 4.0.4 + dev: true + + registry.nlark.com/fastq/1.12.0: + resolution: {integrity: sha1-7XtqtdYjk/ssxZHIU2UqXDGL95Q=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/fastq/download/fastq-1.12.0.tgz?cache=0&sync_timestamp=1629361837279&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffastq%2Fdownload%2Ffastq-1.12.0.tgz} + name: fastq + version: 1.12.0 + dependencies: + reusify: 1.0.4 + dev: true + + registry.nlark.com/figures/3.2.0: + resolution: {integrity: sha1-YlwYvSk8YE3EqN2y/r8MiDQXRq8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/figures/download/figures-3.2.0.tgz} + name: figures + version: 3.2.0 + engines: {node: '>=8'} + dependencies: + escape-string-regexp: 1.0.5 + dev: true + + registry.nlark.com/first-chunk-stream/1.0.0: + resolution: {integrity: sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/first-chunk-stream/download/first-chunk-stream-1.0.0.tgz} + name: first-chunk-stream + version: 1.0.0 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/flagged-respawn/1.0.1: + resolution: {integrity: sha1-595vEnnd2cqarIpZcdYYYGs6q0E=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/flagged-respawn/download/flagged-respawn-1.0.1.tgz} + name: flagged-respawn + version: 1.0.1 + engines: {node: '>= 0.10'} + dev: true + + registry.nlark.com/flatted/3.2.2: + resolution: {integrity: sha1-ZL/tXLaP48p4s+shStl7Y77c5WE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/flatted/download/flatted-3.2.2.tgz} + name: flatted + version: 3.2.2 + dev: true + + registry.nlark.com/follow-redirects/1.14.2: + resolution: {integrity: sha1-zsuCUEfAD15msUL5D+1PUV3seJs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/follow-redirects/download/follow-redirects-1.14.2.tgz} + name: follow-redirects + version: 1.14.2 + engines: {node: '>=4.0'} + + registry.nlark.com/fs-extra/10.0.0: + resolution: {integrity: sha1-n/YbZV3eU/s0qC34S7IUzoAuF8E=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/fs-extra/download/fs-extra-10.0.0.tgz} + name: fs-extra + version: 10.0.0 + engines: {node: '>=12'} + dependencies: + graceful-fs: registry.nlark.com/graceful-fs/4.2.8 + jsonfile: 6.1.0 + universalify: 2.0.0 + dev: true + + registry.nlark.com/get-own-enumerable-property-symbols/3.0.2: + resolution: {integrity: sha1-tf3nfyLL4185C04ImSLFC85u9mQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/get-own-enumerable-property-symbols/download/get-own-enumerable-property-symbols-3.0.2.tgz} + name: get-own-enumerable-property-symbols + version: 3.0.2 + dev: true + + registry.nlark.com/get-pixels/3.3.3: + resolution: {integrity: sha1-ceLf1L77gQtUeKYcY1SACXbOAcc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/get-pixels/download/get-pixels-3.3.3.tgz} + name: get-pixels + version: 3.3.3 + dependencies: + data-uri-to-buffer: registry.nlark.com/data-uri-to-buffer/0.0.3 + jpeg-js: registry.nlark.com/jpeg-js/0.4.3 + mime-types: registry.nlark.com/mime-types/2.1.32 + ndarray: registry.nlark.com/ndarray/1.0.19 + ndarray-pack: registry.nlark.com/ndarray-pack/1.2.1 + node-bitmap: registry.nlark.com/node-bitmap/0.0.1 + omggif: registry.nlark.com/omggif/1.0.10 + parse-data-uri: registry.nlark.com/parse-data-uri/0.2.0 + pngjs: registry.nlark.com/pngjs/3.4.0 + request: 2.88.2 + through: 2.3.8 + dev: true + + registry.nlark.com/gif-encoder/0.4.3: + resolution: {integrity: sha1-iitP6MqJWkjjoLbLs0CgpqNXGJk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/gif-encoder/download/gif-encoder-0.4.3.tgz} + name: gif-encoder + version: 0.4.3 + engines: {node: '>= 0.8.0'} + dependencies: + readable-stream: 1.1.14 + dev: true + + registry.nlark.com/glob-parent/5.1.2: + resolution: {integrity: sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/glob-parent/download/glob-parent-5.1.2.tgz} + name: glob-parent + version: 5.1.2 + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.1 + dev: true + + registry.nlark.com/glob/7.1.7: + resolution: {integrity: sha1-Oxk+kjPwHULQs/eClLvutBj5SpA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/glob/download/glob-7.1.7.tgz} + name: glob + version: 7.1.7 + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.0.4 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + registry.nlark.com/globals/11.12.0: + resolution: {integrity: sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/globals/download/globals-11.12.0.tgz} + name: globals + version: 11.12.0 + engines: {node: '>=4'} + dev: true + + registry.nlark.com/globals/13.11.0: + resolution: {integrity: sha1-QO9njaEX/nvS4o8fqySVG9AlW+c=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/globals/download/globals-13.11.0.tgz} + name: globals + version: 13.11.0 + engines: {node: '>=8'} + dependencies: + type-fest: registry.nlark.com/type-fest/0.20.2 + dev: true + + registry.nlark.com/globby/10.0.2: + resolution: {integrity: sha1-J3WT50WsqkZGw6tBEonsR6A5JUM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/globby/download/globby-10.0.2.tgz?cache=0&sync_timestamp=1629804366639&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fglobby%2Fdownload%2Fglobby-10.0.2.tgz} + name: globby + version: 10.0.2 + engines: {node: '>=8'} + dependencies: + '@types/glob': registry.nlark.com/@types/glob/7.1.4 + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: registry.nlark.com/fast-glob/3.2.7 + glob: registry.nlark.com/glob/7.1.7 + ignore: 5.1.8 + merge2: 1.4.1 + slash: 3.0.0 + dev: true + + registry.nlark.com/globby/11.0.4: + resolution: {integrity: sha1-LLr/d8Lypi5x6bKBOme5ejowAaU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/globby/download/globby-11.0.4.tgz?cache=0&sync_timestamp=1629804366639&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fglobby%2Fdownload%2Fglobby-11.0.4.tgz} + name: globby + version: 11.0.4 + engines: {node: '>=10'} + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: registry.nlark.com/fast-glob/3.2.7 + ignore: 5.1.8 + merge2: 1.4.1 + slash: 3.0.0 + dev: true + + registry.nlark.com/globule/1.3.3: + resolution: {integrity: sha1-gRkZ7qwatzROkF8uO+gKE0R5c8I=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/globule/download/globule-1.3.3.tgz} + name: globule + version: 1.3.3 + engines: {node: '>= 0.10'} + dependencies: + glob: registry.nlark.com/glob/7.1.7 + lodash: 4.17.21 + minimatch: 3.0.4 + dev: true + + registry.nlark.com/graceful-fs/4.2.8: + resolution: {integrity: sha1-5BK40z9eAGWTy9PO5t+fLOu+gCo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/graceful-fs/download/graceful-fs-4.2.8.tgz} + name: graceful-fs + version: 4.2.8 + dev: true + + registry.nlark.com/handlebars-layouts/3.1.4: + resolution: {integrity: sha1-JrO+uTG0uHffv35v6vQFjuYiiwI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/handlebars-layouts/download/handlebars-layouts-3.1.4.tgz} + name: handlebars-layouts + version: 3.1.4 + engines: {node: '>= 0.10'} + dev: true + + registry.nlark.com/has-flag/1.0.0: + resolution: {integrity: sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/has-flag/download/has-flag-1.0.0.tgz} + name: has-flag + version: 1.0.0 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/has-flag/3.0.0: + resolution: {integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/has-flag/download/has-flag-3.0.0.tgz} + name: has-flag + version: 3.0.0 + engines: {node: '>=4'} + dev: true + + registry.nlark.com/has-flag/4.0.0: + resolution: {integrity: sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz} + name: has-flag + version: 4.0.0 + engines: {node: '>=8'} + dev: true + + registry.nlark.com/hotkeys-js/3.8.7: + resolution: {integrity: sha1-wWyrl4tT1yQvhgyjky6Xa5I5mYE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/hotkeys-js/download/hotkeys-js-3.8.7.tgz} + name: hotkeys-js + version: 3.8.7 + dev: false + + registry.nlark.com/htmlparser2/3.10.1: + resolution: {integrity: sha1-vWedw/WYl7ajS7EHSchVu1OpOS8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/htmlparser2/download/htmlparser2-3.10.1.tgz} + name: htmlparser2 + version: 3.10.1 + dependencies: + domelementtype: 1.3.1 + domhandler: 2.4.2 + domutils: registry.nlark.com/domutils/1.7.0 + entities: registry.nlark.com/entities/1.1.2 + inherits: 2.0.4 + readable-stream: 3.6.0 + dev: true + + registry.nlark.com/http-server/0.12.3: + resolution: {integrity: sha1-ugRx0OzEJYhmFss1xPryeRQKDTc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/http-server/download/http-server-0.12.3.tgz?cache=0&sync_timestamp=1629469581919&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhttp-server%2Fdownload%2Fhttp-server-0.12.3.tgz} + name: http-server + version: 0.12.3 + engines: {node: '>=6'} + hasBin: true + dependencies: + basic-auth: 1.1.0 + colors: 1.4.0 + corser: 2.0.1 + ecstatic: registry.nlark.com/ecstatic/3.3.2 + http-proxy: 1.18.1 + minimist: 1.2.5 + opener: 1.5.2 + portfinder: 1.0.28 + secure-compare: registry.nlark.com/secure-compare/3.0.1 + union: registry.nlark.com/union/0.5.0 + dev: true + + registry.nlark.com/human-signals/2.1.0: + resolution: {integrity: sha1-3JH8ukLk0G5Kuu0zs+ejwC9RTqA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/human-signals/download/human-signals-2.1.0.tgz} + name: human-signals + version: 2.1.0 + engines: {node: '>=10.17.0'} + dev: true + + registry.nlark.com/husky/7.0.2: + resolution: {integrity: sha1-IZANoPMBmazKQ6RsBDxK2Erojf8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/husky/download/husky-7.0.2.tgz?cache=0&sync_timestamp=1629876497873&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhusky%2Fdownload%2Fhusky-7.0.2.tgz} + name: husky + version: 7.0.2 + engines: {node: '>=12'} + hasBin: true + dev: true + + registry.nlark.com/iconv-lite/0.4.24: + resolution: {integrity: sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/iconv-lite/download/iconv-lite-0.4.24.tgz} + name: iconv-lite + version: 0.4.24 + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: true + + registry.nlark.com/inquirer/7.3.3: + resolution: {integrity: sha1-BNF2sq8Er8FXqD/XwQDpjuCq0AM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/inquirer/download/inquirer-7.3.3.tgz} + name: inquirer + version: 7.3.3 + engines: {node: '>=8.0.0'} + dependencies: + ansi-escapes: 4.3.2 + chalk: registry.nlark.com/chalk/4.1.2 + cli-cursor: registry.nlark.com/cli-cursor/3.1.0 + cli-width: 3.0.0 + external-editor: 3.1.0 + figures: registry.nlark.com/figures/3.2.0 + lodash: 4.17.21 + mute-stream: 0.0.8 + run-async: 2.4.1 + rxjs: registry.nlark.com/rxjs/6.6.7 + string-width: 4.2.2 + strip-ansi: 6.0.0 + through: 2.3.8 + dev: true + + registry.nlark.com/iota-array/1.0.0: + resolution: {integrity: sha1-ge9X/l0FgUzVjCSDYyqZwwoOgIc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/iota-array/download/iota-array-1.0.0.tgz} + name: iota-array + version: 1.0.0 + dev: true + + registry.nlark.com/is-core-module/2.6.0: + resolution: {integrity: sha1-11U7JSb+Wbkro+QMjfdX7Ipwnhk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-core-module/download/is-core-module-2.6.0.tgz} + name: is-core-module + version: 2.6.0 + dependencies: + has: 1.0.3 + dev: true + + registry.nlark.com/is-lower-case/1.1.3: + resolution: {integrity: sha1-fhR75HaNxGbbO/shzGCzHmrWk5M=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-lower-case/download/is-lower-case-1.1.3.tgz} + name: is-lower-case + version: 1.1.3 + dependencies: + lower-case: 1.1.4 + dev: true + + registry.nlark.com/is-path-cwd/2.2.0: + resolution: {integrity: sha1-Z9Q7gmZKe1GR/ZEZEn6zAASKn9s=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-path-cwd/download/is-path-cwd-2.2.0.tgz?cache=0&sync_timestamp=1628686699494&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-path-cwd%2Fdownload%2Fis-path-cwd-2.2.0.tgz} + name: is-path-cwd + version: 2.2.0 + engines: {node: '>=6'} + dev: true + + registry.nlark.com/is-path-inside/3.0.3: + resolution: {integrity: sha1-0jE2LlOgf/Kw4Op/7QSRYf/RYoM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-path-inside/download/is-path-inside-3.0.3.tgz} + name: is-path-inside + version: 3.0.3 + engines: {node: '>=8'} + dev: true + + registry.nlark.com/is-relative/1.0.0: + resolution: {integrity: sha1-obtpNc6MXboei5dUubLcwCDiJg0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-relative/download/is-relative-1.0.0.tgz} + name: is-relative + version: 1.0.0 + engines: {node: '>=0.10.0'} + dependencies: + is-unc-path: 1.0.0 + dev: true + + registry.nlark.com/is-stream/2.0.1: + resolution: {integrity: sha1-+sHj1TuXrVqdCunO8jifWBClwHc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-stream/download/is-stream-2.0.1.tgz} + name: is-stream + version: 2.0.1 + engines: {node: '>=8'} + dev: true + + registry.nlark.com/is-unicode-supported/0.1.0: + resolution: {integrity: sha1-PybHaoCVk7Ur+i7LVxDtJ3m1Iqc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/is-unicode-supported/download/is-unicode-supported-0.1.0.tgz} + name: is-unicode-supported + version: 0.1.0 + engines: {node: '>=10'} + dev: true + + registry.nlark.com/isarray/0.0.1: + resolution: {integrity: sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/isarray/download/isarray-0.0.1.tgz} + name: isarray + version: 0.0.1 + dev: true + + registry.nlark.com/isarray/1.0.0: + resolution: {integrity: sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/isarray/download/isarray-1.0.0.tgz} + name: isarray + version: 1.0.0 + dev: true + + registry.nlark.com/isbinaryfile/4.0.8: + resolution: {integrity: sha1-XTS5SGW9SUZjPsx4oCb8dsWxH88=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/isbinaryfile/download/isbinaryfile-4.0.8.tgz} + name: isbinaryfile + version: 4.0.8 + engines: {node: '>= 8.0.0'} + dev: true + + registry.nlark.com/jpeg-js/0.4.3: + resolution: {integrity: sha1-YVjgnxmDrXc4E3BL6AaAVQ7/l3s=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/jpeg-js/download/jpeg-js-0.4.3.tgz} + name: jpeg-js + version: 0.4.3 + dev: true + + registry.nlark.com/js-base64/2.6.4: + resolution: {integrity: sha1-9OaGxd4eofhn28rT1G2WlCjfmMQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/js-base64/download/js-base64-2.6.4.tgz} + name: js-base64 + version: 2.6.4 + dev: true + + registry.nlark.com/js-cookie/2.2.1: + resolution: {integrity: sha1-aeEG3F1YBolFYpAqpbrsN0Tpsrg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/js-cookie/download/js-cookie-2.2.1.tgz} + name: js-cookie + version: 2.2.1 + dev: false + + registry.nlark.com/js-tokens/4.0.0: + resolution: {integrity: sha1-GSA/tZmR35jjoocFDUZHzerzJJk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/js-tokens/download/js-tokens-4.0.0.tgz} + name: js-tokens + version: 4.0.0 + dev: true + + registry.nlark.com/json-content-demux/0.1.4: + resolution: {integrity: sha1-bVc/u1orIkriJXNuKH8y6pGkJz0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/json-content-demux/download/json-content-demux-0.1.4.tgz} + name: json-content-demux + version: 0.1.4 + engines: {node: '>= 0.6.0'} + dev: true + + registry.nlark.com/json-stable-stringify-without-jsonify/1.0.1: + resolution: {integrity: sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz?cache=0&sync_timestamp=1620563338517&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjson-stable-stringify-without-jsonify%2Fdownload%2Fjson-stable-stringify-without-jsonify-1.0.1.tgz} + name: json-stable-stringify-without-jsonify + version: 1.0.1 + dev: true + + registry.nlark.com/json5/1.0.1: + resolution: {integrity: sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/json5/download/json5-1.0.1.tgz} + name: json5 + version: 1.0.1 + hasBin: true + dependencies: + minimist: 1.2.5 + dev: true + + registry.nlark.com/json5/2.2.0: + resolution: {integrity: sha1-Lf7+cgxrpSXZ69kJlQ8FFTFsiaM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/json5/download/json5-2.2.0.tgz} + name: json5 + version: 2.2.0 + engines: {node: '>=6'} + hasBin: true + dependencies: + minimist: 1.2.5 + dev: true + + registry.nlark.com/known-css-properties/0.21.0: + resolution: {integrity: sha1-FfvQu7g0R/POCdivJH7UfGjt6A0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/known-css-properties/download/known-css-properties-0.21.0.tgz} + name: known-css-properties + version: 0.21.0 + dev: true + + registry.nlark.com/layout/2.2.0: + resolution: {integrity: sha1-MeRL/BjdEBmz/7II5AKku/4uavQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/layout/download/layout-2.2.0.tgz} + name: layout + version: 2.2.0 + engines: {node: '>= 0.8.0'} + dependencies: + bin-pack: registry.nlark.com/bin-pack/1.0.2 + dev: true + + registry.nlark.com/liftoff/2.5.0: + resolution: {integrity: sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/liftoff/download/liftoff-2.5.0.tgz} + name: liftoff + version: 2.5.0 + engines: {node: '>= 0.8'} + dependencies: + extend: registry.nlark.com/extend/3.0.2 + findup-sync: 2.0.0 + fined: 1.2.0 + flagged-respawn: registry.nlark.com/flagged-respawn/1.0.1 + is-plain-object: 2.0.4 + object.map: 1.0.1 + rechoir: registry.nlark.com/rechoir/0.6.2 + resolve: 1.20.0 + dev: true + + registry.nlark.com/lint-staged/11.1.2: + resolution: {integrity: sha1-TdeHgq5D7m6/KWnK2a9npGszzZA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/lint-staged/download/lint-staged-11.1.2.tgz?cache=0&sync_timestamp=1628226980816&other_urls=https%3A%2F%2Fregistry.nlark.com%2Flint-staged%2Fdownload%2Flint-staged-11.1.2.tgz} + name: lint-staged + version: 11.1.2 + hasBin: true + dependencies: + chalk: registry.nlark.com/chalk/4.1.2 + cli-truncate: registry.nlark.com/cli-truncate/2.1.0 + commander: registry.nlark.com/commander/7.2.0 + cosmiconfig: registry.nlark.com/cosmiconfig/7.0.1 + debug: registry.nlark.com/debug/4.3.2 + enquirer: 2.3.6 + execa: registry.nlark.com/execa/5.1.1 + listr2: registry.nlark.com/listr2/3.11.0_enquirer@2.3.6 + log-symbols: 4.1.0 + micromatch: 4.0.4 + normalize-path: 3.0.0 + please-upgrade-node: 3.2.0 + string-argv: 0.3.1 + stringify-object: registry.nlark.com/stringify-object/3.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + registry.nlark.com/listr2/3.11.0_enquirer@2.3.6: + resolution: {integrity: sha1-l3GwJAeHWqeOc9bg/2VBu+wKruk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/listr2/download/listr2-3.11.0.tgz} + id: registry.nlark.com/listr2/3.11.0 + name: listr2 + version: 3.11.0 + engines: {node: '>=10.0.0'} + peerDependencies: + enquirer: '>= 2.3.0 < 3' + dependencies: + cli-truncate: registry.nlark.com/cli-truncate/2.1.0 + colorette: registry.nlark.com/colorette/1.3.0 + enquirer: 2.3.6 + log-update: registry.nlark.com/log-update/4.0.0 + p-map: registry.nlark.com/p-map/4.0.0 + rxjs: registry.nlark.com/rxjs/6.6.7 + through: 2.3.8 + wrap-ansi: 7.0.0 + dev: true + + registry.nlark.com/locate-path/5.0.0: + resolution: {integrity: sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/locate-path/download/locate-path-5.0.0.tgz} + name: locate-path + version: 5.0.0 + engines: {node: '>=8'} + dependencies: + p-locate: registry.nlark.com/p-locate/4.1.0 + dev: true + + registry.nlark.com/log-update/4.0.0: + resolution: {integrity: sha1-WJ7NNSRx8qHAxXAodUOmTf0g4KE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/log-update/download/log-update-4.0.0.tgz} + name: log-update + version: 4.0.0 + engines: {node: '>=10'} + dependencies: + ansi-escapes: 4.3.2 + cli-cursor: registry.nlark.com/cli-cursor/3.1.0 + slice-ansi: 4.0.0 + wrap-ansi: 6.2.0 + dev: true + + registry.nlark.com/magic-string/0.25.7: + resolution: {integrity: sha1-P0l9b9NMZpxnmNy4IfLvMfVEUFE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/magic-string/download/magic-string-0.25.7.tgz} + name: magic-string + version: 0.25.7 + dependencies: + sourcemap-codec: 1.4.8 + dev: true + + registry.nlark.com/mdast-util-from-markdown/0.8.5: + resolution: {integrity: sha1-0e8spCvDd+ywRjqYeRDa6JvZoow=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/mdast-util-from-markdown/download/mdast-util-from-markdown-0.8.5.tgz} + name: mdast-util-from-markdown + version: 0.8.5 + dependencies: + '@types/mdast': registry.nlark.com/@types/mdast/3.0.10 + mdast-util-to-string: registry.nlark.com/mdast-util-to-string/2.0.0 + micromark: registry.nlark.com/micromark/2.11.4 + parse-entities: 2.0.0 + unist-util-stringify-position: 2.0.3 + dev: true + + registry.nlark.com/mdast-util-to-markdown/0.6.5: + resolution: {integrity: sha1-sz9nyoINaebMUnqT1AOSSbUEvr4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/mdast-util-to-markdown/download/mdast-util-to-markdown-0.6.5.tgz} + name: mdast-util-to-markdown + version: 0.6.5 + dependencies: + '@types/unist': registry.nlark.com/@types/unist/2.0.6 + longest-streak: 2.0.4 + mdast-util-to-string: registry.nlark.com/mdast-util-to-string/2.0.0 + parse-entities: 2.0.0 + repeat-string: 1.6.1 + zwitch: 1.0.5 + dev: true + + registry.nlark.com/mdast-util-to-string/2.0.0: + resolution: {integrity: sha1-uM/mpxPhCRy1tyj8SIhaR2f4uXs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/mdast-util-to-string/download/mdast-util-to-string-2.0.0.tgz} + name: mdast-util-to-string + version: 2.0.0 + dev: true + + registry.nlark.com/mdn-data/2.0.14: + resolution: {integrity: sha1-cRP8QoGRfWPOKbQ0RvcB5owlulA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/mdn-data/download/mdn-data-2.0.14.tgz} + name: mdn-data + version: 2.0.14 + dev: true + + registry.nlark.com/meow/9.0.0: + resolution: {integrity: sha1-zZUQvFysne59A8c+4fmtlZ9Oo2Q=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/meow/download/meow-9.0.0.tgz?cache=0&sync_timestamp=1627561001606&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmeow%2Fdownload%2Fmeow-9.0.0.tgz} + name: meow + version: 9.0.0 + engines: {node: '>=10'} + dependencies: + '@types/minimist': registry.nlark.com/@types/minimist/1.2.2 + camelcase-keys: registry.nlark.com/camelcase-keys/6.2.2 + decamelize: 1.2.0 + decamelize-keys: 1.1.0 + hard-rejection: 2.1.0 + minimist-options: 4.1.0 + normalize-package-data: registry.nlark.com/normalize-package-data/3.0.3 + read-pkg-up: 7.0.1 + redent: registry.nlark.com/redent/3.0.0 + trim-newlines: registry.nlark.com/trim-newlines/3.0.1 + type-fest: registry.nlark.com/type-fest/0.18.1 + yargs-parser: registry.nlark.com/yargs-parser/20.2.9 + dev: true + + registry.nlark.com/micromark/2.11.4: + resolution: {integrity: sha1-0TQ2E47qgmOD6CJEnJpcUO5EZlo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/micromark/download/micromark-2.11.4.tgz} + name: micromark + version: 2.11.4 + dependencies: + debug: registry.nlark.com/debug/4.3.2 + parse-entities: 2.0.0 + dev: true + + registry.nlark.com/mime-db/1.49.0: + resolution: {integrity: sha1-89/eYMmenPO8lwHWh3ePU3ABy+0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/mime-db/download/mime-db-1.49.0.tgz} + name: mime-db + version: 1.49.0 + engines: {node: '>= 0.6'} + dev: true + + registry.nlark.com/mime-types/2.1.32: + resolution: {integrity: sha1-HQDonn3n/gIAjbYQAdngKFJnD9U=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/mime-types/download/mime-types-2.1.32.tgz?cache=0&sync_timestamp=1627407854850&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmime-types%2Fdownload%2Fmime-types-2.1.32.tgz} + name: mime-types + version: 2.1.32 + engines: {node: '>= 0.6'} + dependencies: + mime-db: registry.nlark.com/mime-db/1.49.0 + dev: true + + registry.nlark.com/mitt/2.1.0: + resolution: {integrity: sha1-90BXfCMXbGIFsSGylzUU6t4bIjA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/mitt/download/mitt-2.1.0.tgz} + name: mitt + version: 2.1.0 + dev: false + + registry.nlark.com/mitt/3.0.0: + resolution: {integrity: sha1-ae+b1cgP9vV0c+jYkybQHEFL4L0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/mitt/download/mitt-3.0.0.tgz} + name: mitt + version: 3.0.0 + dev: false + + registry.nlark.com/ms/2.0.0: + resolution: {integrity: sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ms/download/ms-2.0.0.tgz} + name: ms + version: 2.0.0 + dev: true + + registry.nlark.com/ms/2.1.2: + resolution: {integrity: sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ms/download/ms-2.1.2.tgz} + name: ms + version: 2.1.2 + dev: true + + registry.nlark.com/ms/2.1.3: + resolution: {integrity: sha1-V0yBOM4dK1hh8LRFedut1gxmFbI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ms/download/ms-2.1.3.tgz} + name: ms + version: 2.1.3 + dev: true + + registry.nlark.com/nanoid/3.1.25: + resolution: {integrity: sha1-CcoydHwOVD8OGBS303k0d/nI4VI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/nanoid/download/nanoid-3.1.25.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnanoid%2Fdownload%2Fnanoid-3.1.25.tgz} + name: nanoid + version: 3.1.25 + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: true + + registry.nlark.com/ndarray-ops/1.2.2: + resolution: {integrity: sha1-WeiNLDKn7ryxvGkPrhQVeVV6YU4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ndarray-ops/download/ndarray-ops-1.2.2.tgz} + name: ndarray-ops + version: 1.2.2 + dependencies: + cwise-compiler: registry.nlark.com/cwise-compiler/1.1.3 + dev: true + + registry.nlark.com/ndarray-pack/1.2.1: + resolution: {integrity: sha1-jK6+qqJNXs9w/4YCBjeXfajuWFo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ndarray-pack/download/ndarray-pack-1.2.1.tgz} + name: ndarray-pack + version: 1.2.1 + dependencies: + cwise-compiler: registry.nlark.com/cwise-compiler/1.1.3 + ndarray: registry.nlark.com/ndarray/1.0.19 + dev: true + + registry.nlark.com/ndarray/1.0.19: + resolution: {integrity: sha1-Z4W19d+li4PjGuWyoFjP0as/aU4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ndarray/download/ndarray-1.0.19.tgz} + name: ndarray + version: 1.0.19 + dependencies: + iota-array: registry.nlark.com/iota-array/1.0.0 + is-buffer: 1.1.6 + dev: true + + registry.nlark.com/node-bitmap/0.0.1: + resolution: {integrity: sha1-GA6scAPgxwdhjvMTaPYvhLKmkJE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/node-bitmap/download/node-bitmap-0.0.1.tgz} + name: node-bitmap + version: 0.0.1 + engines: {node: '>=v0.6.5'} + dev: true + + registry.nlark.com/node-plop/0.26.2: + resolution: {integrity: sha1-wlI1ltq04oNg5hW3aLEbTWDVsbk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/node-plop/download/node-plop-0.26.2.tgz} + name: node-plop + version: 0.26.2 + engines: {node: '>=8.9.4'} + dependencies: + '@babel/runtime-corejs3': registry.nlark.com/@babel/runtime-corejs3/7.15.3 + '@types/inquirer': registry.nlark.com/@types/inquirer/6.5.0 + change-case: 3.1.0 + del: 5.1.0 + globby: registry.nlark.com/globby/10.0.2 + handlebars: 4.7.7 + inquirer: registry.nlark.com/inquirer/7.3.3 + isbinaryfile: registry.nlark.com/isbinaryfile/4.0.8 + lodash.get: 4.4.2 + mkdirp: 0.5.5 + resolve: 1.20.0 + dev: true + + registry.nlark.com/node-releases/1.1.75: + resolution: {integrity: sha1-bdjIdrmJehuOWgLeJq+nm7VOu/4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/node-releases/download/node-releases-1.1.75.tgz} + name: node-releases + version: 1.1.75 + dev: true + + registry.nlark.com/normalize-package-data/2.5.0: + resolution: {integrity: sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/normalize-package-data/download/normalize-package-data-2.5.0.tgz?cache=0&sync_timestamp=1629302655389&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnormalize-package-data%2Fdownload%2Fnormalize-package-data-2.5.0.tgz} + name: normalize-package-data + version: 2.5.0 + dependencies: + hosted-git-info: 2.8.9 + resolve: 1.20.0 + semver: 5.7.1 + validate-npm-package-license: 3.0.4 + dev: true + + registry.nlark.com/normalize-package-data/3.0.3: + resolution: {integrity: sha1-28w+LaWVCaCYNCKITNFy7v36Ul4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/normalize-package-data/download/normalize-package-data-3.0.3.tgz?cache=0&sync_timestamp=1629302655389&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnormalize-package-data%2Fdownload%2Fnormalize-package-data-3.0.3.tgz} + name: normalize-package-data + version: 3.0.3 + engines: {node: '>=10'} + dependencies: + hosted-git-info: 4.0.2 + is-core-module: registry.nlark.com/is-core-module/2.6.0 + semver: 7.3.5 + validate-npm-package-license: 3.0.4 + dev: true + + registry.nlark.com/obj-extend/0.1.0: + resolution: {integrity: sha1-u0SKR3X7les0p4H5CLusLfI9u1s=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/obj-extend/download/obj-extend-0.1.0.tgz} + name: obj-extend + version: 0.1.0 + dev: true + + registry.nlark.com/object-inspect/1.11.0: + resolution: {integrity: sha1-nc6xRs7dQUig2eUauI00z1CZIrE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/object-inspect/download/object-inspect-1.11.0.tgz} + name: object-inspect + version: 1.11.0 + dev: true + + registry.nlark.com/object.defaults/1.1.0: + resolution: {integrity: sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/object.defaults/download/object.defaults-1.1.0.tgz} + name: object.defaults + version: 1.1.0 + engines: {node: '>=0.10.0'} + dependencies: + array-each: registry.nlark.com/array-each/1.0.1 + array-slice: 1.1.0 + for-own: 1.0.0 + isobject: 3.0.1 + dev: true + + registry.nlark.com/omggif/1.0.10: + resolution: {integrity: sha1-3ar5DUpC9TLp58s6lezdR/F8exk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/omggif/download/omggif-1.0.10.tgz} + name: omggif + version: 1.0.10 + dev: true + + registry.nlark.com/ora/3.4.0: + resolution: {integrity: sha1-vwdSSRBZo+8+1MhQl1Md6f280xg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/ora/download/ora-3.4.0.tgz} + name: ora + version: 3.4.0 + engines: {node: '>=6'} + dependencies: + chalk: registry.nlark.com/chalk/2.4.2 + cli-cursor: registry.nlark.com/cli-cursor/2.1.0 + cli-spinners: 2.6.0 + log-symbols: 2.2.0 + strip-ansi: 5.2.0 + wcwidth: 1.0.1 + dev: true + + registry.nlark.com/p-limit/2.3.0: + resolution: {integrity: sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/p-limit/download/p-limit-2.3.0.tgz} + name: p-limit + version: 2.3.0 + engines: {node: '>=6'} + dependencies: + p-try: 2.2.0 + dev: true + + registry.nlark.com/p-locate/4.1.0: + resolution: {integrity: sha1-o0KLtwiLOmApL2aRkni3wpetTwc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/p-locate/download/p-locate-4.1.0.tgz} + name: p-locate + version: 4.1.0 + engines: {node: '>=8'} + dependencies: + p-limit: registry.nlark.com/p-limit/2.3.0 + dev: true + + registry.nlark.com/p-map/3.0.0: + resolution: {integrity: sha1-1wTZr4orpoTiYA2aIVmD1BQal50=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/p-map/download/p-map-3.0.0.tgz?cache=0&sync_timestamp=1627084255349&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-map%2Fdownload%2Fp-map-3.0.0.tgz} + name: p-map + version: 3.0.0 + engines: {node: '>=8'} + dependencies: + aggregate-error: 3.1.0 + dev: true + + registry.nlark.com/p-map/4.0.0: + resolution: {integrity: sha1-uy+Vpe2i7BaOySdOBqdHw+KQTSs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/p-map/download/p-map-4.0.0.tgz?cache=0&sync_timestamp=1627084255349&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-map%2Fdownload%2Fp-map-4.0.0.tgz} + name: p-map + version: 4.0.0 + engines: {node: '>=10'} + dependencies: + aggregate-error: 3.1.0 + dev: true + + registry.nlark.com/parse-data-uri/0.2.0: + resolution: {integrity: sha1-vwTYUd1ch7CrI45dAazklLYEtMk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/parse-data-uri/download/parse-data-uri-0.2.0.tgz} + name: parse-data-uri + version: 0.2.0 + dependencies: + data-uri-to-buffer: registry.nlark.com/data-uri-to-buffer/0.0.3 + dev: true + + registry.nlark.com/parseurl/1.3.3: + resolution: {integrity: sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/parseurl/download/parseurl-1.3.3.tgz} + name: parseurl + version: 1.3.3 + engines: {node: '>= 0.8'} + dev: true + + registry.nlark.com/path-case/2.1.1: + resolution: {integrity: sha1-lLgDfDctP+KQbkZbtF4l0ibo7qU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/path-case/download/path-case-2.1.1.tgz} + name: path-case + version: 2.1.1 + dependencies: + no-case: 2.3.2 + dev: true + + registry.nlark.com/path-exists/4.0.0: + resolution: {integrity: sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/path-exists/download/path-exists-4.0.0.tgz} + name: path-exists + version: 4.0.0 + engines: {node: '>=8'} + dev: true + + registry.nlark.com/path-parse/1.0.7: + resolution: {integrity: sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/path-parse/download/path-parse-1.0.7.tgz} + name: path-parse + version: 1.0.7 + dev: true + + registry.nlark.com/picomatch/2.3.0: + resolution: {integrity: sha1-8fBh3o9qS/AiiS4tEoI0+5gwKXI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/picomatch/download/picomatch-2.3.0.tgz} + name: picomatch + version: 2.3.0 + engines: {node: '>=8.6'} + dev: true + + registry.nlark.com/pixelsmith/2.4.1: + resolution: {integrity: sha1-TM/s9utUR9odOP4m8tcNJGpAF54=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/pixelsmith/download/pixelsmith-2.4.1.tgz} + name: pixelsmith + version: 2.4.1 + engines: {node: '>= 8.0.0'} + dependencies: + async: registry.nlark.com/async/0.9.2 + concat-stream: 1.5.2 + get-pixels: registry.nlark.com/get-pixels/3.3.3 + mime-types: registry.nlark.com/mime-types/2.1.32 + ndarray: registry.nlark.com/ndarray/1.0.19 + obj-extend: registry.nlark.com/obj-extend/0.1.0 + save-pixels: registry.nlark.com/save-pixels/2.3.6 + vinyl-file: registry.nlark.com/vinyl-file/1.3.0 + dev: true + + registry.nlark.com/pngjs-nozlib/1.0.0: + resolution: {integrity: sha1-nmTWAs/pzOTZ1Zl9BodCmnPwt9c=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/pngjs-nozlib/download/pngjs-nozlib-1.0.0.tgz} + name: pngjs-nozlib + version: 1.0.0 + engines: {iojs: '>= 1.0.0', node: '>=0.10.0'} + dev: true + + registry.nlark.com/pngjs/3.4.0: + resolution: {integrity: sha1-mcp9clll+2VYFOr2XzjxK72/VV8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/pngjs/download/pngjs-3.4.0.tgz} + name: pngjs + version: 3.4.0 + engines: {node: '>=4.0.0'} + dev: true + + registry.nlark.com/postcss-less/3.1.4: + resolution: {integrity: sha1-Np9YZCtZKO+Jj/vBpuk8lYMExa0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/postcss-less/download/postcss-less-3.1.4.tgz} + name: postcss-less + version: 3.1.4 + engines: {node: '>=6.14.4'} + dependencies: + postcss: registry.nlark.com/postcss/7.0.36 + dev: true + + registry.nlark.com/postcss-modules-scope/3.0.0_postcss@8.3.6: + resolution: {integrity: sha1-nvMVFFbTu/oSDKRImN/Kby+gHwY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/postcss-modules-scope/download/postcss-modules-scope-3.0.0.tgz} + id: registry.nlark.com/postcss-modules-scope/3.0.0 + name: postcss-modules-scope + version: 3.0.0 + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + postcss: registry.nlark.com/postcss/8.3.6 + postcss-selector-parser: registry.nlark.com/postcss-selector-parser/6.0.6 + dev: true + + registry.nlark.com/postcss-modules/4.2.2_postcss@8.3.6: + resolution: {integrity: sha1-Xnd3xaiWTqF2kZ2QsuVO+JEyHOU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/postcss-modules/download/postcss-modules-4.2.2.tgz?cache=0&sync_timestamp=1627039302372&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-modules%2Fdownload%2Fpostcss-modules-4.2.2.tgz} + id: registry.nlark.com/postcss-modules/4.2.2 + name: postcss-modules + version: 4.2.2 + peerDependencies: + postcss: ^8.0.0 + dependencies: + generic-names: 2.0.1 + icss-replace-symbols: 1.1.0 + lodash.camelcase: 4.3.0 + postcss: registry.nlark.com/postcss/8.3.6 + postcss-modules-extract-imports: 3.0.0_postcss@8.3.6 + postcss-modules-local-by-default: 4.0.0_postcss@8.3.6 + postcss-modules-scope: registry.nlark.com/postcss-modules-scope/3.0.0_postcss@8.3.6 + postcss-modules-values: 4.0.0_postcss@8.3.6 + string-hash: 1.1.3 + dev: true + + registry.nlark.com/postcss-prefix-selector/1.12.0: + resolution: {integrity: sha1-HmK7be2DDFwdTsc3hVjfrqr16mI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/postcss-prefix-selector/download/postcss-prefix-selector-1.12.0.tgz} + name: postcss-prefix-selector + version: 1.12.0 + dependencies: + postcss: registry.nlark.com/postcss/8.3.6 + dev: true + + registry.nlark.com/postcss-safe-parser/4.0.2: + resolution: {integrity: sha1-ptTkjw832ffBGypYG/APi6SHC5Y=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/postcss-safe-parser/download/postcss-safe-parser-4.0.2.tgz} + name: postcss-safe-parser + version: 4.0.2 + engines: {node: '>=6.0.0'} + dependencies: + postcss: registry.nlark.com/postcss/7.0.36 + dev: true + + registry.nlark.com/postcss-sass/0.4.4: + resolution: {integrity: sha1-kfDzRHtFzjcyJ6mLYfjY8HhShaM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/postcss-sass/download/postcss-sass-0.4.4.tgz} + name: postcss-sass + version: 0.4.4 + dependencies: + gonzales-pe: 4.3.0 + postcss: registry.nlark.com/postcss/7.0.36 + dev: true + + registry.nlark.com/postcss-scss/2.1.1: + resolution: {integrity: sha1-7Dp1+imlXgFrkL8yaQJsU8HSs4M=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/postcss-scss/download/postcss-scss-2.1.1.tgz} + name: postcss-scss + version: 2.1.1 + engines: {node: '>=6.0.0'} + dependencies: + postcss: registry.nlark.com/postcss/7.0.36 + dev: true + + registry.nlark.com/postcss-selector-parser/6.0.6: + resolution: {integrity: sha1-LFu6gXSsL2mBq2MaQqsO5UrzMuo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/postcss-selector-parser/download/postcss-selector-parser-6.0.6.tgz} + name: postcss-selector-parser + version: 6.0.6 + engines: {node: '>=4'} + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + dev: true + + registry.nlark.com/postcss/5.2.18: + resolution: {integrity: sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/postcss/download/postcss-5.2.18.tgz} + name: postcss + version: 5.2.18 + engines: {node: '>=0.12'} + dependencies: + chalk: registry.nlark.com/chalk/1.1.3 + js-base64: registry.nlark.com/js-base64/2.6.4 + source-map: 0.5.7 + supports-color: registry.nlark.com/supports-color/3.2.3 + dev: true + + registry.nlark.com/postcss/7.0.36: + resolution: {integrity: sha1-BW+M/6k5ZiqPWQWVDAfVKFZE38s=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/postcss/download/postcss-7.0.36.tgz} + name: postcss + version: 7.0.36 + engines: {node: '>=6.0.0'} + dependencies: + chalk: registry.nlark.com/chalk/2.4.2 + source-map: 0.6.1 + supports-color: registry.nlark.com/supports-color/6.1.0 + dev: true + + registry.nlark.com/postcss/8.3.6: + resolution: {integrity: sha1-JzDddql5afN/U7mmCWGXvjEcxOo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/postcss/download/postcss-8.3.6.tgz} + name: postcss + version: 8.3.6 + engines: {node: ^10 || ^12 || >=14} + dependencies: + colorette: registry.nlark.com/colorette/1.3.0 + nanoid: registry.nlark.com/nanoid/3.1.25 + source-map-js: registry.nlark.com/source-map-js/0.6.2 + dev: true + + registry.nlark.com/posthtml-parser/0.2.1: + resolution: {integrity: sha1-NdUw3jhnQMK6JP8usvrznM3ycd0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/posthtml-parser/download/posthtml-parser-0.2.1.tgz} + name: posthtml-parser + version: 0.2.1 + dependencies: + htmlparser2: registry.nlark.com/htmlparser2/3.10.1 + isobject: 2.1.0 + dev: true + + registry.nlark.com/posthtml-rename-id/1.0.12: + resolution: {integrity: sha1-z39us3FGvxr6wx5o8YxswZrmFDM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/posthtml-rename-id/download/posthtml-rename-id-1.0.12.tgz} + name: posthtml-rename-id + version: 1.0.12 + dependencies: + escape-string-regexp: 1.0.5 + dev: true + + registry.nlark.com/posthtml-render/1.4.0: + resolution: {integrity: sha1-QBFAcMRYgcrLkzR9rj7/U6+8/xM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/posthtml-render/download/posthtml-render-1.4.0.tgz} + name: posthtml-render + version: 1.4.0 + engines: {node: '>=10'} + dev: true + + registry.nlark.com/posthtml/0.9.2: + resolution: {integrity: sha1-9MBtufZ7Yf0XxOJW5+PZUVv3Jv0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/posthtml/download/posthtml-0.9.2.tgz} + name: posthtml + version: 0.9.2 + engines: {node: '>=0.10.0'} + dependencies: + posthtml-parser: registry.nlark.com/posthtml-parser/0.2.1 + posthtml-render: registry.nlark.com/posthtml-render/1.4.0 + dev: true + + registry.nlark.com/query-string/4.3.4: + resolution: {integrity: sha1-u7aTucqRXCMlFbIosaArYJBD2+s=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/query-string/download/query-string-4.3.4.tgz} + name: query-string + version: 4.3.4 + engines: {node: '>=0.10.0'} + dependencies: + object-assign: 4.1.1 + strict-uri-encode: 1.1.0 + dev: true + + registry.nlark.com/quick-lru/4.0.1: + resolution: {integrity: sha1-W4h48ROlgheEjGSCAmxz4bpXcn8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/quick-lru/download/quick-lru-4.0.1.tgz} + name: quick-lru + version: 4.0.1 + engines: {node: '>=8'} + dev: true + + registry.nlark.com/read-pkg/5.2.0: + resolution: {integrity: sha1-e/KVQ4yloz5WzTDgU7NO5yUMk8w=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/read-pkg/download/read-pkg-5.2.0.tgz?cache=0&sync_timestamp=1628985520600&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fread-pkg%2Fdownload%2Fread-pkg-5.2.0.tgz} + name: read-pkg + version: 5.2.0 + engines: {node: '>=8'} + dependencies: + '@types/normalize-package-data': registry.nlark.com/@types/normalize-package-data/2.4.1 + normalize-package-data: registry.nlark.com/normalize-package-data/2.5.0 + parse-json: 5.2.0 + type-fest: registry.nlark.com/type-fest/0.6.0 + dev: true + + registry.nlark.com/rechoir/0.6.2: + resolution: {integrity: sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/rechoir/download/rechoir-0.6.2.tgz} + name: rechoir + version: 0.6.2 + engines: {node: '>= 0.10'} + dependencies: + resolve: 1.20.0 + dev: true + + registry.nlark.com/redent/3.0.0: + resolution: {integrity: sha1-5Ve3mYMWu1PJ8fVvpiY1LGljBZ8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/redent/download/redent-3.0.0.tgz} + name: redent + version: 3.0.0 + engines: {node: '>=8'} + dependencies: + indent-string: 4.0.0 + strip-indent: registry.nlark.com/strip-indent/3.0.0 + dev: true + + registry.nlark.com/regenerator-runtime/0.13.9: + resolution: {integrity: sha1-iSV0Kpj/2QgUmI11Zq0wyjsmO1I=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/regenerator-runtime/download/regenerator-runtime-0.13.9.tgz?cache=0&sync_timestamp=1627000836896&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fregenerator-runtime%2Fdownload%2Fregenerator-runtime-0.13.9.tgz} + name: regenerator-runtime + version: 0.13.9 + dev: true + + registry.nlark.com/regexpp/3.2.0: + resolution: {integrity: sha1-BCWido2PI7rXDKS5BGH6LxIT4bI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/regexpp/download/regexpp-3.2.0.tgz?cache=0&sync_timestamp=1623676803528&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fregexpp%2Fdownload%2Fregexpp-3.2.0.tgz} + name: regexpp + version: 3.2.0 + engines: {node: '>=8'} + dev: true + + registry.nlark.com/remark-parse/9.0.0: + resolution: {integrity: sha1-TSCimWZYgOT0r12Qt8e4qTWFNkA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/remark-parse/download/remark-parse-9.0.0.tgz} + name: remark-parse + version: 9.0.0 + dependencies: + mdast-util-from-markdown: registry.nlark.com/mdast-util-from-markdown/0.8.5 + dev: true + + registry.nlark.com/remark-stringify/9.0.1: + resolution: {integrity: sha1-V20G6RBUiwpxkacfJ7M/EhiGKJQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/remark-stringify/download/remark-stringify-9.0.1.tgz} + name: remark-stringify + version: 9.0.1 + dependencies: + mdast-util-to-markdown: registry.nlark.com/mdast-util-to-markdown/0.6.5 + dev: true + + registry.nlark.com/remark/13.0.0: + resolution: {integrity: sha1-0V2b9xpAL0Aofr42Bntm1Uho5CU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/remark/download/remark-13.0.0.tgz} + name: remark + version: 13.0.0 + dependencies: + remark-parse: registry.nlark.com/remark-parse/9.0.0 + remark-stringify: registry.nlark.com/remark-stringify/9.0.1 + unified: registry.nlark.com/unified/9.2.2 + dev: true + + registry.nlark.com/restore-cursor/2.0.0: + resolution: {integrity: sha1-n37ih/gv0ybU/RYpI9YhKe7g368=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/restore-cursor/download/restore-cursor-2.0.0.tgz} + name: restore-cursor + version: 2.0.0 + engines: {node: '>=4'} + dependencies: + onetime: 2.0.1 + signal-exit: 3.0.3 + dev: true + + registry.nlark.com/restore-cursor/3.1.0: + resolution: {integrity: sha1-OfZ8VLOnpYzqUjbZXPADQjljH34=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/restore-cursor/download/restore-cursor-3.1.0.tgz} + name: restore-cursor + version: 3.1.0 + engines: {node: '>=8'} + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.3 + dev: true + + registry.nlark.com/rollup/2.56.3: + resolution: {integrity: sha1-tj7a3ZhRsNYYptDmr4IBlVp3rv8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/rollup/download/rollup-2.56.3.tgz?cache=0&sync_timestamp=1629698767006&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frollup%2Fdownload%2Frollup-2.56.3.tgz} + name: rollup + version: 2.56.3 + engines: {node: '>=10.0.0'} + hasBin: true + optionalDependencies: + fsevents: 2.3.2 + dev: true + + registry.nlark.com/rxjs/6.6.7: + resolution: {integrity: sha1-kKwBisq/SRv2UEQjXVhjxNq4BMk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/rxjs/download/rxjs-6.6.7.tgz} + name: rxjs + version: 6.6.7 + engines: {npm: '>=2.0.0'} + dependencies: + tslib: registry.nlark.com/tslib/1.14.1 + dev: true + + registry.nlark.com/sass/1.38.1: + resolution: {integrity: sha1-VN+xf7FohGtYUDJLgvxi3Gj1G60=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/sass/download/sass-1.38.1.tgz} + name: sass + version: 1.38.1 + engines: {node: '>=8.9.0'} + hasBin: true + dependencies: + chokidar: registry.nlark.com/chokidar/3.5.2 + dev: true + + registry.nlark.com/save-pixels/2.3.6: + resolution: {integrity: sha1-2fQKL2s3T5xh0U8bfe8lkdt/t4A=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/save-pixels/download/save-pixels-2.3.6.tgz} + name: save-pixels + version: 2.3.6 + dependencies: + contentstream: registry.nlark.com/contentstream/1.0.0 + gif-encoder: registry.nlark.com/gif-encoder/0.4.3 + jpeg-js: registry.nlark.com/jpeg-js/0.4.3 + ndarray: registry.nlark.com/ndarray/1.0.19 + ndarray-ops: registry.nlark.com/ndarray-ops/1.2.2 + pngjs-nozlib: registry.nlark.com/pngjs-nozlib/1.0.0 + through: 2.3.8 + dev: true + + registry.nlark.com/screenfull/5.1.0: + resolution: {integrity: sha1-hcE8cPTq1MG4qTXHABDf3NLA5cg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/screenfull/download/screenfull-5.1.0.tgz} + name: screenfull + version: 5.1.0 + engines: {node: '>=0.10.0'} + dev: false + + registry.nlark.com/secure-compare/3.0.1: + resolution: {integrity: sha1-8aAymzCLIh+uN7mXTz1XjQypmeM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/secure-compare/download/secure-compare-3.0.1.tgz} + name: secure-compare + version: 3.0.1 + dev: true + + registry.nlark.com/set-value/2.0.1: + resolution: {integrity: sha1-oY1AUw5vB95CKMfe/kInr4ytAFs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/set-value/download/set-value-2.0.1.tgz} + name: set-value + version: 2.0.1 + engines: {node: '>=0.10.0'} + dependencies: + extend-shallow: 2.0.1 + is-extendable: 0.1.1 + is-plain-object: 2.0.4 + split-string: 3.1.0 + dev: true + + registry.nlark.com/shebang-regex/3.0.0: + resolution: {integrity: sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/shebang-regex/download/shebang-regex-3.0.0.tgz} + name: shebang-regex + version: 3.0.0 + engines: {node: '>=8'} + dev: true + + registry.nlark.com/snapdragon/0.8.2: + resolution: {integrity: sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/snapdragon/download/snapdragon-0.8.2.tgz} + name: snapdragon + version: 0.8.2 + engines: {node: '>=0.10.0'} + dependencies: + base: 0.11.2 + debug: registry.nlark.com/debug/2.6.9 + define-property: 0.2.5 + extend-shallow: 2.0.1 + map-cache: 0.2.2 + source-map: 0.5.7 + source-map-resolve: 0.5.3 + use: 3.1.1 + dev: true + + registry.nlark.com/source-map-js/0.6.2: + resolution: {integrity: sha1-C7XeYxtBz72mz7qL0FqA79/SOF4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/source-map-js/download/source-map-js-0.6.2.tgz} + name: source-map-js + version: 0.6.2 + engines: {node: '>=0.10.0'} + dev: true + + registry.nlark.com/spdx-license-ids/3.0.10: + resolution: {integrity: sha1-DZvszN5wA9bGWNSH3UijLwvzAUs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/spdx-license-ids/download/spdx-license-ids-3.0.10.tgz?cache=0&sync_timestamp=1628483655780&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fspdx-license-ids%2Fdownload%2Fspdx-license-ids-3.0.10.tgz} + name: spdx-license-ids + version: 3.0.10 + dev: true + + registry.nlark.com/specificity/0.4.1: + resolution: {integrity: sha1-qrXmRQEtsIuhguFRFlc40AiHsBk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/specificity/download/specificity-0.4.1.tgz} + name: specificity + version: 0.4.1 + hasBin: true + dev: true + + registry.nlark.com/spritesheet-templates/10.5.2: + resolution: {integrity: sha1-t1JtHNzt48LL/MspY76b7GBm7Ek=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/spritesheet-templates/download/spritesheet-templates-10.5.2.tgz} + name: spritesheet-templates + version: 10.5.2 + engines: {node: '>= 8.0.0'} + dependencies: + handlebars: 4.7.7 + handlebars-layouts: registry.nlark.com/handlebars-layouts/3.1.4 + json-content-demux: registry.nlark.com/json-content-demux/0.1.4 + underscore: 1.13.1 + underscore.string: registry.nlark.com/underscore.string/3.3.5 + dev: true + + registry.nlark.com/spritesmith/3.4.0: + resolution: {integrity: sha1-XPoAQnjJByq0kAoM2AAUHHzyluI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/spritesmith/download/spritesmith-3.4.0.tgz} + name: spritesmith + version: 3.4.0 + engines: {node: '>= 4.0.0'} + dependencies: + concat-stream: 1.5.2 + layout: registry.nlark.com/layout/2.2.0 + pixelsmith: registry.nlark.com/pixelsmith/2.4.1 + semver: 5.0.3 + through2: 2.0.5 + dev: true + + registry.nlark.com/stringify-object/3.3.0: + resolution: {integrity: sha1-cDBlrvyhkwDTzoivT1s5VtdVZik=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/stringify-object/download/stringify-object-3.3.0.tgz} + name: stringify-object + version: 3.3.0 + engines: {node: '>=4'} + dependencies: + get-own-enumerable-property-symbols: registry.nlark.com/get-own-enumerable-property-symbols/3.0.2 + is-obj: 1.0.1 + is-regexp: 1.0.0 + dev: true + + registry.nlark.com/strip-bom-stream/1.0.0: + resolution: {integrity: sha1-5xRDmFd9Uaa+0PoZlPoF9D/ZiO4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/strip-bom-stream/download/strip-bom-stream-1.0.0.tgz} + name: strip-bom-stream + version: 1.0.0 + engines: {node: '>=0.10.0'} + dependencies: + first-chunk-stream: registry.nlark.com/first-chunk-stream/1.0.0 + strip-bom: 2.0.0 + dev: true + + registry.nlark.com/strip-final-newline/2.0.0: + resolution: {integrity: sha1-ibhS+y/L6Tb29LMYevsKEsGrWK0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/strip-final-newline/download/strip-final-newline-2.0.0.tgz} + name: strip-final-newline + version: 2.0.0 + engines: {node: '>=6'} + dev: true + + registry.nlark.com/strip-indent/3.0.0: + resolution: {integrity: sha1-wy4c7pQLazQyx3G8LFS8znPNMAE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/strip-indent/download/strip-indent-3.0.0.tgz} + name: strip-indent + version: 3.0.0 + engines: {node: '>=8'} + dependencies: + min-indent: 1.0.1 + dev: true + + registry.nlark.com/strip-json-comments/3.1.1: + resolution: {integrity: sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/strip-json-comments/download/strip-json-comments-3.1.1.tgz} + name: strip-json-comments + version: 3.1.1 + engines: {node: '>=8'} + dev: true + + registry.nlark.com/stylelint-config-recommended-scss/4.3.0_fd1d61e57b9553f3887f804324f52132: + resolution: {integrity: sha1-cX3CU7TKskbaZUzuII5JnFx5euQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/stylelint-config-recommended-scss/download/stylelint-config-recommended-scss-4.3.0.tgz} + id: registry.nlark.com/stylelint-config-recommended-scss/4.3.0 + name: stylelint-config-recommended-scss + version: 4.3.0 + peerDependencies: + stylelint: ^10.1.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 + stylelint-scss: ^3.0.0 + dependencies: + stylelint: registry.nlark.com/stylelint/13.13.1 + stylelint-config-recommended: registry.nlark.com/stylelint-config-recommended/5.0.0_stylelint@13.13.1 + stylelint-scss: registry.nlark.com/stylelint-scss/3.20.1_stylelint@13.13.1 + dev: true + + registry.nlark.com/stylelint-config-recommended/5.0.0_stylelint@13.13.1: + resolution: {integrity: sha1-+1ZT9JWmC0k48q0+d3EtnhA5rng=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/stylelint-config-recommended/download/stylelint-config-recommended-5.0.0.tgz} + id: registry.nlark.com/stylelint-config-recommended/5.0.0 + name: stylelint-config-recommended + version: 5.0.0 + peerDependencies: + stylelint: ^13.13.0 + dependencies: + stylelint: registry.nlark.com/stylelint/13.13.1 + dev: true + + registry.nlark.com/stylelint-config-standard/22.0.0_stylelint@13.13.1: + resolution: {integrity: sha1-yGC+mhPrvBsIRFb6EFJ78TpErd8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/stylelint-config-standard/download/stylelint-config-standard-22.0.0.tgz} + id: registry.nlark.com/stylelint-config-standard/22.0.0 + name: stylelint-config-standard + version: 22.0.0 + peerDependencies: + stylelint: ^13.13.0 + dependencies: + stylelint: registry.nlark.com/stylelint/13.13.1 + stylelint-config-recommended: registry.nlark.com/stylelint-config-recommended/5.0.0_stylelint@13.13.1 + dev: true + + registry.nlark.com/stylelint-scss/3.20.1_stylelint@13.13.1: + resolution: {integrity: sha1-iPF12c/hyBpyhYvQ01UM9hUw4hI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/stylelint-scss/download/stylelint-scss-3.20.1.tgz} + id: registry.nlark.com/stylelint-scss/3.20.1 + name: stylelint-scss + version: 3.20.1 + engines: {node: '>=8'} + peerDependencies: + stylelint: ^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 + dependencies: + lodash: 4.17.21 + postcss-media-query-parser: 0.2.3 + postcss-resolve-nested-selector: 0.1.1 + postcss-selector-parser: registry.nlark.com/postcss-selector-parser/6.0.6 + postcss-value-parser: 4.1.0 + stylelint: registry.nlark.com/stylelint/13.13.1 + dev: true + + registry.nlark.com/stylelint/13.13.1: + resolution: {integrity: sha1-/KnJ9d55kKsmoA8We4l48IOhjzw=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/stylelint/download/stylelint-13.13.1.tgz} + name: stylelint + version: 13.13.1 + engines: {node: '>=10.13.0'} + hasBin: true + dependencies: + '@stylelint/postcss-css-in-js': 0.37.2_2b33a41d320e3e2012e5b3b0fadc703b + '@stylelint/postcss-markdown': 0.36.2_2b33a41d320e3e2012e5b3b0fadc703b + autoprefixer: registry.nlark.com/autoprefixer/9.8.6 + balanced-match: 2.0.0 + chalk: registry.nlark.com/chalk/4.1.2 + cosmiconfig: registry.nlark.com/cosmiconfig/7.0.1 + debug: registry.nlark.com/debug/4.3.2 + execall: 2.0.0 + fast-glob: registry.nlark.com/fast-glob/3.2.7 + fastest-levenshtein: 1.0.12 + file-entry-cache: 6.0.1 + get-stdin: 8.0.0 + global-modules: 2.0.0 + globby: registry.nlark.com/globby/11.0.4 + globjoin: 0.1.4 + html-tags: 3.1.0 + ignore: 5.1.8 + import-lazy: 4.0.0 + imurmurhash: 0.1.4 + known-css-properties: registry.nlark.com/known-css-properties/0.21.0 + lodash: 4.17.21 + log-symbols: 4.1.0 + mathml-tag-names: 2.1.3 + meow: registry.nlark.com/meow/9.0.0 + micromatch: 4.0.4 + normalize-selector: 0.2.0 + postcss: registry.nlark.com/postcss/7.0.36 + postcss-html: 0.36.0_2b33a41d320e3e2012e5b3b0fadc703b + postcss-less: registry.nlark.com/postcss-less/3.1.4 + postcss-media-query-parser: 0.2.3 + postcss-resolve-nested-selector: 0.1.1 + postcss-safe-parser: registry.nlark.com/postcss-safe-parser/4.0.2 + postcss-sass: registry.nlark.com/postcss-sass/0.4.4 + postcss-scss: registry.nlark.com/postcss-scss/2.1.1 + postcss-selector-parser: registry.nlark.com/postcss-selector-parser/6.0.6 + postcss-syntax: 0.36.2_postcss@7.0.36 + postcss-value-parser: 4.1.0 + resolve-from: 5.0.0 + slash: 3.0.0 + specificity: registry.nlark.com/specificity/0.4.1 + string-width: 4.2.2 + strip-ansi: 6.0.0 + style-search: 0.1.0 + sugarss: registry.nlark.com/sugarss/2.0.0 + svg-tags: 1.0.0 + table: registry.nlark.com/table/6.7.1 + v8-compile-cache: 2.3.0 + write-file-atomic: 3.0.3 + transitivePeerDependencies: + - supports-color + dev: true + + registry.nlark.com/sugarss/2.0.0: + resolution: {integrity: sha1-3dduASSyl9QL88yjHIsi7LQ7xh0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/sugarss/download/sugarss-2.0.0.tgz} + name: sugarss + version: 2.0.0 + dependencies: + postcss: registry.nlark.com/postcss/7.0.36 + dev: true + + registry.nlark.com/supports-color/2.0.0: + resolution: {integrity: sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/supports-color/download/supports-color-2.0.0.tgz} + name: supports-color + version: 2.0.0 + engines: {node: '>=0.8.0'} + dev: true + + registry.nlark.com/supports-color/3.2.3: + resolution: {integrity: sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/supports-color/download/supports-color-3.2.3.tgz} + name: supports-color + version: 3.2.3 + engines: {node: '>=0.8.0'} + dependencies: + has-flag: registry.nlark.com/has-flag/1.0.0 + dev: true + + registry.nlark.com/supports-color/5.5.0: + resolution: {integrity: sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/supports-color/download/supports-color-5.5.0.tgz} + name: supports-color + version: 5.5.0 + engines: {node: '>=4'} + dependencies: + has-flag: registry.nlark.com/has-flag/3.0.0 + dev: true + + registry.nlark.com/supports-color/6.1.0: + resolution: {integrity: sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/supports-color/download/supports-color-6.1.0.tgz} + name: supports-color + version: 6.1.0 + engines: {node: '>=6'} + dependencies: + has-flag: registry.nlark.com/has-flag/3.0.0 + dev: true + + registry.nlark.com/supports-color/7.2.0: + resolution: {integrity: sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/supports-color/download/supports-color-7.2.0.tgz} + name: supports-color + version: 7.2.0 + engines: {node: '>=8'} + dependencies: + has-flag: registry.nlark.com/has-flag/4.0.0 + dev: true + + registry.nlark.com/svgo/2.4.0: + resolution: {integrity: sha1-DEJlMQH9ZoaSwPabVbjXsYLvQis=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/svgo/download/svgo-2.4.0.tgz} + name: svgo + version: 2.4.0 + engines: {node: '>=10.13.0'} + hasBin: true + dependencies: + '@trysound/sax': registry.nlark.com/@trysound/sax/0.1.1 + colorette: registry.nlark.com/colorette/1.3.0 + commander: registry.nlark.com/commander/7.2.0 + css-select: registry.nlark.com/css-select/4.1.3 + css-tree: registry.nlark.com/css-tree/1.1.3 + csso: 4.2.0 + stable: 0.1.8 + dev: true + + registry.nlark.com/table/6.7.1: + resolution: {integrity: sha1-7gVZK3FDgxqMlPPO5qrkwczvM+I=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/table/download/table-6.7.1.tgz} + name: table + version: 6.7.1 + engines: {node: '>=10.0.0'} + dependencies: + ajv: registry.nlark.com/ajv/8.6.2 + lodash.clonedeep: 4.5.0 + lodash.truncate: 4.4.2 + slice-ansi: 4.0.0 + string-width: 4.2.2 + strip-ansi: 6.0.0 + dev: true + + registry.nlark.com/terser/4.8.0: + resolution: {integrity: sha1-YwVjQ9fHC7KfOvZlhlpG/gOg3xc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/terser/download/terser-4.8.0.tgz} + name: terser + version: 4.8.0 + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + commander: registry.nlark.com/commander/2.20.3 + source-map: 0.6.1 + source-map-support: 0.5.19 + dev: true + + registry.nlark.com/tinymce/5.9.0: + resolution: {integrity: sha1-xXmrM34xXMVPVo9l0IEALm4dw+Y=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/tinymce/download/tinymce-5.9.0.tgz} + name: tinymce + version: 5.9.0 + dev: false + + registry.nlark.com/title-case/2.1.1: + resolution: {integrity: sha1-PhJyFtpY0rxb7PE3q5Ha46fNj6o=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/title-case/download/title-case-2.1.1.tgz} + name: title-case + version: 2.1.1 + dependencies: + no-case: 2.3.2 + upper-case: 1.1.3 + dev: true + + registry.nlark.com/to-fast-properties/2.0.0: + resolution: {integrity: sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/to-fast-properties/download/to-fast-properties-2.0.0.tgz?cache=0&sync_timestamp=1628419116313&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fto-fast-properties%2Fdownload%2Fto-fast-properties-2.0.0.tgz} + name: to-fast-properties + version: 2.0.0 + engines: {node: '>=4'} + + registry.nlark.com/trim-newlines/3.0.1: + resolution: {integrity: sha1-Jgpdli2LdSQlsy86fbDcrNF2wUQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/trim-newlines/download/trim-newlines-3.0.1.tgz} + name: trim-newlines + version: 3.0.1 + engines: {node: '>=8'} + dev: true + + registry.nlark.com/trough/1.0.5: + resolution: {integrity: sha1-uLY5zvrX0LsqvTfUM/+Ck++l9AY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/trough/download/trough-1.0.5.tgz} + name: trough + version: 1.0.5 + dev: true + + registry.nlark.com/tslib/1.14.1: + resolution: {integrity: sha1-zy04vcNKE0vK8QkcQfZhni9nLQA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/tslib/download/tslib-1.14.1.tgz?cache=0&sync_timestamp=1628732355371&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-1.14.1.tgz} + name: tslib + version: 1.14.1 + dev: true + + registry.nlark.com/tslib/2.3.1: + resolution: {integrity: sha1-6KM1rdXOrlGqJh0ypJAVjvBC7wE=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/tslib/download/tslib-2.3.1.tgz?cache=0&sync_timestamp=1628732355371&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-2.3.1.tgz} + name: tslib + version: 2.3.1 + dev: true + + registry.nlark.com/type-fest/0.18.1: + resolution: {integrity: sha1-20vBUaSiz07r+a3V23VQjbbMhB8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/type-fest/download/type-fest-0.18.1.tgz} + name: type-fest + version: 0.18.1 + engines: {node: '>=10'} + dev: true + + registry.nlark.com/type-fest/0.20.2: + resolution: {integrity: sha1-G/IH9LKPkVg2ZstfvTJ4hzAc1fQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/type-fest/download/type-fest-0.20.2.tgz} + name: type-fest + version: 0.20.2 + engines: {node: '>=10'} + dev: true + + registry.nlark.com/type-fest/0.21.3: + resolution: {integrity: sha1-0mCiSwGYQ24TP6JqUkptZfo7Ljc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/type-fest/download/type-fest-0.21.3.tgz} + name: type-fest + version: 0.21.3 + engines: {node: '>=10'} + dev: true + + registry.nlark.com/type-fest/0.6.0: + resolution: {integrity: sha1-jSojcNPfiG61yQraHFv2GIrPg4s=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/type-fest/download/type-fest-0.6.0.tgz} + name: type-fest + version: 0.6.0 + engines: {node: '>=8'} + dev: true + + registry.nlark.com/type-fest/0.8.1: + resolution: {integrity: sha1-CeJJ696FHTseSNJ8EFREZn8XuD0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/type-fest/download/type-fest-0.8.1.tgz} + name: type-fest + version: 0.8.1 + engines: {node: '>=8'} + dev: true + + registry.nlark.com/uglify-js/3.14.1: + resolution: {integrity: sha1-4suf4025y0z3410dJt/qKOCafQY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/uglify-js/download/uglify-js-3.14.1.tgz} + name: uglify-js + version: 3.14.1 + engines: {node: '>=0.8.0'} + hasBin: true + dev: true + optional: true + + registry.nlark.com/underscore.string/3.3.5: + resolution: {integrity: sha1-/CrSVbi9MJ4jnLxYFv0jqbfqQCM=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/underscore.string/download/underscore.string-3.3.5.tgz} + name: underscore.string + version: 3.3.5 + dependencies: + sprintf-js: 1.1.2 + util-deprecate: 1.0.2 + dev: true + + registry.nlark.com/unified/9.2.2: + resolution: {integrity: sha1-Z2SaGr/Dq4XSlpUCkCd16wMUaXU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/unified/download/unified-9.2.2.tgz} + name: unified + version: 9.2.2 + dependencies: + bail: registry.nlark.com/bail/1.0.5 + extend: registry.nlark.com/extend/3.0.2 + is-buffer: 2.0.5 + is-plain-obj: 2.1.0 + trough: registry.nlark.com/trough/1.0.5 + vfile: registry.nlark.com/vfile/4.2.1 + dev: true + + registry.nlark.com/union/0.5.0: + resolution: {integrity: sha1-ssEb6E9gU4U3uEbtuboma6AJAHU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/union/download/union-0.5.0.tgz} + name: union + version: 0.5.0 + engines: {node: '>= 0.8.0'} + dependencies: + qs: 6.10.1 + dev: true + + registry.nlark.com/unist-util-find-all-after/3.0.2: + resolution: {integrity: sha1-/f7NFMW3rqXp7zjV4NX3dO61YfY=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/unist-util-find-all-after/download/unist-util-find-all-after-3.0.2.tgz} + name: unist-util-find-all-after + version: 3.0.2 + dependencies: + unist-util-is: registry.nlark.com/unist-util-is/4.1.0 + dev: true + + registry.nlark.com/unist-util-is/4.1.0: + resolution: {integrity: sha1-l25fRip6Xec9lLcGusG5BnG1d5c=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/unist-util-is/download/unist-util-is-4.1.0.tgz} + name: unist-util-is + version: 4.1.0 + dev: true + + registry.nlark.com/uuid/3.4.0: + resolution: {integrity: sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/uuid/download/uuid-3.4.0.tgz?cache=0&sync_timestamp=1622213418456&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fuuid%2Fdownload%2Fuuid-3.4.0.tgz} + name: uuid + version: 3.4.0 + hasBin: true + dev: true + + registry.nlark.com/v8flags/2.1.1: + resolution: {integrity: sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/v8flags/download/v8flags-2.1.1.tgz} + name: v8flags + version: 2.1.1 + engines: {node: '>= 0.10.0'} + dependencies: + user-home: 1.1.1 + dev: true + + registry.nlark.com/vfile-message/2.0.4: + resolution: {integrity: sha1-W0O4gXHUCerlhHfRPyPdQdUsNxo=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vfile-message/download/vfile-message-2.0.4.tgz} + name: vfile-message + version: 2.0.4 + dependencies: + '@types/unist': registry.nlark.com/@types/unist/2.0.6 + unist-util-stringify-position: 2.0.3 + dev: true + + registry.nlark.com/vfile/4.2.1: + resolution: {integrity: sha1-A/Hc4o/GJcYlvGUUNQ+9sA+p5iQ=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vfile/download/vfile-4.2.1.tgz?cache=0&sync_timestamp=1629482153900&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fvfile%2Fdownload%2Fvfile-4.2.1.tgz} + name: vfile + version: 4.2.1 + dependencies: + '@types/unist': registry.nlark.com/@types/unist/2.0.6 + is-buffer: 2.0.5 + unist-util-stringify-position: 2.0.3 + vfile-message: registry.nlark.com/vfile-message/2.0.4 + dev: true + + registry.nlark.com/vinyl-file/1.3.0: + resolution: {integrity: sha1-qgVjTTqGe6kUR77bs0r8sm9E9uc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vinyl-file/download/vinyl-file-1.3.0.tgz} + name: vinyl-file + version: 1.3.0 + engines: {node: '>=0.10.0'} + dependencies: + graceful-fs: registry.nlark.com/graceful-fs/4.2.8 + strip-bom: 2.0.0 + strip-bom-stream: registry.nlark.com/strip-bom-stream/1.0.0 + vinyl: 1.2.0 + dev: true + + registry.nlark.com/vite-plugin-banner/0.1.3: + resolution: {integrity: sha1-09To4oSt3tNf6qVKuMonOp0zSeA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vite-plugin-banner/download/vite-plugin-banner-0.1.3.tgz} + name: vite-plugin-banner + version: 0.1.3 + dev: true + + registry.nlark.com/vite-plugin-compression/0.3.5_vite@2.5.1: + resolution: {integrity: sha1-HlM460PmASjebW8isqq/Dj3AwX8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vite-plugin-compression/download/vite-plugin-compression-0.3.5.tgz} + id: registry.nlark.com/vite-plugin-compression/0.3.5 + name: vite-plugin-compression + version: 0.3.5 + peerDependencies: + vite: '>=2.0.0' + dependencies: + chalk: registry.nlark.com/chalk/4.1.2 + debug: registry.nlark.com/debug/4.3.2 + fs-extra: registry.nlark.com/fs-extra/10.0.0 + vite: registry.nlark.com/vite/2.5.1 + transitivePeerDependencies: + - supports-color + dev: true + + registry.nlark.com/vite-plugin-html/2.1.0_vite@2.5.1: + resolution: {integrity: sha1-d7buEdnNvfdmtXMf1Ba6zyZ0T84=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vite-plugin-html/download/vite-plugin-html-2.1.0.tgz} + id: registry.nlark.com/vite-plugin-html/2.1.0 + name: vite-plugin-html + version: 2.1.0 + peerDependencies: + vite: '>=2.0.0' + dependencies: + '@rollup/pluginutils': registry.nlark.com/@rollup/pluginutils/4.1.1 + dotenv: registry.nlark.com/dotenv/10.0.0 + dotenv-expand: 5.1.0 + ejs: 3.1.6 + fs-extra: registry.nlark.com/fs-extra/10.0.0 + html-minifier-terser: 5.1.1 + vite: registry.nlark.com/vite/2.5.1 + dev: true + + registry.nlark.com/vite-plugin-mock/2.9.6_mockjs@1.1.0+vite@2.5.1: + resolution: {integrity: sha1-BN0j3muqBS+qW5rTF1FMkNYgXiU=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vite-plugin-mock/download/vite-plugin-mock-2.9.6.tgz} + id: registry.nlark.com/vite-plugin-mock/2.9.6 + name: vite-plugin-mock + version: 2.9.6 + engines: {node: '>=12.0.0'} + peerDependencies: + mockjs: '>=1.1.0' + vite: '>=2.0.0' + dependencies: + '@rollup/plugin-node-resolve': registry.nlark.com/@rollup/plugin-node-resolve/13.0.4 + '@types/mockjs': registry.nlark.com/@types/mockjs/1.0.4 + chalk: registry.nlark.com/chalk/4.1.2 + chokidar: registry.nlark.com/chokidar/3.5.2 + connect: 3.7.0 + debug: registry.nlark.com/debug/4.3.2 + esbuild: registry.nlark.com/esbuild/0.11.3 + fast-glob: registry.nlark.com/fast-glob/3.2.7 + mockjs: 1.1.0 + path-to-regexp: 6.2.0 + vite: registry.nlark.com/vite/2.5.1 + transitivePeerDependencies: + - rollup + - supports-color + dev: true + + registry.nlark.com/vite-plugin-restart/0.0.2_vite@2.5.1: + resolution: {integrity: sha1-EByTLpw8TV/2BuFaTzLOduHuTdc=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vite-plugin-restart/download/vite-plugin-restart-0.0.2.tgz} + id: registry.nlark.com/vite-plugin-restart/0.0.2 + name: vite-plugin-restart + version: 0.0.2 + peerDependencies: + vite: ^2.0.0-beta.69 + dependencies: + chalk: registry.nlark.com/chalk/4.1.2 + micromatch: 4.0.4 + vite: registry.nlark.com/vite/2.5.1 + dev: true + + registry.nlark.com/vite-plugin-spritesmith/0.1.0: + resolution: {integrity: sha1-Y+XrWtAC3RFDi4HZihK0odt3OTg=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vite-plugin-spritesmith/download/vite-plugin-spritesmith-0.1.0.tgz} + name: vite-plugin-spritesmith + version: 0.1.0 + dependencies: + fs-extra: registry.nlark.com/fs-extra/10.0.0 + gaze: 1.1.3 + lodash: 4.17.21 + mkdirp: 1.0.4 + spritesheet-templates: registry.nlark.com/spritesheet-templates/10.5.2 + spritesmith: registry.nlark.com/spritesmith/3.4.0 + dev: true + + registry.nlark.com/vite-plugin-svg-icons/1.0.4_vite@2.5.1: + resolution: {integrity: sha1-nyD+/0s7+9z1QB0++nXUgT8n3CI=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vite-plugin-svg-icons/download/vite-plugin-svg-icons-1.0.4.tgz} + id: registry.nlark.com/vite-plugin-svg-icons/1.0.4 + name: vite-plugin-svg-icons + version: 1.0.4 + peerDependencies: + vite: '>=2.0.0' + dependencies: + '@types/svgo': registry.nlark.com/@types/svgo/2.4.0 + cors: 2.8.5 + debug: registry.nlark.com/debug/4.3.2 + etag: 1.8.1 + fs-extra: registry.nlark.com/fs-extra/10.0.0 + svg-baker: 1.7.0 + svgo: registry.nlark.com/svgo/2.4.0 + vite: registry.nlark.com/vite/2.5.1 + transitivePeerDependencies: + - supports-color + dev: true + + registry.nlark.com/vite/2.5.1: + resolution: {integrity: sha1-lTxxoDTAezrgRI1XZk7JxoYvI6g=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vite/download/vite-2.5.1.tgz} + name: vite + version: 2.5.1 + engines: {node: '>=12.2.0'} + hasBin: true + dependencies: + esbuild: registry.nlark.com/esbuild/0.12.23 + postcss: registry.nlark.com/postcss/8.3.6 + resolve: 1.20.0 + rollup: registry.nlark.com/rollup/2.56.3 + optionalDependencies: + fsevents: 2.3.2 + dev: true + + registry.nlark.com/vue-eslint-parser/7.10.0_eslint@7.32.0: + resolution: {integrity: sha1-6k5LEP0QqjXIp5rHg0iNirzSm+g=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vue-eslint-parser/download/vue-eslint-parser-7.10.0.tgz} + id: registry.nlark.com/vue-eslint-parser/7.10.0 + name: vue-eslint-parser + version: 7.10.0 + engines: {node: '>=8.10'} + peerDependencies: + eslint: '>=5.0.0' + dependencies: + debug: registry.nlark.com/debug/4.3.2 + eslint: registry.nlark.com/eslint/7.32.0 + eslint-scope: registry.nlark.com/eslint-scope/5.1.1 + eslint-visitor-keys: registry.nlark.com/eslint-visitor-keys/1.3.0 + espree: registry.nlark.com/espree/6.2.1 + esquery: 1.4.0 + lodash: 4.17.21 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + registry.nlark.com/vue-router/4.0.11_vue@3.2.6: + resolution: {integrity: sha1-zWSaCUHGNSgXY6IJZbWZZD3caO0=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vue-router/download/vue-router-4.0.11.tgz} + id: registry.nlark.com/vue-router/4.0.11 + name: vue-router + version: 4.0.11 + peerDependencies: + vue: ^3.0.0 + dependencies: + '@vue/devtools-api': registry.nlark.com/@vue/devtools-api/6.0.0-beta.15 + vue: registry.nlark.com/vue/3.2.6 + dev: false + + registry.nlark.com/vue/3.2.6: + resolution: {integrity: sha1-xxRFB4dR9Fhkj9j7Oi2pdVB9A9I=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vue/download/vue-3.2.6.tgz} + name: vue + version: 3.2.6 + dependencies: + '@vue/compiler-dom': registry.nlark.com/@vue/compiler-dom/3.2.6 + '@vue/runtime-dom': registry.nlark.com/@vue/runtime-dom/3.2.6 + '@vue/shared': registry.nlark.com/@vue/shared/3.2.6 + dev: false + + registry.nlark.com/vuex/4.0.2_vue@3.2.6: + resolution: {integrity: sha1-+Jbb1b8qDpY/AMZ+m2EN50nMrMk=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/vuex/download/vuex-4.0.2.tgz} + id: registry.nlark.com/vuex/4.0.2 + name: vuex + version: 4.0.2 + peerDependencies: + vue: ^3.0.2 + dependencies: + '@vue/devtools-api': registry.nlark.com/@vue/devtools-api/6.0.0-beta.15 + vue: registry.nlark.com/vue/3.2.6 + dev: false + + registry.nlark.com/workbox-core/6.2.4: + resolution: {integrity: sha1-D/tPDObY428Qv0qr2WpvVXBczYA=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/workbox-core/download/workbox-core-6.2.4.tgz} + name: workbox-core + version: 6.2.4 + dev: true + + registry.nlark.com/workbox-window/6.2.4: + resolution: {integrity: sha1-N355IVjsg2cLb4EOAHekXBqUjRs=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/workbox-window/download/workbox-window-6.2.4.tgz} + name: workbox-window + version: 6.2.4 + dependencies: + '@types/trusted-types': registry.nlark.com/@types/trusted-types/2.0.2 + workbox-core: registry.nlark.com/workbox-core/6.2.4 + dev: true + + registry.nlark.com/wrappy/1.0.2: + resolution: {integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/wrappy/download/wrappy-1.0.2.tgz} + name: wrappy + version: 1.0.2 + dev: true + + registry.nlark.com/yaml/1.10.2: + resolution: {integrity: sha1-IwHF/78StGfejaIzOkWeKeeSDks=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/yaml/download/yaml-1.10.2.tgz} + name: yaml + version: 1.10.2 + engines: {node: '>= 6'} + dev: true + + registry.nlark.com/yargs-parser/20.2.9: + resolution: {integrity: sha1-LrfcOwKJcY/ClfNidThFxBoMlO4=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/yargs-parser/download/yargs-parser-20.2.9.tgz} + name: yargs-parser + version: 20.2.9 + engines: {node: '>=10'} + dev: true diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 00000000..794835dc Binary files /dev/null and b/public/favicon.ico differ diff --git a/public/pwa_icons/192x192.png b/public/pwa_icons/192x192.png new file mode 100644 index 00000000..557c4c0b Binary files /dev/null and b/public/pwa_icons/192x192.png differ diff --git a/public/pwa_icons/384x384.png b/public/pwa_icons/384x384.png new file mode 100644 index 00000000..fe1f07ed Binary files /dev/null and b/public/pwa_icons/384x384.png differ diff --git a/public/tinymce/langs/zh_CN.js b/public/tinymce/langs/zh_CN.js new file mode 100644 index 00000000..89b106c2 --- /dev/null +++ b/public/tinymce/langs/zh_CN.js @@ -0,0 +1,419 @@ +tinymce.addI18n('zh_CN',{ +"Redo": "\u91cd\u505a", +"Undo": "\u64a4\u9500", +"Cut": "\u526a\u5207", +"Copy": "\u590d\u5236", +"Paste": "\u7c98\u8d34", +"Select all": "\u5168\u9009", +"New document": "\u65b0\u6587\u4ef6", +"Ok": "\u786e\u5b9a", +"Cancel": "\u53d6\u6d88", +"Visual aids": "\u7f51\u683c\u7ebf", +"Bold": "\u7c97\u4f53", +"Italic": "\u659c\u4f53", +"Underline": "\u4e0b\u5212\u7ebf", +"Strikethrough": "\u5220\u9664\u7ebf", +"Superscript": "\u4e0a\u6807", +"Subscript": "\u4e0b\u6807", +"Clear formatting": "\u6e05\u9664\u683c\u5f0f", +"Align left": "\u5de6\u8fb9\u5bf9\u9f50", +"Align center": "\u4e2d\u95f4\u5bf9\u9f50", +"Align right": "\u53f3\u8fb9\u5bf9\u9f50", +"Justify": "\u4e24\u7aef\u5bf9\u9f50", +"Bullet list": "\u9879\u76ee\u7b26\u53f7", +"Numbered list": "\u7f16\u53f7\u5217\u8868", +"Decrease indent": "\u51cf\u5c11\u7f29\u8fdb", +"Increase indent": "\u589e\u52a0\u7f29\u8fdb", +"Close": "\u5173\u95ed", +"Formats": "\u683c\u5f0f", +"Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "\u4f60\u7684\u6d4f\u89c8\u5668\u4e0d\u652f\u6301\u6253\u5f00\u526a\u8d34\u677f\uff0c\u8bf7\u4f7f\u7528Ctrl+X\/C\/V\u7b49\u5feb\u6377\u952e\u3002", +"Headers": "\u6807\u9898", +"Header 1": "\u6807\u98981", +"Header 2": "\u6807\u98982", +"Header 3": "\u6807\u98983", +"Header 4": "\u6807\u98984", +"Header 5": "\u6807\u98985", +"Header 6": "\u6807\u98986", +"Headings": "\u6807\u9898", +"Heading 1": "\u6807\u98981", +"Heading 2": "\u6807\u98982", +"Heading 3": "\u6807\u98983", +"Heading 4": "\u6807\u98984", +"Heading 5": "\u6807\u98985", +"Heading 6": "\u6807\u98986", +"Preformatted": "\u9884\u5148\u683c\u5f0f\u5316\u7684", +"Div": "Div", +"Pre": "Pre", +"Code": "\u4ee3\u7801", +"Paragraph": "\u6bb5\u843d", +"Blockquote": "\u5f15\u6587\u533a\u5757", +"Inline": "\u6587\u672c", +"Blocks": "\u57fa\u5757", +"Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "\u5f53\u524d\u4e3a\u7eaf\u6587\u672c\u7c98\u8d34\u6a21\u5f0f\uff0c\u518d\u6b21\u70b9\u51fb\u53ef\u4ee5\u56de\u5230\u666e\u901a\u7c98\u8d34\u6a21\u5f0f\u3002", +"Fonts": "\u5b57\u4f53", +"Font Sizes": "\u5b57\u53f7", +"Class": "\u7c7b\u578b", +"Browse for an image": "\u6d4f\u89c8\u56fe\u50cf", +"OR": "\u6216", +"Drop an image here": "\u62d6\u653e\u4e00\u5f20\u56fe\u50cf\u81f3\u6b64", +"Upload": "\u4e0a\u4f20", +"Block": "\u5757", +"Align": "\u5bf9\u9f50", +"Default": "\u9ed8\u8ba4", +"Circle": "\u7a7a\u5fc3\u5706", +"Disc": "\u5b9e\u5fc3\u5706", +"Square": "\u65b9\u5757", +"Lower Alpha": "\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd", +"Lower Greek": "\u5c0f\u5199\u5e0c\u814a\u5b57\u6bcd", +"Lower Roman": "\u5c0f\u5199\u7f57\u9a6c\u5b57\u6bcd", +"Upper Alpha": "\u5927\u5199\u82f1\u6587\u5b57\u6bcd", +"Upper Roman": "\u5927\u5199\u7f57\u9a6c\u5b57\u6bcd", +"Anchor...": "\u951a\u70b9...", +"Name": "\u540d\u79f0", +"Id": "\u6807\u8bc6\u7b26", +"Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.": "\u6807\u8bc6\u7b26\u5e94\u8be5\u4ee5\u5b57\u6bcd\u5f00\u5934\uff0c\u540e\u8ddf\u5b57\u6bcd\u3001\u6570\u5b57\u3001\u7834\u6298\u53f7\u3001\u70b9\u3001\u5192\u53f7\u6216\u4e0b\u5212\u7ebf\u3002", +"You have unsaved changes are you sure you want to navigate away?": "\u4f60\u8fd8\u6709\u6587\u6863\u5c1a\u672a\u4fdd\u5b58\uff0c\u786e\u5b9a\u8981\u79bb\u5f00\uff1f", +"Restore last draft": "\u6062\u590d\u4e0a\u6b21\u7684\u8349\u7a3f", +"Special character...": "\u7279\u6b8a\u5b57\u7b26...", +"Source code": "\u6e90\u4ee3\u7801", +"Insert\/Edit code sample": "\u63d2\u5165\/\u7f16\u8f91\u4ee3\u7801\u793a\u4f8b", +"Language": "\u8bed\u8a00", +"Code sample...": "\u793a\u4f8b\u4ee3\u7801...", +"Color Picker": "\u9009\u8272\u5668", +"R": "R", +"G": "G", +"B": "B", +"Left to right": "\u4ece\u5de6\u5230\u53f3", +"Right to left": "\u4ece\u53f3\u5230\u5de6", +"Emoticons...": "\u8868\u60c5\u7b26\u53f7...", +"Metadata and Document Properties": "\u5143\u6570\u636e\u548c\u6587\u6863\u5c5e\u6027", +"Title": "\u6807\u9898", +"Keywords": "\u5173\u952e\u8bcd", +"Description": "\u63cf\u8ff0", +"Robots": "\u673a\u5668\u4eba", +"Author": "\u4f5c\u8005", +"Encoding": "\u7f16\u7801", +"Fullscreen": "\u5168\u5c4f", +"Action": "\u64cd\u4f5c", +"Shortcut": "\u5feb\u6377\u952e", +"Help": "\u5e2e\u52a9", +"Address": "\u5730\u5740", +"Focus to menubar": "\u79fb\u52a8\u7126\u70b9\u5230\u83dc\u5355\u680f", +"Focus to toolbar": "\u79fb\u52a8\u7126\u70b9\u5230\u5de5\u5177\u680f", +"Focus to element path": "\u79fb\u52a8\u7126\u70b9\u5230\u5143\u7d20\u8def\u5f84", +"Focus to contextual toolbar": "\u79fb\u52a8\u7126\u70b9\u5230\u4e0a\u4e0b\u6587\u83dc\u5355", +"Insert link (if link plugin activated)": "\u63d2\u5165\u94fe\u63a5 (\u5982\u679c\u94fe\u63a5\u63d2\u4ef6\u5df2\u6fc0\u6d3b)", +"Save (if save plugin activated)": "\u4fdd\u5b58(\u5982\u679c\u4fdd\u5b58\u63d2\u4ef6\u5df2\u6fc0\u6d3b)", +"Find (if searchreplace plugin activated)": "\u67e5\u627e(\u5982\u679c\u67e5\u627e\u66ff\u6362\u63d2\u4ef6\u5df2\u6fc0\u6d3b)", +"Plugins installed ({0}):": "\u5df2\u5b89\u88c5\u63d2\u4ef6 ({0}):", +"Premium plugins:": "\u4f18\u79c0\u63d2\u4ef6\uff1a", +"Learn more...": "\u4e86\u89e3\u66f4\u591a...", +"You are using {0}": "\u4f60\u6b63\u5728\u4f7f\u7528 {0}", +"Plugins": "\u63d2\u4ef6", +"Handy Shortcuts": "\u5feb\u6377\u952e", +"Horizontal line": "\u6c34\u5e73\u5206\u5272\u7ebf", +"Insert\/edit image": "\u63d2\u5165\/\u7f16\u8f91\u56fe\u7247", +"Image description": "\u56fe\u7247\u63cf\u8ff0", +"Source": "\u5730\u5740", +"Dimensions": "\u5927\u5c0f", +"Constrain proportions": "\u4fdd\u6301\u7eb5\u6a2a\u6bd4", +"General": "\u666e\u901a", +"Advanced": "\u9ad8\u7ea7", +"Style": "\u6837\u5f0f", +"Vertical space": "\u5782\u76f4\u8fb9\u8ddd", +"Horizontal space": "\u6c34\u5e73\u8fb9\u8ddd", +"Border": "\u8fb9\u6846", +"Insert image": "\u63d2\u5165\u56fe\u7247", +"Image...": "\u56fe\u7247...", +"Image list": "\u56fe\u7247\u5217\u8868", +"Rotate counterclockwise": "\u9006\u65f6\u9488\u65cb\u8f6c", +"Rotate clockwise": "\u987a\u65f6\u9488\u65cb\u8f6c", +"Flip vertically": "\u5782\u76f4\u7ffb\u8f6c", +"Flip horizontally": "\u6c34\u5e73\u7ffb\u8f6c", +"Edit image": "\u7f16\u8f91\u56fe\u7247", +"Image options": "\u56fe\u7247\u9009\u9879", +"Zoom in": "\u653e\u5927", +"Zoom out": "\u7f29\u5c0f", +"Crop": "\u88c1\u526a", +"Resize": "\u8c03\u6574\u5927\u5c0f", +"Orientation": "\u65b9\u5411", +"Brightness": "\u4eae\u5ea6", +"Sharpen": "\u9510\u5316", +"Contrast": "\u5bf9\u6bd4\u5ea6", +"Color levels": "\u989c\u8272\u5c42\u6b21", +"Gamma": "\u4f3d\u9a6c\u503c", +"Invert": "\u53cd\u8f6c", +"Apply": "\u5e94\u7528", +"Back": "\u540e\u9000", +"Insert date\/time": "\u63d2\u5165\u65e5\u671f\/\u65f6\u95f4", +"Date\/time": "\u65e5\u671f\/\u65f6\u95f4", +"Insert\/Edit Link": "\u63d2\u5165\/\u7f16\u8f91\u94fe\u63a5", +"Insert\/edit link": "\u63d2\u5165\/\u7f16\u8f91\u94fe\u63a5", +"Text to display": "\u663e\u793a\u6587\u5b57", +"Url": "\u5730\u5740", +"Open link in...": "\u94fe\u63a5\u6253\u5f00\u4f4d\u7f6e...", +"Current window": "\u5f53\u524d\u7a97\u53e3", +"None": "\u65e0", +"New window": "\u5728\u65b0\u7a97\u53e3\u6253\u5f00", +"Remove link": "\u5220\u9664\u94fe\u63a5", +"Anchors": "\u951a\u70b9", +"Link...": "\u94fe\u63a5...", +"Paste or type a link": "\u7c98\u8d34\u6216\u8f93\u5165\u94fe\u63a5", +"The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "\u4f60\u6240\u586b\u5199\u7684URL\u5730\u5740\u4e3a\u90ae\u4ef6\u5730\u5740\uff0c\u9700\u8981\u52a0\u4e0amailto:\u524d\u7f00\u5417\uff1f", +"The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "\u4f60\u6240\u586b\u5199\u7684URL\u5730\u5740\u5c5e\u4e8e\u5916\u90e8\u94fe\u63a5\uff0c\u9700\u8981\u52a0\u4e0ahttp:\/\/:\u524d\u7f00\u5417\uff1f", +"Link list": "\u94fe\u63a5\u5217\u8868", +"Insert video": "\u63d2\u5165\u89c6\u9891", +"Insert\/edit video": "\u63d2\u5165\/\u7f16\u8f91\u89c6\u9891", +"Insert\/edit media": "\u63d2\u5165\/\u7f16\u8f91\u5a92\u4f53", +"Alternative source": "\u955c\u50cf", +"Alternative source URL": "\u66ff\u4ee3\u6765\u6e90\u7f51\u5740", +"Media poster (Image URL)": "\u5c01\u9762(\u56fe\u7247\u5730\u5740)", +"Paste your embed code below:": "\u5c06\u5185\u5d4c\u4ee3\u7801\u7c98\u8d34\u5728\u4e0b\u9762:", +"Embed": "\u5185\u5d4c", +"Media...": "\u591a\u5a92\u4f53...", +"Nonbreaking space": "\u4e0d\u95f4\u65ad\u7a7a\u683c", +"Page break": "\u5206\u9875\u7b26", +"Paste as text": "\u7c98\u8d34\u4e3a\u6587\u672c", +"Preview": "\u9884\u89c8", +"Print...": "\u6253\u5370...", +"Save": "\u4fdd\u5b58", +"Find": "\u67e5\u627e", +"Replace with": "\u66ff\u6362\u4e3a", +"Replace": "\u66ff\u6362", +"Replace all": "\u5168\u90e8\u66ff\u6362", +"Previous": "\u4e0a\u4e00\u4e2a", +"Next": "\u4e0b\u4e00\u4e2a", +"Find and replace...": "\u67e5\u627e\u5e76\u66ff\u6362...", +"Could not find the specified string.": "\u672a\u627e\u5230\u641c\u7d22\u5185\u5bb9.", +"Match case": "\u533a\u5206\u5927\u5c0f\u5199", +"Find whole words only": "\u5168\u5b57\u5339\u914d", +"Spell check": "\u62fc\u5199\u68c0\u67e5", +"Ignore": "\u5ffd\u7565", +"Ignore all": "\u5168\u90e8\u5ffd\u7565", +"Finish": "\u5b8c\u6210", +"Add to Dictionary": "\u6dfb\u52a0\u5230\u5b57\u5178", +"Insert table": "\u63d2\u5165\u8868\u683c", +"Table properties": "\u8868\u683c\u5c5e\u6027", +"Delete table": "\u5220\u9664\u8868\u683c", +"Cell": "\u5355\u5143\u683c", +"Row": "\u884c", +"Column": "\u5217", +"Cell properties": "\u5355\u5143\u683c\u5c5e\u6027", +"Merge cells": "\u5408\u5e76\u5355\u5143\u683c", +"Split cell": "\u62c6\u5206\u5355\u5143\u683c", +"Insert row before": "\u5728\u4e0a\u65b9\u63d2\u5165", +"Insert row after": "\u5728\u4e0b\u65b9\u63d2\u5165", +"Delete row": "\u5220\u9664\u884c", +"Row properties": "\u884c\u5c5e\u6027", +"Cut row": "\u526a\u5207\u884c", +"Copy row": "\u590d\u5236\u884c", +"Paste row before": "\u7c98\u8d34\u5230\u4e0a\u65b9", +"Paste row after": "\u7c98\u8d34\u5230\u4e0b\u65b9", +"Insert column before": "\u5728\u5de6\u4fa7\u63d2\u5165", +"Insert column after": "\u5728\u53f3\u4fa7\u63d2\u5165", +"Delete column": "\u5220\u9664\u5217", +"Cols": "\u5217", +"Rows": "\u884c", +"Width": "\u5bbd", +"Height": "\u9ad8", +"Cell spacing": "\u5355\u5143\u683c\u5916\u95f4\u8ddd", +"Cell padding": "\u5355\u5143\u683c\u5185\u8fb9\u8ddd", +"Show caption": "\u663e\u793a\u6807\u9898", +"Left": "\u5de6\u5bf9\u9f50", +"Center": "\u5c45\u4e2d", +"Right": "\u53f3\u5bf9\u9f50", +"Cell type": "\u5355\u5143\u683c\u7c7b\u578b", +"Scope": "\u8303\u56f4", +"Alignment": "\u5bf9\u9f50\u65b9\u5f0f", +"H Align": "\u6c34\u5e73\u5bf9\u9f50", +"V Align": "\u5782\u76f4\u5bf9\u9f50", +"Top": "\u9876\u90e8\u5bf9\u9f50", +"Middle": "\u5782\u76f4\u5c45\u4e2d", +"Bottom": "\u5e95\u90e8\u5bf9\u9f50", +"Header cell": "\u8868\u5934\u5355\u5143\u683c", +"Row group": "\u884c\u7ec4", +"Column group": "\u5217\u7ec4", +"Row type": "\u884c\u7c7b\u578b", +"Header": "\u8868\u5934", +"Body": "\u8868\u4f53", +"Footer": "\u8868\u5c3e", +"Border color": "\u8fb9\u6846\u989c\u8272", +"Insert template...": "\u63d2\u5165\u6a21\u677f...", +"Templates": "\u6a21\u677f", +"Template": "\u6a21\u677f", +"Text color": "\u6587\u5b57\u989c\u8272", +"Background color": "\u80cc\u666f\u8272", +"Custom...": "\u81ea\u5b9a\u4e49...", +"Custom color": "\u81ea\u5b9a\u4e49\u989c\u8272", +"No color": "\u65e0", +"Remove color": "\u79fb\u9664\u989c\u8272", +"Table of Contents": "\u5185\u5bb9\u5217\u8868", +"Show blocks": "\u663e\u793a\u533a\u5757\u8fb9\u6846", +"Show invisible characters": "\u663e\u793a\u4e0d\u53ef\u89c1\u5b57\u7b26", +"Word count": "\u5b57\u6570", +"Count": "\u8ba1\u6570", +"Document": "\u6587\u6863", +"Selection": "\u9009\u62e9", +"Words": "\u5355\u8bcd", +"Words: {0}": "\u5b57\u6570\uff1a{0}", +"{0} words": "{0} \u5b57", +"File": "\u6587\u4ef6", +"Edit": "\u7f16\u8f91", +"Insert": "\u63d2\u5165", +"View": "\u89c6\u56fe", +"Format": "\u683c\u5f0f", +"Table": "\u8868\u683c", +"Tools": "\u5de5\u5177", +"Powered by {0}": "\u7531{0}\u9a71\u52a8", +"Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "\u5728\u7f16\u8f91\u533a\u6309ALT-F9\u6253\u5f00\u83dc\u5355\uff0c\u6309ALT-F10\u6253\u5f00\u5de5\u5177\u680f\uff0c\u6309ALT-0\u67e5\u770b\u5e2e\u52a9", +"Image title": "\u56fe\u7247\u6807\u9898", +"Border width": "\u8fb9\u6846\u5bbd\u5ea6", +"Border style": "\u8fb9\u6846\u6837\u5f0f", +"Error": "\u9519\u8bef", +"Warn": "\u8b66\u544a", +"Valid": "\u6709\u6548", +"To open the popup, press Shift+Enter": "\u6309Shitf+Enter\u952e\u6253\u5f00\u5bf9\u8bdd\u6846", +"Rich Text Area. Press ALT-0 for help.": "\u7f16\u8f91\u533a\u3002\u6309Alt+0\u952e\u6253\u5f00\u5e2e\u52a9\u3002", +"System Font": "\u7cfb\u7edf\u5b57\u4f53", +"Failed to upload image: {0}": "\u56fe\u7247\u4e0a\u4f20\u5931\u8d25: {0}", +"Failed to load plugin: {0} from url {1}": "\u63d2\u4ef6\u52a0\u8f7d\u5931\u8d25: {0} \u6765\u81ea\u94fe\u63a5 {1}", +"Failed to load plugin url: {0}": "\u63d2\u4ef6\u52a0\u8f7d\u5931\u8d25 \u94fe\u63a5: {0}", +"Failed to initialize plugin: {0}": "\u63d2\u4ef6\u521d\u59cb\u5316\u5931\u8d25: {0}", +"example": "\u793a\u4f8b", +"Search": "\u641c\u7d22", +"All": "\u5168\u90e8", +"Currency": "\u8d27\u5e01", +"Text": "\u6587\u5b57", +"Quotations": "\u5f15\u7528", +"Mathematical": "\u6570\u5b66", +"Extended Latin": "\u62c9\u4e01\u8bed\u6269\u5145", +"Symbols": "\u7b26\u53f7", +"Arrows": "\u7bad\u5934", +"User Defined": "\u81ea\u5b9a\u4e49", +"dollar sign": "\u7f8e\u5143\u7b26\u53f7", +"currency sign": "\u8d27\u5e01\u7b26\u53f7", +"euro-currency sign": "\u6b27\u5143\u7b26\u53f7", +"colon sign": "\u5192\u53f7", +"cruzeiro sign": "\u514b\u9c81\u8d5b\u7f57\u5e01\u7b26\u53f7", +"french franc sign": "\u6cd5\u90ce\u7b26\u53f7", +"lira sign": "\u91cc\u62c9\u7b26\u53f7", +"mill sign": "\u5bc6\u5c14\u7b26\u53f7", +"naira sign": "\u5948\u62c9\u7b26\u53f7", +"peseta sign": "\u6bd4\u585e\u5854\u7b26\u53f7", +"rupee sign": "\u5362\u6bd4\u7b26\u53f7", +"won sign": "\u97e9\u5143\u7b26\u53f7", +"new sheqel sign": "\u65b0\u8c22\u514b\u5c14\u7b26\u53f7", +"dong sign": "\u8d8a\u5357\u76fe\u7b26\u53f7", +"kip sign": "\u8001\u631d\u57fa\u666e\u7b26\u53f7", +"tugrik sign": "\u56fe\u683c\u91cc\u514b\u7b26\u53f7", +"drachma sign": "\u5fb7\u62c9\u514b\u9a6c\u7b26\u53f7", +"german penny symbol": "\u5fb7\u56fd\u4fbf\u58eb\u7b26\u53f7", +"peso sign": "\u6bd4\u7d22\u7b26\u53f7", +"guarani sign": "\u74dc\u62c9\u5c3c\u7b26\u53f7", +"austral sign": "\u6fb3\u5143\u7b26\u53f7", +"hryvnia sign": "\u683c\u91cc\u592b\u5c3c\u4e9a\u7b26\u53f7", +"cedi sign": "\u585e\u5730\u7b26\u53f7", +"livre tournois sign": "\u91cc\u5f17\u5f17\u5c14\u7b26\u53f7", +"spesmilo sign": "spesmilo\u7b26\u53f7", +"tenge sign": "\u575a\u6208\u7b26\u53f7", +"indian rupee sign": "\u5370\u5ea6\u5362\u6bd4", +"turkish lira sign": "\u571f\u8033\u5176\u91cc\u62c9", +"nordic mark sign": "\u5317\u6b27\u9a6c\u514b", +"manat sign": "\u9a6c\u7eb3\u7279\u7b26\u53f7", +"ruble sign": "\u5362\u5e03\u7b26\u53f7", +"yen character": "\u65e5\u5143\u5b57\u6837", +"yuan character": "\u4eba\u6c11\u5e01\u5143\u5b57\u6837", +"yuan character, in hong kong and taiwan": "\u5143\u5b57\u6837\uff08\u6e2f\u53f0\u5730\u533a\uff09", +"yen\/yuan character variant one": "\u5143\u5b57\u6837\uff08\u5927\u5199\uff09", +"Loading emoticons...": "\u52a0\u8f7d\u8868\u60c5\u7b26\u53f7...", +"Could not load emoticons": "\u4e0d\u80fd\u52a0\u8f7d\u8868\u60c5\u7b26\u53f7", +"People": "\u4eba\u7c7b", +"Animals and Nature": "\u52a8\u7269\u548c\u81ea\u7136", +"Food and Drink": "\u98df\u7269\u548c\u996e\u54c1", +"Activity": "\u6d3b\u52a8", +"Travel and Places": "\u65c5\u6e38\u548c\u5730\u70b9", +"Objects": "\u7269\u4ef6", +"Flags": "\u65d7\u5e1c", +"Characters": "\u5b57\u7b26", +"Characters (no spaces)": "\u5b57\u7b26(\u65e0\u7a7a\u683c)", +"{0} characters": "{0} \u4e2a\u5b57\u7b26", +"Error: Form submit field collision.": "\u9519\u8bef: \u8868\u5355\u63d0\u4ea4\u5b57\u6bb5\u51b2\u7a81\u3002", +"Error: No form element found.": "\u9519\u8bef: \u6ca1\u6709\u8868\u5355\u63a7\u4ef6\u3002", +"Update": "\u66f4\u65b0", +"Color swatch": "\u989c\u8272\u6837\u672c", +"Turquoise": "\u9752\u7eff\u8272", +"Green": "\u7eff\u8272", +"Blue": "\u84dd\u8272", +"Purple": "\u7d2b\u8272", +"Navy Blue": "\u6d77\u519b\u84dd", +"Dark Turquoise": "\u6df1\u84dd\u7eff\u8272", +"Dark Green": "\u6df1\u7eff\u8272", +"Medium Blue": "\u4e2d\u84dd\u8272", +"Medium Purple": "\u4e2d\u7d2b\u8272", +"Midnight Blue": "\u6df1\u84dd\u8272", +"Yellow": "\u9ec4\u8272", +"Orange": "\u6a59\u8272", +"Red": "\u7ea2\u8272", +"Light Gray": "\u6d45\u7070\u8272", +"Gray": "\u7070\u8272", +"Dark Yellow": "\u6697\u9ec4\u8272", +"Dark Orange": "\u6df1\u6a59\u8272", +"Dark Red": "\u6df1\u7ea2\u8272", +"Medium Gray": "\u4e2d\u7070\u8272", +"Dark Gray": "\u6df1\u7070\u8272", +"Light Green": "\u6d45\u7eff\u8272", +"Light Yellow": "\u6d45\u9ec4\u8272", +"Light Red": "\u6d45\u7ea2\u8272", +"Light Purple": "\u6d45\u7d2b\u8272", +"Light Blue": "\u6d45\u84dd\u8272", +"Dark Purple": "\u6df1\u7d2b\u8272", +"Dark Blue": "\u6df1\u84dd\u8272", +"Black": "\u9ed1\u8272", +"White": "\u767d\u8272", +"Switch to or from fullscreen mode": "\u5207\u6362\u5168\u5c4f\u6a21\u5f0f", +"Open help dialog": "\u6253\u5f00\u5e2e\u52a9\u5bf9\u8bdd\u6846", +"history": "\u5386\u53f2", +"styles": "\u6837\u5f0f", +"formatting": "\u683c\u5f0f\u5316", +"alignment": "\u5bf9\u9f50", +"indentation": "\u7f29\u8fdb", +"permanent pen": "\u8bb0\u53f7\u7b14", +"comments": "\u5907\u6ce8", +"Format Painter": "\u683c\u5f0f\u5237", +"Insert\/edit iframe": "\u63d2\u5165\/\u7f16\u8f91\u6846\u67b6", +"Capitalization": "\u5927\u5199", +"lowercase": "\u5c0f\u5199", +"UPPERCASE": "\u5927\u5199", +"Title Case": "\u9996\u5b57\u6bcd\u5927\u5199", +"Permanent Pen Properties": "\u6c38\u4e45\u7b14\u5c5e\u6027", +"Permanent pen properties...": "\u6c38\u4e45\u7b14\u5c5e\u6027...", +"Font": "\u5b57\u4f53", +"Size": "\u5b57\u53f7", +"More...": "\u66f4\u591a...", +"Spellcheck Language": "\u62fc\u5199\u68c0\u67e5\u8bed\u8a00", +"Select...": "\u9009\u62e9...", +"Preferences": "\u9996\u9009\u9879", +"Yes": "\u662f", +"No": "\u5426", +"Keyboard Navigation": "\u952e\u76d8\u6307\u5f15", +"Version": "\u7248\u672c", +"Anchor": "\u951a\u70b9", +"Special character": "\u7279\u6b8a\u7b26\u53f7", +"Code sample": "\u4ee3\u7801\u793a\u4f8b", +"Color": "\u989c\u8272", +"Emoticons": "\u8868\u60c5", +"Document properties": "\u6587\u6863\u5c5e\u6027", +"Image": "\u56fe\u7247", +"Insert link": "\u63d2\u5165\u94fe\u63a5", +"Target": "\u6253\u5f00\u65b9\u5f0f", +"Link": "\u94fe\u63a5", +"Poster": "\u5c01\u9762", +"Media": "\u5a92\u4f53", +"Print": "\u6253\u5370", +"Prev": "\u4e0a\u4e00\u4e2a", +"Find and replace": "\u67e5\u627e\u548c\u66ff\u6362", +"Whole words": "\u5168\u5b57\u5339\u914d", +"Spellcheck": "\u62fc\u5199\u68c0\u67e5", +"Caption": "\u6807\u9898", +"Insert template": "\u63d2\u5165\u6a21\u677f" +}); \ No newline at end of file diff --git a/public/tinymce/skins/content/dark/content.css b/public/tinymce/skins/content/dark/content.css new file mode 100644 index 00000000..bae7923f --- /dev/null +++ b/public/tinymce/skins/content/dark/content.css @@ -0,0 +1,72 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +body { + background-color: #2f3742; + color: #dfe0e4; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; + line-height: 1.4; + margin: 1rem; +} +a { + color: #4099ff; +} +table { + border-collapse: collapse; +} +/* Apply a default padding if legacy cellpadding attribute is missing */ +table:not([cellpadding]) th, +table:not([cellpadding]) td { + padding: 0.4rem; +} +/* Set default table styles if a table has a positive border attribute + and no inline css */ +table[border]:not([border="0"]):not([style*="border-width"]) th, +table[border]:not([border="0"]):not([style*="border-width"]) td { + border-width: 1px; +} +/* Set default table styles if a table has a positive border attribute + and no inline css */ +table[border]:not([border="0"]):not([style*="border-style"]) th, +table[border]:not([border="0"]):not([style*="border-style"]) td { + border-style: solid; +} +/* Set default table styles if a table has a positive border attribute + and no inline css */ +table[border]:not([border="0"]):not([style*="border-color"]) th, +table[border]:not([border="0"]):not([style*="border-color"]) td { + border-color: #6d737b; +} +figure { + display: table; + margin: 1rem auto; +} +figure figcaption { + color: #8a8f97; + display: block; + margin-top: 0.25rem; + text-align: center; +} +hr { + border-color: #6d737b; + border-style: solid; + border-width: 1px 0 0 0; +} +code { + background-color: #6d737b; + border-radius: 3px; + padding: 0.1rem 0.2rem; +} +.mce-content-body:not([dir=rtl]) blockquote { + border-left: 2px solid #6d737b; + margin-left: 1.5rem; + padding-left: 1rem; +} +.mce-content-body[dir=rtl] blockquote { + border-right: 2px solid #6d737b; + margin-right: 1.5rem; + padding-right: 1rem; +} diff --git a/public/tinymce/skins/content/dark/content.min.css b/public/tinymce/skins/content/dark/content.min.css new file mode 100644 index 00000000..07d40c26 --- /dev/null +++ b/public/tinymce/skins/content/dark/content.min.css @@ -0,0 +1,7 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +body{background-color:#2f3742;color:#dfe0e4;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif;line-height:1.4;margin:1rem}a{color:#4099ff}table{border-collapse:collapse}table:not([cellpadding]) td,table:not([cellpadding]) th{padding:.4rem}table[border]:not([border="0"]):not([style*=border-width]) td,table[border]:not([border="0"]):not([style*=border-width]) th{border-width:1px}table[border]:not([border="0"]):not([style*=border-style]) td,table[border]:not([border="0"]):not([style*=border-style]) th{border-style:solid}table[border]:not([border="0"]):not([style*=border-color]) td,table[border]:not([border="0"]):not([style*=border-color]) th{border-color:#6d737b}figure{display:table;margin:1rem auto}figure figcaption{color:#8a8f97;display:block;margin-top:.25rem;text-align:center}hr{border-color:#6d737b;border-style:solid;border-width:1px 0 0 0}code{background-color:#6d737b;border-radius:3px;padding:.1rem .2rem}.mce-content-body:not([dir=rtl]) blockquote{border-left:2px solid #6d737b;margin-left:1.5rem;padding-left:1rem}.mce-content-body[dir=rtl] blockquote{border-right:2px solid #6d737b;margin-right:1.5rem;padding-right:1rem} diff --git a/public/tinymce/skins/content/default/content.css b/public/tinymce/skins/content/default/content.css new file mode 100644 index 00000000..dd6a5c1c --- /dev/null +++ b/public/tinymce/skins/content/default/content.css @@ -0,0 +1,67 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +body { + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; + line-height: 1.4; + margin: 1rem; +} +table { + border-collapse: collapse; +} +/* Apply a default padding if legacy cellpadding attribute is missing */ +table:not([cellpadding]) th, +table:not([cellpadding]) td { + padding: 0.4rem; +} +/* Set default table styles if a table has a positive border attribute + and no inline css */ +table[border]:not([border="0"]):not([style*="border-width"]) th, +table[border]:not([border="0"]):not([style*="border-width"]) td { + border-width: 1px; +} +/* Set default table styles if a table has a positive border attribute + and no inline css */ +table[border]:not([border="0"]):not([style*="border-style"]) th, +table[border]:not([border="0"]):not([style*="border-style"]) td { + border-style: solid; +} +/* Set default table styles if a table has a positive border attribute + and no inline css */ +table[border]:not([border="0"]):not([style*="border-color"]) th, +table[border]:not([border="0"]):not([style*="border-color"]) td { + border-color: #ccc; +} +figure { + display: table; + margin: 1rem auto; +} +figure figcaption { + color: #999; + display: block; + margin-top: 0.25rem; + text-align: center; +} +hr { + border-color: #ccc; + border-style: solid; + border-width: 1px 0 0 0; +} +code { + background-color: #e8e8e8; + border-radius: 3px; + padding: 0.1rem 0.2rem; +} +.mce-content-body:not([dir=rtl]) blockquote { + border-left: 2px solid #ccc; + margin-left: 1.5rem; + padding-left: 1rem; +} +.mce-content-body[dir=rtl] blockquote { + border-right: 2px solid #ccc; + margin-right: 1.5rem; + padding-right: 1rem; +} diff --git a/public/tinymce/skins/content/default/content.min.css b/public/tinymce/skins/content/default/content.min.css new file mode 100644 index 00000000..29cd987e --- /dev/null +++ b/public/tinymce/skins/content/default/content.min.css @@ -0,0 +1,7 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif;line-height:1.4;margin:1rem}table{border-collapse:collapse}table:not([cellpadding]) td,table:not([cellpadding]) th{padding:.4rem}table[border]:not([border="0"]):not([style*=border-width]) td,table[border]:not([border="0"]):not([style*=border-width]) th{border-width:1px}table[border]:not([border="0"]):not([style*=border-style]) td,table[border]:not([border="0"]):not([style*=border-style]) th{border-style:solid}table[border]:not([border="0"]):not([style*=border-color]) td,table[border]:not([border="0"]):not([style*=border-color]) th{border-color:#ccc}figure{display:table;margin:1rem auto}figure figcaption{color:#999;display:block;margin-top:.25rem;text-align:center}hr{border-color:#ccc;border-style:solid;border-width:1px 0 0 0}code{background-color:#e8e8e8;border-radius:3px;padding:.1rem .2rem}.mce-content-body:not([dir=rtl]) blockquote{border-left:2px solid #ccc;margin-left:1.5rem;padding-left:1rem}.mce-content-body[dir=rtl] blockquote{border-right:2px solid #ccc;margin-right:1.5rem;padding-right:1rem} diff --git a/public/tinymce/skins/content/document/content.css b/public/tinymce/skins/content/document/content.css new file mode 100644 index 00000000..75f637a1 --- /dev/null +++ b/public/tinymce/skins/content/document/content.css @@ -0,0 +1,72 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +@media screen { + html { + background: #f4f4f4; + min-height: 100%; + } +} +body { + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; +} +@media screen { + body { + background-color: #fff; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.15); + box-sizing: border-box; + margin: 1rem auto 0; + max-width: 820px; + min-height: calc(100vh - 1rem); + padding: 4rem 6rem 6rem 6rem; + } +} +table { + border-collapse: collapse; +} +/* Apply a default padding if legacy cellpadding attribute is missing */ +table:not([cellpadding]) th, +table:not([cellpadding]) td { + padding: 0.4rem; +} +/* Set default table styles if a table has a positive border attribute + and no inline css */ +table[border]:not([border="0"]):not([style*="border-width"]) th, +table[border]:not([border="0"]):not([style*="border-width"]) td { + border-width: 1px; +} +/* Set default table styles if a table has a positive border attribute + and no inline css */ +table[border]:not([border="0"]):not([style*="border-style"]) th, +table[border]:not([border="0"]):not([style*="border-style"]) td { + border-style: solid; +} +/* Set default table styles if a table has a positive border attribute + and no inline css */ +table[border]:not([border="0"]):not([style*="border-color"]) th, +table[border]:not([border="0"]):not([style*="border-color"]) td { + border-color: #ccc; +} +figure figcaption { + color: #999; + margin-top: 0.25rem; + text-align: center; +} +hr { + border-color: #ccc; + border-style: solid; + border-width: 1px 0 0 0; +} +.mce-content-body:not([dir=rtl]) blockquote { + border-left: 2px solid #ccc; + margin-left: 1.5rem; + padding-left: 1rem; +} +.mce-content-body[dir=rtl] blockquote { + border-right: 2px solid #ccc; + margin-right: 1.5rem; + padding-right: 1rem; +} diff --git a/public/tinymce/skins/content/document/content.min.css b/public/tinymce/skins/content/document/content.min.css new file mode 100644 index 00000000..a1feef4c --- /dev/null +++ b/public/tinymce/skins/content/document/content.min.css @@ -0,0 +1,7 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +@media screen{html{background:#f4f4f4;min-height:100%}}body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif}@media screen{body{background-color:#fff;box-shadow:0 0 4px rgba(0,0,0,.15);box-sizing:border-box;margin:1rem auto 0;max-width:820px;min-height:calc(100vh - 1rem);padding:4rem 6rem 6rem 6rem}}table{border-collapse:collapse}table:not([cellpadding]) td,table:not([cellpadding]) th{padding:.4rem}table[border]:not([border="0"]):not([style*=border-width]) td,table[border]:not([border="0"]):not([style*=border-width]) th{border-width:1px}table[border]:not([border="0"]):not([style*=border-style]) td,table[border]:not([border="0"]):not([style*=border-style]) th{border-style:solid}table[border]:not([border="0"]):not([style*=border-color]) td,table[border]:not([border="0"]):not([style*=border-color]) th{border-color:#ccc}figure figcaption{color:#999;margin-top:.25rem;text-align:center}hr{border-color:#ccc;border-style:solid;border-width:1px 0 0 0}.mce-content-body:not([dir=rtl]) blockquote{border-left:2px solid #ccc;margin-left:1.5rem;padding-left:1rem}.mce-content-body[dir=rtl] blockquote{border-right:2px solid #ccc;margin-right:1.5rem;padding-right:1rem} diff --git a/public/tinymce/skins/content/writer/content.css b/public/tinymce/skins/content/writer/content.css new file mode 100644 index 00000000..ceee3599 --- /dev/null +++ b/public/tinymce/skins/content/writer/content.css @@ -0,0 +1,68 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +body { + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; + line-height: 1.4; + margin: 1rem auto; + max-width: 900px; +} +table { + border-collapse: collapse; +} +/* Apply a default padding if legacy cellpadding attribute is missing */ +table:not([cellpadding]) th, +table:not([cellpadding]) td { + padding: 0.4rem; +} +/* Set default table styles if a table has a positive border attribute + and no inline css */ +table[border]:not([border="0"]):not([style*="border-width"]) th, +table[border]:not([border="0"]):not([style*="border-width"]) td { + border-width: 1px; +} +/* Set default table styles if a table has a positive border attribute + and no inline css */ +table[border]:not([border="0"]):not([style*="border-style"]) th, +table[border]:not([border="0"]):not([style*="border-style"]) td { + border-style: solid; +} +/* Set default table styles if a table has a positive border attribute + and no inline css */ +table[border]:not([border="0"]):not([style*="border-color"]) th, +table[border]:not([border="0"]):not([style*="border-color"]) td { + border-color: #ccc; +} +figure { + display: table; + margin: 1rem auto; +} +figure figcaption { + color: #999; + display: block; + margin-top: 0.25rem; + text-align: center; +} +hr { + border-color: #ccc; + border-style: solid; + border-width: 1px 0 0 0; +} +code { + background-color: #e8e8e8; + border-radius: 3px; + padding: 0.1rem 0.2rem; +} +.mce-content-body:not([dir=rtl]) blockquote { + border-left: 2px solid #ccc; + margin-left: 1.5rem; + padding-left: 1rem; +} +.mce-content-body[dir=rtl] blockquote { + border-right: 2px solid #ccc; + margin-right: 1.5rem; + padding-right: 1rem; +} diff --git a/public/tinymce/skins/content/writer/content.min.css b/public/tinymce/skins/content/writer/content.min.css new file mode 100644 index 00000000..0d8f5d34 --- /dev/null +++ b/public/tinymce/skins/content/writer/content.min.css @@ -0,0 +1,7 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif;line-height:1.4;margin:1rem auto;max-width:900px}table{border-collapse:collapse}table:not([cellpadding]) td,table:not([cellpadding]) th{padding:.4rem}table[border]:not([border="0"]):not([style*=border-width]) td,table[border]:not([border="0"]):not([style*=border-width]) th{border-width:1px}table[border]:not([border="0"]):not([style*=border-style]) td,table[border]:not([border="0"]):not([style*=border-style]) th{border-style:solid}table[border]:not([border="0"]):not([style*=border-color]) td,table[border]:not([border="0"]):not([style*=border-color]) th{border-color:#ccc}figure{display:table;margin:1rem auto}figure figcaption{color:#999;display:block;margin-top:.25rem;text-align:center}hr{border-color:#ccc;border-style:solid;border-width:1px 0 0 0}code{background-color:#e8e8e8;border-radius:3px;padding:.1rem .2rem}.mce-content-body:not([dir=rtl]) blockquote{border-left:2px solid #ccc;margin-left:1.5rem;padding-left:1rem}.mce-content-body[dir=rtl] blockquote{border-right:2px solid #ccc;margin-right:1.5rem;padding-right:1rem} diff --git a/public/tinymce/skins/ui/oxide-dark/content.css b/public/tinymce/skins/ui/oxide-dark/content.css new file mode 100644 index 00000000..a6871c8c --- /dev/null +++ b/public/tinymce/skins/ui/oxide-dark/content.css @@ -0,0 +1,714 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +.mce-content-body .mce-item-anchor { + background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%20fill%3D%22%23cccccc%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center; + cursor: default; + display: inline-block; + height: 12px !important; + padding: 0 2px; + -webkit-user-modify: read-only; + -moz-user-modify: read-only; + -webkit-user-select: all; + -moz-user-select: all; + -ms-user-select: all; + user-select: all; + width: 8px !important; +} +.mce-content-body .mce-item-anchor[data-mce-selected] { + outline-offset: 1px; +} +.tox-comments-visible .tox-comment { + background-color: #fff0b7; +} +.tox-comments-visible .tox-comment--active { + background-color: #ffe168; +} +.tox-checklist > li:not(.tox-checklist--hidden) { + list-style: none; + margin: 0.25em 0; +} +.tox-checklist > li:not(.tox-checklist--hidden)::before { + content: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%236d737b%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A"); + cursor: pointer; + height: 1em; + margin-left: -1.5em; + margin-top: 0.125em; + position: absolute; + width: 1em; +} +.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before { + content: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A"); +} +[dir=rtl] .tox-checklist > li:not(.tox-checklist--hidden)::before { + margin-left: 0; + margin-right: -1.5em; +} +/* stylelint-disable */ +/* http://prismjs.com/ */ +/** + * Dracula Theme originally by Zeno Rocha [@zenorocha] + * https://draculatheme.com/ + * + * Ported for PrismJS by Albert Vallverdu [@byverdu] + */ +code[class*="language-"], +pre[class*="language-"] { + color: #f8f8f2; + background: none; + text-shadow: 0 1px rgba(0, 0, 0, 0.3); + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + -moz-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: 0.5em 0; + overflow: auto; + border-radius: 0.3em; +} +:not(pre) > code[class*="language-"], +pre[class*="language-"] { + background: #282a36; +} +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; +} +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #6272a4; +} +.token.punctuation { + color: #f8f8f2; +} +.namespace { + opacity: 0.7; +} +.token.property, +.token.tag, +.token.constant, +.token.symbol, +.token.deleted { + color: #ff79c6; +} +.token.boolean, +.token.number { + color: #bd93f9; +} +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #50fa7b; +} +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string, +.token.variable { + color: #f8f8f2; +} +.token.atrule, +.token.attr-value, +.token.function, +.token.class-name { + color: #f1fa8c; +} +.token.keyword { + color: #8be9fd; +} +.token.regex, +.token.important { + color: #ffb86c; +} +.token.important, +.token.bold { + font-weight: bold; +} +.token.italic { + font-style: italic; +} +.token.entity { + cursor: help; +} +/* stylelint-enable */ +.mce-content-body { + overflow-wrap: break-word; + word-wrap: break-word; +} +.mce-content-body .mce-visual-caret { + background-color: black; + background-color: currentColor; + position: absolute; +} +.mce-content-body .mce-visual-caret-hidden { + display: none; +} +.mce-content-body *[data-mce-caret] { + left: -1000px; + margin: 0; + padding: 0; + position: absolute; + right: auto; + top: 0; +} +.mce-content-body .mce-offscreen-selection { + left: -2000000px; + max-width: 1000000px; + position: absolute; +} +.mce-content-body *[contentEditable=false] { + cursor: default; +} +.mce-content-body *[contentEditable=true] { + cursor: text; +} +.tox-cursor-format-painter { + cursor: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"), default; +} +.mce-content-body figure.align-left { + float: left; +} +.mce-content-body figure.align-right { + float: right; +} +.mce-content-body figure.image.align-center { + display: table; + margin-left: auto; + margin-right: auto; +} +.mce-preview-object { + border: 1px solid gray; + display: inline-block; + line-height: 0; + margin: 0 2px 0 2px; + position: relative; +} +.mce-preview-object .mce-shim { + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +.mce-preview-object[data-mce-selected="2"] .mce-shim { + display: none; +} +.mce-object { + background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%20fill%3D%22%23cccccc%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center; + border: 1px dashed #aaa; +} +.mce-pagebreak { + border: 1px dashed #aaa; + cursor: default; + display: block; + height: 5px; + margin-top: 15px; + page-break-before: always; + width: 100%; +} +@media print { + .mce-pagebreak { + border: 0; + } +} +.tiny-pageembed .mce-shim { + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +.tiny-pageembed[data-mce-selected="2"] .mce-shim { + display: none; +} +.tiny-pageembed { + display: inline-block; + position: relative; +} +.tiny-pageembed--21by9, +.tiny-pageembed--16by9, +.tiny-pageembed--4by3, +.tiny-pageembed--1by1 { + display: block; + overflow: hidden; + padding: 0; + position: relative; + width: 100%; +} +.tiny-pageembed--21by9 { + padding-top: 42.857143%; +} +.tiny-pageembed--16by9 { + padding-top: 56.25%; +} +.tiny-pageembed--4by3 { + padding-top: 75%; +} +.tiny-pageembed--1by1 { + padding-top: 100%; +} +.tiny-pageembed--21by9 iframe, +.tiny-pageembed--16by9 iframe, +.tiny-pageembed--4by3 iframe, +.tiny-pageembed--1by1 iframe { + border: 0; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +.mce-content-body[data-mce-placeholder] { + position: relative; +} +.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before { + color: rgba(34, 47, 62, 0.7); + content: attr(data-mce-placeholder); + position: absolute; +} +.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before { + left: 1px; +} +.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before { + right: 1px; +} +.mce-content-body div.mce-resizehandle { + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + height: 10px; + position: absolute; + width: 10px; + z-index: 10000; +} +.mce-content-body div.mce-resizehandle:hover { + background-color: #4099ff; +} +.mce-content-body div.mce-resizehandle:nth-of-type(1) { + cursor: nwse-resize; +} +.mce-content-body div.mce-resizehandle:nth-of-type(2) { + cursor: nesw-resize; +} +.mce-content-body div.mce-resizehandle:nth-of-type(3) { + cursor: nwse-resize; +} +.mce-content-body div.mce-resizehandle:nth-of-type(4) { + cursor: nesw-resize; +} +.mce-content-body .mce-resize-backdrop { + z-index: 10000; +} +.mce-content-body .mce-clonedresizable { + cursor: default; + opacity: 0.5; + outline: 1px dashed black; + position: absolute; + z-index: 10001; +} +.mce-content-body .mce-clonedresizable.mce-resizetable-columns th, +.mce-content-body .mce-clonedresizable.mce-resizetable-columns td { + border: 0; +} +.mce-content-body .mce-resize-helper { + background: #555; + background: rgba(0, 0, 0, 0.75); + border: 1px; + border-radius: 3px; + color: white; + display: none; + font-family: sans-serif; + font-size: 12px; + line-height: 14px; + margin: 5px 10px; + padding: 5px; + position: absolute; + white-space: nowrap; + z-index: 10002; +} +.tox-rtc-user-selection { + position: relative; +} +.tox-rtc-user-cursor { + bottom: 0; + cursor: default; + position: absolute; + top: 0; + width: 2px; +} +.tox-rtc-user-cursor::before { + background-color: inherit; + border-radius: 50%; + content: ''; + display: block; + height: 8px; + position: absolute; + right: -3px; + top: -3px; + width: 8px; +} +.tox-rtc-user-cursor:hover::after { + background-color: inherit; + border-radius: 100px; + box-sizing: border-box; + color: #fff; + content: attr(data-user); + display: block; + font-size: 12px; + font-weight: bold; + left: -5px; + min-height: 8px; + min-width: 8px; + padding: 0 12px; + position: absolute; + top: -11px; + white-space: nowrap; + z-index: 1000; +} +.tox-rtc-user-selection--1 .tox-rtc-user-cursor { + background-color: #2dc26b; +} +.tox-rtc-user-selection--2 .tox-rtc-user-cursor { + background-color: #e03e2d; +} +.tox-rtc-user-selection--3 .tox-rtc-user-cursor { + background-color: #f1c40f; +} +.tox-rtc-user-selection--4 .tox-rtc-user-cursor { + background-color: #3598db; +} +.tox-rtc-user-selection--5 .tox-rtc-user-cursor { + background-color: #b96ad9; +} +.tox-rtc-user-selection--6 .tox-rtc-user-cursor { + background-color: #e67e23; +} +.tox-rtc-user-selection--7 .tox-rtc-user-cursor { + background-color: #aaa69d; +} +.tox-rtc-user-selection--8 .tox-rtc-user-cursor { + background-color: #f368e0; +} +.tox-rtc-remote-image { + background: #eaeaea url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A") no-repeat center center; + border: 1px solid #ccc; + min-height: 240px; + min-width: 320px; +} +.mce-match-marker { + background: #aaa; + color: #fff; +} +.mce-match-marker-selected { + background: #39f; + color: #fff; +} +.mce-match-marker-selected::-moz-selection { + background: #39f; + color: #fff; +} +.mce-match-marker-selected::selection { + background: #39f; + color: #fff; +} +.mce-content-body img[data-mce-selected], +.mce-content-body video[data-mce-selected], +.mce-content-body audio[data-mce-selected], +.mce-content-body object[data-mce-selected], +.mce-content-body embed[data-mce-selected], +.mce-content-body table[data-mce-selected] { + outline: 3px solid #4099ff; +} +.mce-content-body hr[data-mce-selected] { + outline: 3px solid #4099ff; + outline-offset: 1px; +} +.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus { + outline: 3px solid #4099ff; +} +.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover { + outline: 3px solid #4099ff; +} +.mce-content-body *[contentEditable=false][data-mce-selected] { + cursor: not-allowed; + outline: 3px solid #4099ff; +} +.mce-content-body.mce-content-readonly *[contentEditable=true]:focus, +.mce-content-body.mce-content-readonly *[contentEditable=true]:hover { + outline: none; +} +.mce-content-body *[data-mce-selected="inline-boundary"] { + background-color: #4099ff; +} +.mce-content-body .mce-edit-focus { + outline: 3px solid #4099ff; +} +.mce-content-body td[data-mce-selected], +.mce-content-body th[data-mce-selected] { + position: relative; +} +.mce-content-body td[data-mce-selected]::-moz-selection, +.mce-content-body th[data-mce-selected]::-moz-selection { + background: none; +} +.mce-content-body td[data-mce-selected]::selection, +.mce-content-body th[data-mce-selected]::selection { + background: none; +} +.mce-content-body td[data-mce-selected] *, +.mce-content-body th[data-mce-selected] * { + outline: none; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.mce-content-body td[data-mce-selected]::after, +.mce-content-body th[data-mce-selected]::after { + background-color: rgba(180, 215, 255, 0.7); + border: 1px solid transparent; + bottom: -1px; + content: ''; + left: -1px; + mix-blend-mode: lighten; + position: absolute; + right: -1px; + top: -1px; +} +@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { + .mce-content-body td[data-mce-selected]::after, + .mce-content-body th[data-mce-selected]::after { + border-color: rgba(0, 84, 180, 0.7); + } +} +.mce-content-body img::-moz-selection { + background: none; +} +.mce-content-body img::selection { + background: none; +} +.ephox-snooker-resizer-bar { + background-color: #4099ff; + opacity: 0; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.ephox-snooker-resizer-cols { + cursor: col-resize; +} +.ephox-snooker-resizer-rows { + cursor: row-resize; +} +.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging { + opacity: 1; +} +.mce-spellchecker-word { + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; + height: 2rem; +} +.mce-spellchecker-grammar { + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; +} +.mce-toc { + border: 1px solid gray; +} +.mce-toc h2 { + margin: 4px; +} +.mce-toc li { + list-style-type: none; +} +table[style*="border-width: 0px"], +.mce-item-table:not([border]), +.mce-item-table[border="0"], +table[style*="border-width: 0px"] td, +.mce-item-table:not([border]) td, +.mce-item-table[border="0"] td, +table[style*="border-width: 0px"] th, +.mce-item-table:not([border]) th, +.mce-item-table[border="0"] th, +table[style*="border-width: 0px"] caption, +.mce-item-table:not([border]) caption, +.mce-item-table[border="0"] caption { + border: 1px dashed #bbb; +} +.mce-visualblocks p, +.mce-visualblocks h1, +.mce-visualblocks h2, +.mce-visualblocks h3, +.mce-visualblocks h4, +.mce-visualblocks h5, +.mce-visualblocks h6, +.mce-visualblocks div:not([data-mce-bogus]), +.mce-visualblocks section, +.mce-visualblocks article, +.mce-visualblocks blockquote, +.mce-visualblocks address, +.mce-visualblocks pre, +.mce-visualblocks figure, +.mce-visualblocks figcaption, +.mce-visualblocks hgroup, +.mce-visualblocks aside, +.mce-visualblocks ul, +.mce-visualblocks ol, +.mce-visualblocks dl { + background-repeat: no-repeat; + border: 1px dashed #bbb; + margin-left: 3px; + padding-top: 10px; +} +.mce-visualblocks p { + background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); +} +.mce-visualblocks h1 { + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); +} +.mce-visualblocks h2 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); +} +.mce-visualblocks h3 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); +} +.mce-visualblocks h4 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); +} +.mce-visualblocks h5 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); +} +.mce-visualblocks h6 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); +} +.mce-visualblocks div:not([data-mce-bogus]) { + background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); +} +.mce-visualblocks section { + background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); +} +.mce-visualblocks article { + background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7); +} +.mce-visualblocks blockquote { + background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7); +} +.mce-visualblocks address { + background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=); +} +.mce-visualblocks pre { + background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); +} +.mce-visualblocks figure { + background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); +} +.mce-visualblocks figcaption { + border: 1px dashed #bbb; +} +.mce-visualblocks hgroup { + background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); +} +.mce-visualblocks aside { + background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); +} +.mce-visualblocks ul { + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); +} +.mce-visualblocks ol { + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); +} +.mce-visualblocks dl { + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); +} +.mce-visualblocks:not([dir=rtl]) p, +.mce-visualblocks:not([dir=rtl]) h1, +.mce-visualblocks:not([dir=rtl]) h2, +.mce-visualblocks:not([dir=rtl]) h3, +.mce-visualblocks:not([dir=rtl]) h4, +.mce-visualblocks:not([dir=rtl]) h5, +.mce-visualblocks:not([dir=rtl]) h6, +.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]), +.mce-visualblocks:not([dir=rtl]) section, +.mce-visualblocks:not([dir=rtl]) article, +.mce-visualblocks:not([dir=rtl]) blockquote, +.mce-visualblocks:not([dir=rtl]) address, +.mce-visualblocks:not([dir=rtl]) pre, +.mce-visualblocks:not([dir=rtl]) figure, +.mce-visualblocks:not([dir=rtl]) figcaption, +.mce-visualblocks:not([dir=rtl]) hgroup, +.mce-visualblocks:not([dir=rtl]) aside, +.mce-visualblocks:not([dir=rtl]) ul, +.mce-visualblocks:not([dir=rtl]) ol, +.mce-visualblocks:not([dir=rtl]) dl { + margin-left: 3px; +} +.mce-visualblocks[dir=rtl] p, +.mce-visualblocks[dir=rtl] h1, +.mce-visualblocks[dir=rtl] h2, +.mce-visualblocks[dir=rtl] h3, +.mce-visualblocks[dir=rtl] h4, +.mce-visualblocks[dir=rtl] h5, +.mce-visualblocks[dir=rtl] h6, +.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]), +.mce-visualblocks[dir=rtl] section, +.mce-visualblocks[dir=rtl] article, +.mce-visualblocks[dir=rtl] blockquote, +.mce-visualblocks[dir=rtl] address, +.mce-visualblocks[dir=rtl] pre, +.mce-visualblocks[dir=rtl] figure, +.mce-visualblocks[dir=rtl] figcaption, +.mce-visualblocks[dir=rtl] hgroup, +.mce-visualblocks[dir=rtl] aside, +.mce-visualblocks[dir=rtl] ul, +.mce-visualblocks[dir=rtl] ol, +.mce-visualblocks[dir=rtl] dl { + background-position-x: right; + margin-right: 3px; +} +.mce-nbsp, +.mce-shy { + background: #aaa; +} +.mce-shy::after { + content: '-'; +} +body { + font-family: sans-serif; +} +table { + border-collapse: collapse; +} diff --git a/public/tinymce/skins/ui/oxide-dark/content.inline.css b/public/tinymce/skins/ui/oxide-dark/content.inline.css new file mode 100644 index 00000000..df6ed08b --- /dev/null +++ b/public/tinymce/skins/ui/oxide-dark/content.inline.css @@ -0,0 +1,726 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +.mce-content-body .mce-item-anchor { + background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") no-repeat center; + cursor: default; + display: inline-block; + height: 12px !important; + padding: 0 2px; + -webkit-user-modify: read-only; + -moz-user-modify: read-only; + -webkit-user-select: all; + -moz-user-select: all; + -ms-user-select: all; + user-select: all; + width: 8px !important; +} +.mce-content-body .mce-item-anchor[data-mce-selected] { + outline-offset: 1px; +} +.tox-comments-visible .tox-comment { + background-color: #fff0b7; +} +.tox-comments-visible .tox-comment--active { + background-color: #ffe168; +} +.tox-checklist > li:not(.tox-checklist--hidden) { + list-style: none; + margin: 0.25em 0; +} +.tox-checklist > li:not(.tox-checklist--hidden)::before { + content: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A"); + cursor: pointer; + height: 1em; + margin-left: -1.5em; + margin-top: 0.125em; + position: absolute; + width: 1em; +} +.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before { + content: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A"); +} +[dir=rtl] .tox-checklist > li:not(.tox-checklist--hidden)::before { + margin-left: 0; + margin-right: -1.5em; +} +/* stylelint-disable */ +/* http://prismjs.com/ */ +/** + * prism.js default theme for JavaScript, CSS and HTML + * Based on dabblet (http://dabblet.com) + * @author Lea Verou + */ +code[class*="language-"], +pre[class*="language-"] { + color: black; + background: none; + text-shadow: 0 1px white; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + font-size: 1em; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + -moz-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} +pre[class*="language-"]::-moz-selection, +pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, +code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #b3d4fc; +} +pre[class*="language-"]::selection, +pre[class*="language-"] ::selection, +code[class*="language-"]::selection, +code[class*="language-"] ::selection { + text-shadow: none; + background: #b3d4fc; +} +@media print { + code[class*="language-"], + pre[class*="language-"] { + text-shadow: none; + } +} +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: 0.5em 0; + overflow: auto; +} +:not(pre) > code[class*="language-"], +pre[class*="language-"] { + background: #f5f2f0; +} +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; +} +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: slategray; +} +.token.punctuation { + color: #999; +} +.namespace { + opacity: 0.7; +} +.token.property, +.token.tag, +.token.boolean, +.token.number, +.token.constant, +.token.symbol, +.token.deleted { + color: #905; +} +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #690; +} +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #9a6e3a; + background: hsla(0, 0%, 100%, 0.5); +} +.token.atrule, +.token.attr-value, +.token.keyword { + color: #07a; +} +.token.function, +.token.class-name { + color: #DD4A68; +} +.token.regex, +.token.important, +.token.variable { + color: #e90; +} +.token.important, +.token.bold { + font-weight: bold; +} +.token.italic { + font-style: italic; +} +.token.entity { + cursor: help; +} +/* stylelint-enable */ +.mce-content-body { + overflow-wrap: break-word; + word-wrap: break-word; +} +.mce-content-body .mce-visual-caret { + background-color: black; + background-color: currentColor; + position: absolute; +} +.mce-content-body .mce-visual-caret-hidden { + display: none; +} +.mce-content-body *[data-mce-caret] { + left: -1000px; + margin: 0; + padding: 0; + position: absolute; + right: auto; + top: 0; +} +.mce-content-body .mce-offscreen-selection { + left: -2000000px; + max-width: 1000000px; + position: absolute; +} +.mce-content-body *[contentEditable=false] { + cursor: default; +} +.mce-content-body *[contentEditable=true] { + cursor: text; +} +.tox-cursor-format-painter { + cursor: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"), default; +} +.mce-content-body figure.align-left { + float: left; +} +.mce-content-body figure.align-right { + float: right; +} +.mce-content-body figure.image.align-center { + display: table; + margin-left: auto; + margin-right: auto; +} +.mce-preview-object { + border: 1px solid gray; + display: inline-block; + line-height: 0; + margin: 0 2px 0 2px; + position: relative; +} +.mce-preview-object .mce-shim { + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +.mce-preview-object[data-mce-selected="2"] .mce-shim { + display: none; +} +.mce-object { + background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center; + border: 1px dashed #aaa; +} +.mce-pagebreak { + border: 1px dashed #aaa; + cursor: default; + display: block; + height: 5px; + margin-top: 15px; + page-break-before: always; + width: 100%; +} +@media print { + .mce-pagebreak { + border: 0; + } +} +.tiny-pageembed .mce-shim { + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +.tiny-pageembed[data-mce-selected="2"] .mce-shim { + display: none; +} +.tiny-pageembed { + display: inline-block; + position: relative; +} +.tiny-pageembed--21by9, +.tiny-pageembed--16by9, +.tiny-pageembed--4by3, +.tiny-pageembed--1by1 { + display: block; + overflow: hidden; + padding: 0; + position: relative; + width: 100%; +} +.tiny-pageembed--21by9 { + padding-top: 42.857143%; +} +.tiny-pageembed--16by9 { + padding-top: 56.25%; +} +.tiny-pageembed--4by3 { + padding-top: 75%; +} +.tiny-pageembed--1by1 { + padding-top: 100%; +} +.tiny-pageembed--21by9 iframe, +.tiny-pageembed--16by9 iframe, +.tiny-pageembed--4by3 iframe, +.tiny-pageembed--1by1 iframe { + border: 0; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +.mce-content-body[data-mce-placeholder] { + position: relative; +} +.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before { + color: rgba(34, 47, 62, 0.7); + content: attr(data-mce-placeholder); + position: absolute; +} +.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before { + left: 1px; +} +.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before { + right: 1px; +} +.mce-content-body div.mce-resizehandle { + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + height: 10px; + position: absolute; + width: 10px; + z-index: 10000; +} +.mce-content-body div.mce-resizehandle:hover { + background-color: #4099ff; +} +.mce-content-body div.mce-resizehandle:nth-of-type(1) { + cursor: nwse-resize; +} +.mce-content-body div.mce-resizehandle:nth-of-type(2) { + cursor: nesw-resize; +} +.mce-content-body div.mce-resizehandle:nth-of-type(3) { + cursor: nwse-resize; +} +.mce-content-body div.mce-resizehandle:nth-of-type(4) { + cursor: nesw-resize; +} +.mce-content-body .mce-resize-backdrop { + z-index: 10000; +} +.mce-content-body .mce-clonedresizable { + cursor: default; + opacity: 0.5; + outline: 1px dashed black; + position: absolute; + z-index: 10001; +} +.mce-content-body .mce-clonedresizable.mce-resizetable-columns th, +.mce-content-body .mce-clonedresizable.mce-resizetable-columns td { + border: 0; +} +.mce-content-body .mce-resize-helper { + background: #555; + background: rgba(0, 0, 0, 0.75); + border: 1px; + border-radius: 3px; + color: white; + display: none; + font-family: sans-serif; + font-size: 12px; + line-height: 14px; + margin: 5px 10px; + padding: 5px; + position: absolute; + white-space: nowrap; + z-index: 10002; +} +.tox-rtc-user-selection { + position: relative; +} +.tox-rtc-user-cursor { + bottom: 0; + cursor: default; + position: absolute; + top: 0; + width: 2px; +} +.tox-rtc-user-cursor::before { + background-color: inherit; + border-radius: 50%; + content: ''; + display: block; + height: 8px; + position: absolute; + right: -3px; + top: -3px; + width: 8px; +} +.tox-rtc-user-cursor:hover::after { + background-color: inherit; + border-radius: 100px; + box-sizing: border-box; + color: #fff; + content: attr(data-user); + display: block; + font-size: 12px; + font-weight: bold; + left: -5px; + min-height: 8px; + min-width: 8px; + padding: 0 12px; + position: absolute; + top: -11px; + white-space: nowrap; + z-index: 1000; +} +.tox-rtc-user-selection--1 .tox-rtc-user-cursor { + background-color: #2dc26b; +} +.tox-rtc-user-selection--2 .tox-rtc-user-cursor { + background-color: #e03e2d; +} +.tox-rtc-user-selection--3 .tox-rtc-user-cursor { + background-color: #f1c40f; +} +.tox-rtc-user-selection--4 .tox-rtc-user-cursor { + background-color: #3598db; +} +.tox-rtc-user-selection--5 .tox-rtc-user-cursor { + background-color: #b96ad9; +} +.tox-rtc-user-selection--6 .tox-rtc-user-cursor { + background-color: #e67e23; +} +.tox-rtc-user-selection--7 .tox-rtc-user-cursor { + background-color: #aaa69d; +} +.tox-rtc-user-selection--8 .tox-rtc-user-cursor { + background-color: #f368e0; +} +.tox-rtc-remote-image { + background: #eaeaea url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A") no-repeat center center; + border: 1px solid #ccc; + min-height: 240px; + min-width: 320px; +} +.mce-match-marker { + background: #aaa; + color: #fff; +} +.mce-match-marker-selected { + background: #39f; + color: #fff; +} +.mce-match-marker-selected::-moz-selection { + background: #39f; + color: #fff; +} +.mce-match-marker-selected::selection { + background: #39f; + color: #fff; +} +.mce-content-body img[data-mce-selected], +.mce-content-body video[data-mce-selected], +.mce-content-body audio[data-mce-selected], +.mce-content-body object[data-mce-selected], +.mce-content-body embed[data-mce-selected], +.mce-content-body table[data-mce-selected] { + outline: 3px solid #b4d7ff; +} +.mce-content-body hr[data-mce-selected] { + outline: 3px solid #b4d7ff; + outline-offset: 1px; +} +.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus { + outline: 3px solid #b4d7ff; +} +.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover { + outline: 3px solid #b4d7ff; +} +.mce-content-body *[contentEditable=false][data-mce-selected] { + cursor: not-allowed; + outline: 3px solid #b4d7ff; +} +.mce-content-body.mce-content-readonly *[contentEditable=true]:focus, +.mce-content-body.mce-content-readonly *[contentEditable=true]:hover { + outline: none; +} +.mce-content-body *[data-mce-selected="inline-boundary"] { + background-color: #b4d7ff; +} +.mce-content-body .mce-edit-focus { + outline: 3px solid #b4d7ff; +} +.mce-content-body td[data-mce-selected], +.mce-content-body th[data-mce-selected] { + position: relative; +} +.mce-content-body td[data-mce-selected]::-moz-selection, +.mce-content-body th[data-mce-selected]::-moz-selection { + background: none; +} +.mce-content-body td[data-mce-selected]::selection, +.mce-content-body th[data-mce-selected]::selection { + background: none; +} +.mce-content-body td[data-mce-selected] *, +.mce-content-body th[data-mce-selected] * { + outline: none; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.mce-content-body td[data-mce-selected]::after, +.mce-content-body th[data-mce-selected]::after { + background-color: rgba(180, 215, 255, 0.7); + border: 1px solid rgba(180, 215, 255, 0.7); + bottom: -1px; + content: ''; + left: -1px; + mix-blend-mode: multiply; + position: absolute; + right: -1px; + top: -1px; +} +@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { + .mce-content-body td[data-mce-selected]::after, + .mce-content-body th[data-mce-selected]::after { + border-color: rgba(0, 84, 180, 0.7); + } +} +.mce-content-body img::-moz-selection { + background: none; +} +.mce-content-body img::selection { + background: none; +} +.ephox-snooker-resizer-bar { + background-color: #b4d7ff; + opacity: 0; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.ephox-snooker-resizer-cols { + cursor: col-resize; +} +.ephox-snooker-resizer-rows { + cursor: row-resize; +} +.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging { + opacity: 1; +} +.mce-spellchecker-word { + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; + height: 2rem; +} +.mce-spellchecker-grammar { + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; +} +.mce-toc { + border: 1px solid gray; +} +.mce-toc h2 { + margin: 4px; +} +.mce-toc li { + list-style-type: none; +} +table[style*="border-width: 0px"], +.mce-item-table:not([border]), +.mce-item-table[border="0"], +table[style*="border-width: 0px"] td, +.mce-item-table:not([border]) td, +.mce-item-table[border="0"] td, +table[style*="border-width: 0px"] th, +.mce-item-table:not([border]) th, +.mce-item-table[border="0"] th, +table[style*="border-width: 0px"] caption, +.mce-item-table:not([border]) caption, +.mce-item-table[border="0"] caption { + border: 1px dashed #bbb; +} +.mce-visualblocks p, +.mce-visualblocks h1, +.mce-visualblocks h2, +.mce-visualblocks h3, +.mce-visualblocks h4, +.mce-visualblocks h5, +.mce-visualblocks h6, +.mce-visualblocks div:not([data-mce-bogus]), +.mce-visualblocks section, +.mce-visualblocks article, +.mce-visualblocks blockquote, +.mce-visualblocks address, +.mce-visualblocks pre, +.mce-visualblocks figure, +.mce-visualblocks figcaption, +.mce-visualblocks hgroup, +.mce-visualblocks aside, +.mce-visualblocks ul, +.mce-visualblocks ol, +.mce-visualblocks dl { + background-repeat: no-repeat; + border: 1px dashed #bbb; + margin-left: 3px; + padding-top: 10px; +} +.mce-visualblocks p { + background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); +} +.mce-visualblocks h1 { + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); +} +.mce-visualblocks h2 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); +} +.mce-visualblocks h3 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); +} +.mce-visualblocks h4 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); +} +.mce-visualblocks h5 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); +} +.mce-visualblocks h6 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); +} +.mce-visualblocks div:not([data-mce-bogus]) { + background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); +} +.mce-visualblocks section { + background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); +} +.mce-visualblocks article { + background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7); +} +.mce-visualblocks blockquote { + background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7); +} +.mce-visualblocks address { + background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=); +} +.mce-visualblocks pre { + background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); +} +.mce-visualblocks figure { + background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); +} +.mce-visualblocks figcaption { + border: 1px dashed #bbb; +} +.mce-visualblocks hgroup { + background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); +} +.mce-visualblocks aside { + background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); +} +.mce-visualblocks ul { + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); +} +.mce-visualblocks ol { + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); +} +.mce-visualblocks dl { + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); +} +.mce-visualblocks:not([dir=rtl]) p, +.mce-visualblocks:not([dir=rtl]) h1, +.mce-visualblocks:not([dir=rtl]) h2, +.mce-visualblocks:not([dir=rtl]) h3, +.mce-visualblocks:not([dir=rtl]) h4, +.mce-visualblocks:not([dir=rtl]) h5, +.mce-visualblocks:not([dir=rtl]) h6, +.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]), +.mce-visualblocks:not([dir=rtl]) section, +.mce-visualblocks:not([dir=rtl]) article, +.mce-visualblocks:not([dir=rtl]) blockquote, +.mce-visualblocks:not([dir=rtl]) address, +.mce-visualblocks:not([dir=rtl]) pre, +.mce-visualblocks:not([dir=rtl]) figure, +.mce-visualblocks:not([dir=rtl]) figcaption, +.mce-visualblocks:not([dir=rtl]) hgroup, +.mce-visualblocks:not([dir=rtl]) aside, +.mce-visualblocks:not([dir=rtl]) ul, +.mce-visualblocks:not([dir=rtl]) ol, +.mce-visualblocks:not([dir=rtl]) dl { + margin-left: 3px; +} +.mce-visualblocks[dir=rtl] p, +.mce-visualblocks[dir=rtl] h1, +.mce-visualblocks[dir=rtl] h2, +.mce-visualblocks[dir=rtl] h3, +.mce-visualblocks[dir=rtl] h4, +.mce-visualblocks[dir=rtl] h5, +.mce-visualblocks[dir=rtl] h6, +.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]), +.mce-visualblocks[dir=rtl] section, +.mce-visualblocks[dir=rtl] article, +.mce-visualblocks[dir=rtl] blockquote, +.mce-visualblocks[dir=rtl] address, +.mce-visualblocks[dir=rtl] pre, +.mce-visualblocks[dir=rtl] figure, +.mce-visualblocks[dir=rtl] figcaption, +.mce-visualblocks[dir=rtl] hgroup, +.mce-visualblocks[dir=rtl] aside, +.mce-visualblocks[dir=rtl] ul, +.mce-visualblocks[dir=rtl] ol, +.mce-visualblocks[dir=rtl] dl { + background-position-x: right; + margin-right: 3px; +} +.mce-nbsp, +.mce-shy { + background: #aaa; +} +.mce-shy::after { + content: '-'; +} diff --git a/public/tinymce/skins/ui/oxide-dark/content.inline.min.css b/public/tinymce/skins/ui/oxide-dark/content.inline.min.css new file mode 100644 index 00000000..0a3d965c --- /dev/null +++ b/public/tinymce/skins/ui/oxide-dark/content.inline.min.css @@ -0,0 +1,7 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +.mce-content-body .mce-item-anchor{background:transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;cursor:default;display:inline-block;height:12px!important;padding:0 2px;-webkit-user-modify:read-only;-moz-user-modify:read-only;-webkit-user-select:all;-moz-user-select:all;-ms-user-select:all;user-select:all;width:8px!important}.mce-content-body .mce-item-anchor[data-mce-selected]{outline-offset:1px}.tox-comments-visible .tox-comment{background-color:#fff0b7}.tox-comments-visible .tox-comment--active{background-color:#ffe168}.tox-checklist>li:not(.tox-checklist--hidden){list-style:none;margin:.25em 0}.tox-checklist>li:not(.tox-checklist--hidden)::before{content:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A");cursor:pointer;height:1em;margin-left:-1.5em;margin-top:.125em;position:absolute;width:1em}.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before{content:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A")}[dir=rtl] .tox-checklist>li:not(.tox-checklist--hidden)::before{margin-left:0;margin-right:-1.5em}code[class*=language-],pre[class*=language-]{color:#000;background:0 0;text-shadow:0 1px #fff;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection{text-shadow:none;background:#b3d4fc}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#9a6e3a;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.mce-content-body{overflow-wrap:break-word;word-wrap:break-word}.mce-content-body .mce-visual-caret{background-color:#000;background-color:currentColor;position:absolute}.mce-content-body .mce-visual-caret-hidden{display:none}.mce-content-body [data-mce-caret]{left:-1000px;margin:0;padding:0;position:absolute;right:auto;top:0}.mce-content-body .mce-offscreen-selection{left:-2000000px;max-width:1000000px;position:absolute}.mce-content-body [contentEditable=false]{cursor:default}.mce-content-body [contentEditable=true]{cursor:text}.tox-cursor-format-painter{cursor:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"),default}.mce-content-body figure.align-left{float:left}.mce-content-body figure.align-right{float:right}.mce-content-body figure.image.align-center{display:table;margin-left:auto;margin-right:auto}.mce-preview-object{border:1px solid gray;display:inline-block;line-height:0;margin:0 2px 0 2px;position:relative}.mce-preview-object .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.mce-preview-object[data-mce-selected="2"] .mce-shim{display:none}.mce-object{background:transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;border:1px dashed #aaa}.mce-pagebreak{border:1px dashed #aaa;cursor:default;display:block;height:5px;margin-top:15px;page-break-before:always;width:100%}@media print{.mce-pagebreak{border:0}}.tiny-pageembed .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.tiny-pageembed[data-mce-selected="2"] .mce-shim{display:none}.tiny-pageembed{display:inline-block;position:relative}.tiny-pageembed--16by9,.tiny-pageembed--1by1,.tiny-pageembed--21by9,.tiny-pageembed--4by3{display:block;overflow:hidden;padding:0;position:relative;width:100%}.tiny-pageembed--21by9{padding-top:42.857143%}.tiny-pageembed--16by9{padding-top:56.25%}.tiny-pageembed--4by3{padding-top:75%}.tiny-pageembed--1by1{padding-top:100%}.tiny-pageembed--16by9 iframe,.tiny-pageembed--1by1 iframe,.tiny-pageembed--21by9 iframe,.tiny-pageembed--4by3 iframe{border:0;height:100%;left:0;position:absolute;top:0;width:100%}.mce-content-body[data-mce-placeholder]{position:relative}.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before{color:rgba(34,47,62,.7);content:attr(data-mce-placeholder);position:absolute}.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before{left:1px}.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before{right:1px}.mce-content-body div.mce-resizehandle{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;height:10px;position:absolute;width:10px;z-index:10000}.mce-content-body div.mce-resizehandle:hover{background-color:#4099ff}.mce-content-body div.mce-resizehandle:nth-of-type(1){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(2){cursor:nesw-resize}.mce-content-body div.mce-resizehandle:nth-of-type(3){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(4){cursor:nesw-resize}.mce-content-body .mce-resize-backdrop{z-index:10000}.mce-content-body .mce-clonedresizable{cursor:default;opacity:.5;outline:1px dashed #000;position:absolute;z-index:10001}.mce-content-body .mce-clonedresizable.mce-resizetable-columns td,.mce-content-body .mce-clonedresizable.mce-resizetable-columns th{border:0}.mce-content-body .mce-resize-helper{background:#555;background:rgba(0,0,0,.75);border:1px;border-radius:3px;color:#fff;display:none;font-family:sans-serif;font-size:12px;line-height:14px;margin:5px 10px;padding:5px;position:absolute;white-space:nowrap;z-index:10002}.tox-rtc-user-selection{position:relative}.tox-rtc-user-cursor{bottom:0;cursor:default;position:absolute;top:0;width:2px}.tox-rtc-user-cursor::before{background-color:inherit;border-radius:50%;content:'';display:block;height:8px;position:absolute;right:-3px;top:-3px;width:8px}.tox-rtc-user-cursor:hover::after{background-color:inherit;border-radius:100px;box-sizing:border-box;color:#fff;content:attr(data-user);display:block;font-size:12px;font-weight:700;left:-5px;min-height:8px;min-width:8px;padding:0 12px;position:absolute;top:-11px;white-space:nowrap;z-index:1000}.tox-rtc-user-selection--1 .tox-rtc-user-cursor{background-color:#2dc26b}.tox-rtc-user-selection--2 .tox-rtc-user-cursor{background-color:#e03e2d}.tox-rtc-user-selection--3 .tox-rtc-user-cursor{background-color:#f1c40f}.tox-rtc-user-selection--4 .tox-rtc-user-cursor{background-color:#3598db}.tox-rtc-user-selection--5 .tox-rtc-user-cursor{background-color:#b96ad9}.tox-rtc-user-selection--6 .tox-rtc-user-cursor{background-color:#e67e23}.tox-rtc-user-selection--7 .tox-rtc-user-cursor{background-color:#aaa69d}.tox-rtc-user-selection--8 .tox-rtc-user-cursor{background-color:#f368e0}.tox-rtc-remote-image{background:#eaeaea url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A") no-repeat center center;border:1px solid #ccc;min-height:240px;min-width:320px}.mce-match-marker{background:#aaa;color:#fff}.mce-match-marker-selected{background:#39f;color:#fff}.mce-match-marker-selected::-moz-selection{background:#39f;color:#fff}.mce-match-marker-selected::selection{background:#39f;color:#fff}.mce-content-body audio[data-mce-selected],.mce-content-body embed[data-mce-selected],.mce-content-body img[data-mce-selected],.mce-content-body object[data-mce-selected],.mce-content-body table[data-mce-selected],.mce-content-body video[data-mce-selected]{outline:3px solid #b4d7ff}.mce-content-body hr[data-mce-selected]{outline:3px solid #b4d7ff;outline-offset:1px}.mce-content-body [contentEditable=false] [contentEditable=true]:focus{outline:3px solid #b4d7ff}.mce-content-body [contentEditable=false] [contentEditable=true]:hover{outline:3px solid #b4d7ff}.mce-content-body [contentEditable=false][data-mce-selected]{cursor:not-allowed;outline:3px solid #b4d7ff}.mce-content-body.mce-content-readonly [contentEditable=true]:focus,.mce-content-body.mce-content-readonly [contentEditable=true]:hover{outline:0}.mce-content-body [data-mce-selected=inline-boundary]{background-color:#b4d7ff}.mce-content-body .mce-edit-focus{outline:3px solid #b4d7ff}.mce-content-body td[data-mce-selected],.mce-content-body th[data-mce-selected]{position:relative}.mce-content-body td[data-mce-selected]::-moz-selection,.mce-content-body th[data-mce-selected]::-moz-selection{background:0 0}.mce-content-body td[data-mce-selected]::selection,.mce-content-body th[data-mce-selected]::selection{background:0 0}.mce-content-body td[data-mce-selected] *,.mce-content-body th[data-mce-selected] *{outline:0;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mce-content-body td[data-mce-selected]::after,.mce-content-body th[data-mce-selected]::after{background-color:rgba(180,215,255,.7);border:1px solid rgba(180,215,255,.7);bottom:-1px;content:'';left:-1px;mix-blend-mode:multiply;position:absolute;right:-1px;top:-1px}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.mce-content-body td[data-mce-selected]::after,.mce-content-body th[data-mce-selected]::after{border-color:rgba(0,84,180,.7)}}.mce-content-body img::-moz-selection{background:0 0}.mce-content-body img::selection{background:0 0}.ephox-snooker-resizer-bar{background-color:#b4d7ff;opacity:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ephox-snooker-resizer-cols{cursor:col-resize}.ephox-snooker-resizer-rows{cursor:row-resize}.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging{opacity:1}.mce-spellchecker-word{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default;height:2rem}.mce-spellchecker-grammar{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc li{list-style-type:none}.mce-item-table:not([border]),.mce-item-table:not([border]) caption,.mce-item-table:not([border]) td,.mce-item-table:not([border]) th,.mce-item-table[border="0"],.mce-item-table[border="0"] caption,.mce-item-table[border="0"] td,.mce-item-table[border="0"] th,table[style*="border-width: 0px"],table[style*="border-width: 0px"] caption,table[style*="border-width: 0px"] td,table[style*="border-width: 0px"] th{border:1px dashed #bbb}.mce-visualblocks address,.mce-visualblocks article,.mce-visualblocks aside,.mce-visualblocks blockquote,.mce-visualblocks div:not([data-mce-bogus]),.mce-visualblocks dl,.mce-visualblocks figcaption,.mce-visualblocks figure,.mce-visualblocks h1,.mce-visualblocks h2,.mce-visualblocks h3,.mce-visualblocks h4,.mce-visualblocks h5,.mce-visualblocks h6,.mce-visualblocks hgroup,.mce-visualblocks ol,.mce-visualblocks p,.mce-visualblocks pre,.mce-visualblocks section,.mce-visualblocks ul{background-repeat:no-repeat;border:1px dashed #bbb;margin-left:3px;padding-top:10px}.mce-visualblocks p{background-image:url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7)}.mce-visualblocks h1{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==)}.mce-visualblocks h2{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==)}.mce-visualblocks h3{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7)}.mce-visualblocks h4{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==)}.mce-visualblocks h5{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==)}.mce-visualblocks h6{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==)}.mce-visualblocks div:not([data-mce-bogus]){background-image:url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7)}.mce-visualblocks section{background-image:url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=)}.mce-visualblocks article{background-image:url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7)}.mce-visualblocks blockquote{background-image:url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7)}.mce-visualblocks address{background-image:url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=)}.mce-visualblocks pre{background-image:url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==)}.mce-visualblocks figure{background-image:url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7)}.mce-visualblocks figcaption{border:1px dashed #bbb}.mce-visualblocks hgroup{background-image:url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7)}.mce-visualblocks aside{background-image:url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=)}.mce-visualblocks ul{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==)}.mce-visualblocks ol{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==)}.mce-visualblocks dl{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==)}.mce-visualblocks:not([dir=rtl]) address,.mce-visualblocks:not([dir=rtl]) article,.mce-visualblocks:not([dir=rtl]) aside,.mce-visualblocks:not([dir=rtl]) blockquote,.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]),.mce-visualblocks:not([dir=rtl]) dl,.mce-visualblocks:not([dir=rtl]) figcaption,.mce-visualblocks:not([dir=rtl]) figure,.mce-visualblocks:not([dir=rtl]) h1,.mce-visualblocks:not([dir=rtl]) h2,.mce-visualblocks:not([dir=rtl]) h3,.mce-visualblocks:not([dir=rtl]) h4,.mce-visualblocks:not([dir=rtl]) h5,.mce-visualblocks:not([dir=rtl]) h6,.mce-visualblocks:not([dir=rtl]) hgroup,.mce-visualblocks:not([dir=rtl]) ol,.mce-visualblocks:not([dir=rtl]) p,.mce-visualblocks:not([dir=rtl]) pre,.mce-visualblocks:not([dir=rtl]) section,.mce-visualblocks:not([dir=rtl]) ul{margin-left:3px}.mce-visualblocks[dir=rtl] address,.mce-visualblocks[dir=rtl] article,.mce-visualblocks[dir=rtl] aside,.mce-visualblocks[dir=rtl] blockquote,.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]),.mce-visualblocks[dir=rtl] dl,.mce-visualblocks[dir=rtl] figcaption,.mce-visualblocks[dir=rtl] figure,.mce-visualblocks[dir=rtl] h1,.mce-visualblocks[dir=rtl] h2,.mce-visualblocks[dir=rtl] h3,.mce-visualblocks[dir=rtl] h4,.mce-visualblocks[dir=rtl] h5,.mce-visualblocks[dir=rtl] h6,.mce-visualblocks[dir=rtl] hgroup,.mce-visualblocks[dir=rtl] ol,.mce-visualblocks[dir=rtl] p,.mce-visualblocks[dir=rtl] pre,.mce-visualblocks[dir=rtl] section,.mce-visualblocks[dir=rtl] ul{background-position-x:right;margin-right:3px}.mce-nbsp,.mce-shy{background:#aaa}.mce-shy::after{content:'-'} diff --git a/public/tinymce/skins/ui/oxide-dark/content.min.css b/public/tinymce/skins/ui/oxide-dark/content.min.css new file mode 100644 index 00000000..07067404 --- /dev/null +++ b/public/tinymce/skins/ui/oxide-dark/content.min.css @@ -0,0 +1,7 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +.mce-content-body .mce-item-anchor{background:transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%20fill%3D%22%23cccccc%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;cursor:default;display:inline-block;height:12px!important;padding:0 2px;-webkit-user-modify:read-only;-moz-user-modify:read-only;-webkit-user-select:all;-moz-user-select:all;-ms-user-select:all;user-select:all;width:8px!important}.mce-content-body .mce-item-anchor[data-mce-selected]{outline-offset:1px}.tox-comments-visible .tox-comment{background-color:#fff0b7}.tox-comments-visible .tox-comment--active{background-color:#ffe168}.tox-checklist>li:not(.tox-checklist--hidden){list-style:none;margin:.25em 0}.tox-checklist>li:not(.tox-checklist--hidden)::before{content:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%236d737b%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A");cursor:pointer;height:1em;margin-left:-1.5em;margin-top:.125em;position:absolute;width:1em}.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before{content:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A")}[dir=rtl] .tox-checklist>li:not(.tox-checklist--hidden)::before{margin-left:0;margin-right:-1.5em}code[class*=language-],pre[class*=language-]{color:#f8f8f2;background:0 0;text-shadow:0 1px rgba(0,0,0,.3);font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;border-radius:.3em}:not(pre)>code[class*=language-],pre[class*=language-]{background:#282a36}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#6272a4}.token.punctuation{color:#f8f8f2}.namespace{opacity:.7}.token.constant,.token.deleted,.token.property,.token.symbol,.token.tag{color:#ff79c6}.token.boolean,.token.number{color:#bd93f9}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#50fa7b}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url,.token.variable{color:#f8f8f2}.token.atrule,.token.attr-value,.token.class-name,.token.function{color:#f1fa8c}.token.keyword{color:#8be9fd}.token.important,.token.regex{color:#ffb86c}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.mce-content-body{overflow-wrap:break-word;word-wrap:break-word}.mce-content-body .mce-visual-caret{background-color:#000;background-color:currentColor;position:absolute}.mce-content-body .mce-visual-caret-hidden{display:none}.mce-content-body [data-mce-caret]{left:-1000px;margin:0;padding:0;position:absolute;right:auto;top:0}.mce-content-body .mce-offscreen-selection{left:-2000000px;max-width:1000000px;position:absolute}.mce-content-body [contentEditable=false]{cursor:default}.mce-content-body [contentEditable=true]{cursor:text}.tox-cursor-format-painter{cursor:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"),default}.mce-content-body figure.align-left{float:left}.mce-content-body figure.align-right{float:right}.mce-content-body figure.image.align-center{display:table;margin-left:auto;margin-right:auto}.mce-preview-object{border:1px solid gray;display:inline-block;line-height:0;margin:0 2px 0 2px;position:relative}.mce-preview-object .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.mce-preview-object[data-mce-selected="2"] .mce-shim{display:none}.mce-object{background:transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%20fill%3D%22%23cccccc%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;border:1px dashed #aaa}.mce-pagebreak{border:1px dashed #aaa;cursor:default;display:block;height:5px;margin-top:15px;page-break-before:always;width:100%}@media print{.mce-pagebreak{border:0}}.tiny-pageembed .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.tiny-pageembed[data-mce-selected="2"] .mce-shim{display:none}.tiny-pageembed{display:inline-block;position:relative}.tiny-pageembed--16by9,.tiny-pageembed--1by1,.tiny-pageembed--21by9,.tiny-pageembed--4by3{display:block;overflow:hidden;padding:0;position:relative;width:100%}.tiny-pageembed--21by9{padding-top:42.857143%}.tiny-pageembed--16by9{padding-top:56.25%}.tiny-pageembed--4by3{padding-top:75%}.tiny-pageembed--1by1{padding-top:100%}.tiny-pageembed--16by9 iframe,.tiny-pageembed--1by1 iframe,.tiny-pageembed--21by9 iframe,.tiny-pageembed--4by3 iframe{border:0;height:100%;left:0;position:absolute;top:0;width:100%}.mce-content-body[data-mce-placeholder]{position:relative}.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before{color:rgba(34,47,62,.7);content:attr(data-mce-placeholder);position:absolute}.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before{left:1px}.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before{right:1px}.mce-content-body div.mce-resizehandle{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;height:10px;position:absolute;width:10px;z-index:10000}.mce-content-body div.mce-resizehandle:hover{background-color:#4099ff}.mce-content-body div.mce-resizehandle:nth-of-type(1){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(2){cursor:nesw-resize}.mce-content-body div.mce-resizehandle:nth-of-type(3){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(4){cursor:nesw-resize}.mce-content-body .mce-resize-backdrop{z-index:10000}.mce-content-body .mce-clonedresizable{cursor:default;opacity:.5;outline:1px dashed #000;position:absolute;z-index:10001}.mce-content-body .mce-clonedresizable.mce-resizetable-columns td,.mce-content-body .mce-clonedresizable.mce-resizetable-columns th{border:0}.mce-content-body .mce-resize-helper{background:#555;background:rgba(0,0,0,.75);border:1px;border-radius:3px;color:#fff;display:none;font-family:sans-serif;font-size:12px;line-height:14px;margin:5px 10px;padding:5px;position:absolute;white-space:nowrap;z-index:10002}.tox-rtc-user-selection{position:relative}.tox-rtc-user-cursor{bottom:0;cursor:default;position:absolute;top:0;width:2px}.tox-rtc-user-cursor::before{background-color:inherit;border-radius:50%;content:'';display:block;height:8px;position:absolute;right:-3px;top:-3px;width:8px}.tox-rtc-user-cursor:hover::after{background-color:inherit;border-radius:100px;box-sizing:border-box;color:#fff;content:attr(data-user);display:block;font-size:12px;font-weight:700;left:-5px;min-height:8px;min-width:8px;padding:0 12px;position:absolute;top:-11px;white-space:nowrap;z-index:1000}.tox-rtc-user-selection--1 .tox-rtc-user-cursor{background-color:#2dc26b}.tox-rtc-user-selection--2 .tox-rtc-user-cursor{background-color:#e03e2d}.tox-rtc-user-selection--3 .tox-rtc-user-cursor{background-color:#f1c40f}.tox-rtc-user-selection--4 .tox-rtc-user-cursor{background-color:#3598db}.tox-rtc-user-selection--5 .tox-rtc-user-cursor{background-color:#b96ad9}.tox-rtc-user-selection--6 .tox-rtc-user-cursor{background-color:#e67e23}.tox-rtc-user-selection--7 .tox-rtc-user-cursor{background-color:#aaa69d}.tox-rtc-user-selection--8 .tox-rtc-user-cursor{background-color:#f368e0}.tox-rtc-remote-image{background:#eaeaea url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A") no-repeat center center;border:1px solid #ccc;min-height:240px;min-width:320px}.mce-match-marker{background:#aaa;color:#fff}.mce-match-marker-selected{background:#39f;color:#fff}.mce-match-marker-selected::-moz-selection{background:#39f;color:#fff}.mce-match-marker-selected::selection{background:#39f;color:#fff}.mce-content-body audio[data-mce-selected],.mce-content-body embed[data-mce-selected],.mce-content-body img[data-mce-selected],.mce-content-body object[data-mce-selected],.mce-content-body table[data-mce-selected],.mce-content-body video[data-mce-selected]{outline:3px solid #4099ff}.mce-content-body hr[data-mce-selected]{outline:3px solid #4099ff;outline-offset:1px}.mce-content-body [contentEditable=false] [contentEditable=true]:focus{outline:3px solid #4099ff}.mce-content-body [contentEditable=false] [contentEditable=true]:hover{outline:3px solid #4099ff}.mce-content-body [contentEditable=false][data-mce-selected]{cursor:not-allowed;outline:3px solid #4099ff}.mce-content-body.mce-content-readonly [contentEditable=true]:focus,.mce-content-body.mce-content-readonly [contentEditable=true]:hover{outline:0}.mce-content-body [data-mce-selected=inline-boundary]{background-color:#4099ff}.mce-content-body .mce-edit-focus{outline:3px solid #4099ff}.mce-content-body td[data-mce-selected],.mce-content-body th[data-mce-selected]{position:relative}.mce-content-body td[data-mce-selected]::-moz-selection,.mce-content-body th[data-mce-selected]::-moz-selection{background:0 0}.mce-content-body td[data-mce-selected]::selection,.mce-content-body th[data-mce-selected]::selection{background:0 0}.mce-content-body td[data-mce-selected] *,.mce-content-body th[data-mce-selected] *{outline:0;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mce-content-body td[data-mce-selected]::after,.mce-content-body th[data-mce-selected]::after{background-color:rgba(180,215,255,.7);border:1px solid transparent;bottom:-1px;content:'';left:-1px;mix-blend-mode:lighten;position:absolute;right:-1px;top:-1px}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.mce-content-body td[data-mce-selected]::after,.mce-content-body th[data-mce-selected]::after{border-color:rgba(0,84,180,.7)}}.mce-content-body img::-moz-selection{background:0 0}.mce-content-body img::selection{background:0 0}.ephox-snooker-resizer-bar{background-color:#4099ff;opacity:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ephox-snooker-resizer-cols{cursor:col-resize}.ephox-snooker-resizer-rows{cursor:row-resize}.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging{opacity:1}.mce-spellchecker-word{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default;height:2rem}.mce-spellchecker-grammar{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc li{list-style-type:none}.mce-item-table:not([border]),.mce-item-table:not([border]) caption,.mce-item-table:not([border]) td,.mce-item-table:not([border]) th,.mce-item-table[border="0"],.mce-item-table[border="0"] caption,.mce-item-table[border="0"] td,.mce-item-table[border="0"] th,table[style*="border-width: 0px"],table[style*="border-width: 0px"] caption,table[style*="border-width: 0px"] td,table[style*="border-width: 0px"] th{border:1px dashed #bbb}.mce-visualblocks address,.mce-visualblocks article,.mce-visualblocks aside,.mce-visualblocks blockquote,.mce-visualblocks div:not([data-mce-bogus]),.mce-visualblocks dl,.mce-visualblocks figcaption,.mce-visualblocks figure,.mce-visualblocks h1,.mce-visualblocks h2,.mce-visualblocks h3,.mce-visualblocks h4,.mce-visualblocks h5,.mce-visualblocks h6,.mce-visualblocks hgroup,.mce-visualblocks ol,.mce-visualblocks p,.mce-visualblocks pre,.mce-visualblocks section,.mce-visualblocks ul{background-repeat:no-repeat;border:1px dashed #bbb;margin-left:3px;padding-top:10px}.mce-visualblocks p{background-image:url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7)}.mce-visualblocks h1{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==)}.mce-visualblocks h2{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==)}.mce-visualblocks h3{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7)}.mce-visualblocks h4{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==)}.mce-visualblocks h5{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==)}.mce-visualblocks h6{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==)}.mce-visualblocks div:not([data-mce-bogus]){background-image:url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7)}.mce-visualblocks section{background-image:url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=)}.mce-visualblocks article{background-image:url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7)}.mce-visualblocks blockquote{background-image:url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7)}.mce-visualblocks address{background-image:url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=)}.mce-visualblocks pre{background-image:url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==)}.mce-visualblocks figure{background-image:url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7)}.mce-visualblocks figcaption{border:1px dashed #bbb}.mce-visualblocks hgroup{background-image:url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7)}.mce-visualblocks aside{background-image:url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=)}.mce-visualblocks ul{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==)}.mce-visualblocks ol{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==)}.mce-visualblocks dl{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==)}.mce-visualblocks:not([dir=rtl]) address,.mce-visualblocks:not([dir=rtl]) article,.mce-visualblocks:not([dir=rtl]) aside,.mce-visualblocks:not([dir=rtl]) blockquote,.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]),.mce-visualblocks:not([dir=rtl]) dl,.mce-visualblocks:not([dir=rtl]) figcaption,.mce-visualblocks:not([dir=rtl]) figure,.mce-visualblocks:not([dir=rtl]) h1,.mce-visualblocks:not([dir=rtl]) h2,.mce-visualblocks:not([dir=rtl]) h3,.mce-visualblocks:not([dir=rtl]) h4,.mce-visualblocks:not([dir=rtl]) h5,.mce-visualblocks:not([dir=rtl]) h6,.mce-visualblocks:not([dir=rtl]) hgroup,.mce-visualblocks:not([dir=rtl]) ol,.mce-visualblocks:not([dir=rtl]) p,.mce-visualblocks:not([dir=rtl]) pre,.mce-visualblocks:not([dir=rtl]) section,.mce-visualblocks:not([dir=rtl]) ul{margin-left:3px}.mce-visualblocks[dir=rtl] address,.mce-visualblocks[dir=rtl] article,.mce-visualblocks[dir=rtl] aside,.mce-visualblocks[dir=rtl] blockquote,.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]),.mce-visualblocks[dir=rtl] dl,.mce-visualblocks[dir=rtl] figcaption,.mce-visualblocks[dir=rtl] figure,.mce-visualblocks[dir=rtl] h1,.mce-visualblocks[dir=rtl] h2,.mce-visualblocks[dir=rtl] h3,.mce-visualblocks[dir=rtl] h4,.mce-visualblocks[dir=rtl] h5,.mce-visualblocks[dir=rtl] h6,.mce-visualblocks[dir=rtl] hgroup,.mce-visualblocks[dir=rtl] ol,.mce-visualblocks[dir=rtl] p,.mce-visualblocks[dir=rtl] pre,.mce-visualblocks[dir=rtl] section,.mce-visualblocks[dir=rtl] ul{background-position-x:right;margin-right:3px}.mce-nbsp,.mce-shy{background:#aaa}.mce-shy::after{content:'-'}body{font-family:sans-serif}table{border-collapse:collapse} diff --git a/public/tinymce/skins/ui/oxide-dark/content.mobile.css b/public/tinymce/skins/ui/oxide-dark/content.mobile.css new file mode 100644 index 00000000..4bdb8bab --- /dev/null +++ b/public/tinymce/skins/ui/oxide-dark/content.mobile.css @@ -0,0 +1,29 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +.tinymce-mobile-unfocused-selections .tinymce-mobile-unfocused-selection { + /* Note: this file is used inside the content, so isn't part of theming */ + background-color: green; + display: inline-block; + opacity: 0.5; + position: absolute; +} +body { + -webkit-text-size-adjust: none; +} +body img { + /* this is related to the content margin */ + max-width: 96vw; +} +body table img { + max-width: 95%; +} +body { + font-family: sans-serif; +} +table { + border-collapse: collapse; +} diff --git a/public/tinymce/skins/ui/oxide-dark/content.mobile.min.css b/public/tinymce/skins/ui/oxide-dark/content.mobile.min.css new file mode 100644 index 00000000..35f7dc08 --- /dev/null +++ b/public/tinymce/skins/ui/oxide-dark/content.mobile.min.css @@ -0,0 +1,7 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +.tinymce-mobile-unfocused-selections .tinymce-mobile-unfocused-selection{background-color:green;display:inline-block;opacity:.5;position:absolute}body{-webkit-text-size-adjust:none}body img{max-width:96vw}body table img{max-width:95%}body{font-family:sans-serif}table{border-collapse:collapse} diff --git a/public/tinymce/skins/ui/oxide-dark/fonts/tinymce-mobile.woff b/public/tinymce/skins/ui/oxide-dark/fonts/tinymce-mobile.woff new file mode 100644 index 00000000..1e3be038 Binary files /dev/null and b/public/tinymce/skins/ui/oxide-dark/fonts/tinymce-mobile.woff differ diff --git a/public/tinymce/skins/ui/oxide-dark/skin.css b/public/tinymce/skins/ui/oxide-dark/skin.css new file mode 100644 index 00000000..769655f3 --- /dev/null +++ b/public/tinymce/skins/ui/oxide-dark/skin.css @@ -0,0 +1,3034 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +.tox { + box-shadow: none; + box-sizing: content-box; + color: #2A3746; + cursor: auto; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-size: 16px; + font-style: normal; + font-weight: 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; +} +.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; +} +.tox:not([dir=rtl]) { + direction: ltr; + text-align: left; +} +.tox[dir=rtl] { + 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; +} +.tox-tinymce-inline { + border: none; + box-shadow: none; +} +.tox-tinymce-inline .tox-editor-header { + background-color: transparent; + border: 1px solid #000000; + border-radius: 0; + box-shadow: none; +} +.tox-tinymce-aux { + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + z-index: 1300; +} +.tox-tinymce *:focus, +.tox-tinymce-aux *:focus { + outline: none; +} +button::-moz-focus-inner { + border: 0; +} +.tox .accessibility-issue__header { + align-items: center; + display: flex; + margin-bottom: 4px; +} +.tox .accessibility-issue__description { + align-items: stretch; + border: 1px solid #000000; + border-radius: 3px; + display: flex; + justify-content: space-between; +} +.tox .accessibility-issue__description > div { + padding-bottom: 4px; +} +.tox .accessibility-issue__description > div > div { + align-items: center; + display: flex; + margin-bottom: 4px; +} +.tox .accessibility-issue__description > *:last-child:not(:only-child) { + border-color: #000000; + border-style: solid; +} +.tox .accessibility-issue__repair { + margin-top: 16px; +} +.tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description { + background-color: rgba(32, 122, 183, 0.5); + border-color: #207ab7; + color: #fff; +} +.tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description > *:last-child { + border-color: #207ab7; +} +.tox .tox-dialog__body-content .accessibility-issue--info .tox-form__group h2 { + color: #fff; +} +.tox .tox-dialog__body-content .accessibility-issue--info .tox-icon svg { + fill: #fff; +} +.tox .tox-dialog__body-content .accessibility-issue--info a .tox-icon { + color: #fff; +} +.tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description { + background-color: rgba(255, 165, 0, 0.5); + border-color: rgba(255, 165, 0, 0.8); + color: #fff; +} +.tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description > *:last-child { + border-color: rgba(255, 165, 0, 0.8); +} +.tox .tox-dialog__body-content .accessibility-issue--warn .tox-form__group h2 { + color: #fff; +} +.tox .tox-dialog__body-content .accessibility-issue--warn .tox-icon svg { + fill: #fff; +} +.tox .tox-dialog__body-content .accessibility-issue--warn a .tox-icon { + color: #fff; +} +.tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description { + background-color: rgba(204, 0, 0, 0.5); + border-color: rgba(204, 0, 0, 0.8); + color: #fff; +} +.tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description > *:last-child { + border-color: rgba(204, 0, 0, 0.8); +} +.tox .tox-dialog__body-content .accessibility-issue--error .tox-form__group h2 { + color: #fff; +} +.tox .tox-dialog__body-content .accessibility-issue--error .tox-icon svg { + fill: #fff; +} +.tox .tox-dialog__body-content .accessibility-issue--error a .tox-icon { + color: #fff; +} +.tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description { + background-color: rgba(120, 171, 70, 0.5); + border-color: rgba(120, 171, 70, 0.8); + color: #fff; +} +.tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description > *:last-child { + border-color: rgba(120, 171, 70, 0.8); +} +.tox .tox-dialog__body-content .accessibility-issue--success .tox-form__group h2 { + color: #fff; +} +.tox .tox-dialog__body-content .accessibility-issue--success .tox-icon svg { + fill: #fff; +} +.tox .tox-dialog__body-content .accessibility-issue--success a .tox-icon { + color: #fff; +} +.tox .tox-dialog__body-content .accessibility-issue__header h1, +.tox .tox-dialog__body-content .tox-form__group .accessibility-issue__description h2 { + margin-top: 0; +} +.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__header .tox-button { + margin-left: 4px; +} +.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__header > *:nth-last-child(2) { + margin-left: auto; +} +.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__description { + padding: 4px 4px 4px 8px; +} +.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__description > *:last-child { + border-left-width: 1px; + padding-left: 4px; +} +.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__header .tox-button { + margin-right: 4px; +} +.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__header > *:nth-last-child(2) { + margin-right: auto; +} +.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__description { + padding: 4px 8px 4px 4px; +} +.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__description > *:last-child { + border-right-width: 1px; + padding-right: 4px; +} +.tox .tox-anchorbar { + display: flex; + flex: 0 0 auto; +} +.tox .tox-bar { + display: flex; + flex: 0 0 auto; +} +.tox .tox-button { + background-color: #207ab7; + background-image: none; + background-position: 0 0; + background-repeat: repeat; + border-color: #207ab7; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + color: #fff; + cursor: pointer; + display: inline-block; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-size: 14px; + font-style: normal; + font-weight: bold; + letter-spacing: normal; + line-height: 24px; + margin: 0; + outline: none; + padding: 4px 16px; + text-align: center; + text-decoration: none; + text-transform: none; + white-space: nowrap; +} +.tox .tox-button[disabled] { + background-color: #207ab7; + background-image: none; + border-color: #207ab7; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); + cursor: not-allowed; +} +.tox .tox-button:focus:not(:disabled) { + background-color: #1c6ca1; + background-image: none; + border-color: #1c6ca1; + box-shadow: none; + color: #fff; +} +.tox .tox-button:hover:not(:disabled) { + background-color: #1c6ca1; + background-image: none; + border-color: #1c6ca1; + box-shadow: none; + color: #fff; +} +.tox .tox-button:active:not(:disabled) { + background-color: #185d8c; + background-image: none; + border-color: #185d8c; + box-shadow: none; + color: #fff; +} +.tox .tox-button--secondary { + background-color: #3d546f; + background-image: none; + background-position: 0 0; + background-repeat: repeat; + border-color: #3d546f; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + color: #fff; + font-size: 14px; + font-style: normal; + font-weight: bold; + letter-spacing: normal; + outline: none; + padding: 4px 16px; + text-decoration: none; + text-transform: none; +} +.tox .tox-button--secondary[disabled] { + background-color: #3d546f; + background-image: none; + border-color: #3d546f; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); +} +.tox .tox-button--secondary:focus:not(:disabled) { + background-color: #34485f; + background-image: none; + border-color: #34485f; + box-shadow: none; + color: #fff; +} +.tox .tox-button--secondary:hover:not(:disabled) { + background-color: #34485f; + background-image: none; + border-color: #34485f; + box-shadow: none; + color: #fff; +} +.tox .tox-button--secondary:active:not(:disabled) { + background-color: #2b3b4e; + background-image: none; + border-color: #2b3b4e; + box-shadow: none; + color: #fff; +} +.tox .tox-button--icon, +.tox .tox-button.tox-button--icon, +.tox .tox-button.tox-button--secondary.tox-button--icon { + padding: 4px; +} +.tox .tox-button--icon .tox-icon svg, +.tox .tox-button.tox-button--icon .tox-icon svg, +.tox .tox-button.tox-button--secondary.tox-button--icon .tox-icon svg { + display: block; + fill: currentColor; +} +.tox .tox-button-link { + background: 0; + border: none; + box-sizing: border-box; + cursor: pointer; + display: inline-block; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-size: 16px; + font-weight: normal; + line-height: 1.3; + margin: 0; + padding: 0; + white-space: nowrap; +} +.tox .tox-button-link--sm { + font-size: 14px; +} +.tox .tox-button--naked { + background-color: transparent; + border-color: transparent; + box-shadow: unset; + color: #fff; +} +.tox .tox-button--naked[disabled] { + background-color: #3d546f; + border-color: #3d546f; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); +} +.tox .tox-button--naked:hover:not(:disabled) { + background-color: #34485f; + border-color: #34485f; + box-shadow: none; + color: #fff; +} +.tox .tox-button--naked:focus:not(:disabled) { + background-color: #34485f; + border-color: #34485f; + box-shadow: none; + color: #fff; +} +.tox .tox-button--naked:active:not(:disabled) { + background-color: #2b3b4e; + border-color: #2b3b4e; + box-shadow: none; + color: #fff; +} +.tox .tox-button--naked .tox-icon svg { + fill: currentColor; +} +.tox .tox-button--naked.tox-button--icon:hover:not(:disabled) { + color: #fff; +} +.tox .tox-checkbox { + align-items: center; + border-radius: 3px; + cursor: pointer; + display: flex; + height: 36px; + min-width: 36px; +} +.tox .tox-checkbox__input { + /* Hide from view but visible to screen readers */ + height: 1px; + overflow: hidden; + position: absolute; + top: auto; + width: 1px; +} +.tox .tox-checkbox__icons { + align-items: center; + border-radius: 3px; + box-shadow: 0 0 0 2px transparent; + box-sizing: content-box; + display: flex; + height: 24px; + justify-content: center; + padding: calc(4px - 1px); + width: 24px; +} +.tox .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { + display: block; + fill: rgba(255, 255, 255, 0.2); +} +.tox .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { + display: none; + fill: #207ab7; +} +.tox .tox-checkbox__icons .tox-checkbox-icon__checked svg { + display: none; + fill: #207ab7; +} +.tox .tox-checkbox--disabled { + color: rgba(255, 255, 255, 0.5); + cursor: not-allowed; +} +.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__checked svg { + fill: rgba(255, 255, 255, 0.5); +} +.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { + fill: rgba(255, 255, 255, 0.5); +} +.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { + fill: rgba(255, 255, 255, 0.5); +} +.tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { + display: none; +} +.tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__checked svg { + display: block; +} +.tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { + display: none; +} +.tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { + display: block; +} +.tox input.tox-checkbox__input:focus + .tox-checkbox__icons { + border-radius: 3px; + box-shadow: inset 0 0 0 1px #207ab7; + padding: calc(4px - 1px); +} +.tox:not([dir=rtl]) .tox-checkbox__label { + margin-left: 4px; +} +.tox:not([dir=rtl]) .tox-checkbox__input { + left: -10000px; +} +.tox:not([dir=rtl]) .tox-bar .tox-checkbox { + margin-left: 4px; +} +.tox[dir=rtl] .tox-checkbox__label { + margin-right: 4px; +} +.tox[dir=rtl] .tox-checkbox__input { + right: -10000px; +} +.tox[dir=rtl] .tox-bar .tox-checkbox { + margin-right: 4px; +} +.tox { + /* stylelint-disable-next-line no-descending-specificity */ +} +.tox .tox-collection--toolbar .tox-collection__group { + display: flex; + padding: 0; +} +.tox .tox-collection--grid .tox-collection__group { + display: flex; + flex-wrap: wrap; + max-height: 208px; + overflow-x: hidden; + overflow-y: auto; + padding: 0; +} +.tox .tox-collection--list .tox-collection__group { + border-bottom-width: 0; + border-color: #1a1a1a; + border-left-width: 0; + border-right-width: 0; + border-style: solid; + border-top-width: 1px; + padding: 4px 0; +} +.tox .tox-collection--list .tox-collection__group:first-child { + border-top-width: 0; +} +.tox .tox-collection__group-heading { + background-color: #333333; + color: #fff; + cursor: default; + font-size: 12px; + font-style: normal; + font-weight: normal; + margin-bottom: 4px; + margin-top: -4px; + padding: 4px 8px; + text-transform: none; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.tox .tox-collection__item { + align-items: center; + color: #fff; + cursor: pointer; + display: flex; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.tox .tox-collection--list .tox-collection__item { + padding: 4px 8px; +} +.tox .tox-collection--toolbar .tox-collection__item { + border-radius: 3px; + padding: 4px; +} +.tox .tox-collection--grid .tox-collection__item { + border-radius: 3px; + padding: 4px; +} +.tox .tox-collection--list .tox-collection__item--enabled { + background-color: #2b3b4e; + color: #fff; +} +.tox .tox-collection--list .tox-collection__item--active { + background-color: #4a5562; +} +.tox .tox-collection--toolbar .tox-collection__item--enabled { + background-color: #757d87; + color: #fff; +} +.tox .tox-collection--toolbar .tox-collection__item--active { + background-color: #4a5562; +} +.tox .tox-collection--grid .tox-collection__item--enabled { + background-color: #757d87; + color: #fff; +} +.tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled) { + background-color: #4a5562; + color: #fff; +} +.tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled) { + color: #fff; +} +.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled) { + color: #fff; +} +.tox .tox-collection__item--state-disabled { + background-color: transparent; + color: rgba(255, 255, 255, 0.5); + cursor: not-allowed; +} +.tox .tox-collection__item-icon, +.tox .tox-collection__item-checkmark { + align-items: center; + display: flex; + height: 24px; + justify-content: center; + width: 24px; +} +.tox .tox-collection__item-icon svg, +.tox .tox-collection__item-checkmark svg { + fill: currentColor; +} +.tox .tox-collection--toolbar-lg .tox-collection__item-icon { + height: 48px; + width: 48px; +} +.tox .tox-collection__item-label { + color: currentColor; + display: inline-block; + flex: 1; + -ms-flex-preferred-size: auto; + font-size: 14px; + font-style: normal; + font-weight: normal; + line-height: 24px; + text-transform: none; + word-break: break-all; +} +.tox .tox-collection__item-accessory { + color: rgba(255, 255, 255, 0.5); + display: inline-block; + font-size: 14px; + height: 24px; + line-height: 24px; + text-transform: none; +} +.tox .tox-collection__item-caret { + align-items: center; + display: flex; + min-height: 24px; +} +.tox .tox-collection__item-caret::after { + content: ''; + font-size: 0; + min-height: inherit; +} +.tox .tox-collection__item-caret svg { + fill: #fff; +} +.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-checkmark svg { + display: none; +} +.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-accessory + .tox-collection__item-checkmark { + display: none; +} +.tox .tox-collection--horizontal { + background-color: #2b3b4e; + border: 1px solid #1a1a1a; + border-radius: 3px; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15); + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: nowrap; + margin-bottom: 0; + overflow-x: auto; + padding: 0; +} +.tox .tox-collection--horizontal .tox-collection__group { + align-items: center; + display: flex; + flex-wrap: nowrap; + margin: 0; + padding: 0 4px; +} +.tox .tox-collection--horizontal .tox-collection__item { + height: 34px; + margin: 2px 0 3px 0; + padding: 0 4px; +} +.tox .tox-collection--horizontal .tox-collection__item-label { + white-space: nowrap; +} +.tox .tox-collection--horizontal .tox-collection__item-caret { + margin-left: 4px; +} +.tox .tox-collection__item-container { + display: flex; +} +.tox .tox-collection__item-container--row { + align-items: center; + flex: 1 1 auto; + flex-direction: row; +} +.tox .tox-collection__item-container--row.tox-collection__item-container--align-left { + margin-right: auto; +} +.tox .tox-collection__item-container--row.tox-collection__item-container--align-right { + justify-content: flex-end; + margin-left: auto; +} +.tox .tox-collection__item-container--row.tox-collection__item-container--valign-top { + align-items: flex-start; + margin-bottom: auto; +} +.tox .tox-collection__item-container--row.tox-collection__item-container--valign-middle { + align-items: center; +} +.tox .tox-collection__item-container--row.tox-collection__item-container--valign-bottom { + align-items: flex-end; + margin-top: auto; +} +.tox .tox-collection__item-container--column { + -ms-grid-row-align: center; + align-self: center; + flex: 1 1 auto; + flex-direction: column; +} +.tox .tox-collection__item-container--column.tox-collection__item-container--align-left { + align-items: flex-start; +} +.tox .tox-collection__item-container--column.tox-collection__item-container--align-right { + align-items: flex-end; +} +.tox .tox-collection__item-container--column.tox-collection__item-container--valign-top { + align-self: flex-start; +} +.tox .tox-collection__item-container--column.tox-collection__item-container--valign-middle { + -ms-grid-row-align: center; + align-self: center; +} +.tox .tox-collection__item-container--column.tox-collection__item-container--valign-bottom { + align-self: flex-end; +} +.tox:not([dir=rtl]) .tox-collection--horizontal .tox-collection__group:not(:last-of-type) { + border-right: 1px solid #000000; +} +.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item > *:not(:first-child) { + margin-left: 8px; +} +.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item > .tox-collection__item-label:first-child { + margin-left: 4px; +} +.tox:not([dir=rtl]) .tox-collection__item-accessory { + margin-left: 16px; + text-align: right; +} +.tox:not([dir=rtl]) .tox-collection .tox-collection__item-caret { + margin-left: 16px; +} +.tox[dir=rtl] .tox-collection--horizontal .tox-collection__group:not(:last-of-type) { + border-left: 1px solid #000000; +} +.tox[dir=rtl] .tox-collection--list .tox-collection__item > *:not(:first-child) { + margin-right: 8px; +} +.tox[dir=rtl] .tox-collection--list .tox-collection__item > .tox-collection__item-label:first-child { + margin-right: 4px; +} +.tox[dir=rtl] .tox-collection__item-icon-rtl { + /* stylelint-disable-next-line no-descending-specificity */ +} +.tox[dir=rtl] .tox-collection__item-icon-rtl .tox-collection__item-icon svg { + transform: rotateY(180deg); +} +.tox[dir=rtl] .tox-collection__item-accessory { + margin-right: 16px; + text-align: left; +} +.tox[dir=rtl] .tox-collection .tox-collection__item-caret { + margin-right: 16px; + transform: rotateY(180deg); +} +.tox[dir=rtl] .tox-collection--horizontal .tox-collection__item-caret { + margin-right: 4px; +} +.tox .tox-color-picker-container { + display: flex; + flex-direction: row; + height: 225px; + margin: 0; +} +.tox .tox-sv-palette { + box-sizing: border-box; + display: flex; + height: 100%; +} +.tox .tox-sv-palette-spectrum { + height: 100%; +} +.tox .tox-sv-palette, +.tox .tox-sv-palette-spectrum { + width: 225px; +} +.tox .tox-sv-palette-thumb { + background: none; + border: 1px solid black; + border-radius: 50%; + box-sizing: content-box; + height: 12px; + position: absolute; + width: 12px; +} +.tox .tox-sv-palette-inner-thumb { + border: 1px solid white; + border-radius: 50%; + height: 10px; + position: absolute; + width: 10px; +} +.tox .tox-hue-slider { + box-sizing: border-box; + height: 100%; + width: 25px; +} +.tox .tox-hue-slider-spectrum { + background: linear-gradient(to bottom, #f00, #ff0080, #f0f, #8000ff, #00f, #0080ff, #0ff, #00ff80, #0f0, #80ff00, #ff0, #ff8000, #f00); + height: 100%; + width: 100%; +} +.tox .tox-hue-slider, +.tox .tox-hue-slider-spectrum { + width: 20px; +} +.tox .tox-hue-slider-thumb { + background: white; + border: 1px solid black; + box-sizing: content-box; + height: 4px; + width: 100%; +} +.tox .tox-rgb-form { + display: flex; + flex-direction: column; + justify-content: space-between; +} +.tox .tox-rgb-form div { + align-items: center; + display: flex; + justify-content: space-between; + margin-bottom: 5px; + width: inherit; +} +.tox .tox-rgb-form input { + width: 6em; +} +.tox .tox-rgb-form input.tox-invalid { + /* Need !important to override Chrome's focus styling unfortunately */ + border: 1px solid red !important; +} +.tox .tox-rgb-form .tox-rgba-preview { + border: 1px solid black; + flex-grow: 2; + margin-bottom: 0; +} +.tox:not([dir=rtl]) .tox-sv-palette { + margin-right: 15px; +} +.tox:not([dir=rtl]) .tox-hue-slider { + margin-right: 15px; +} +.tox:not([dir=rtl]) .tox-hue-slider-thumb { + margin-left: -1px; +} +.tox:not([dir=rtl]) .tox-rgb-form label { + margin-right: 0.5em; +} +.tox[dir=rtl] .tox-sv-palette { + margin-left: 15px; +} +.tox[dir=rtl] .tox-hue-slider { + margin-left: 15px; +} +.tox[dir=rtl] .tox-hue-slider-thumb { + margin-right: -1px; +} +.tox[dir=rtl] .tox-rgb-form label { + margin-left: 0.5em; +} +.tox .tox-toolbar .tox-swatches, +.tox .tox-toolbar__primary .tox-swatches, +.tox .tox-toolbar__overflow .tox-swatches { + margin: 2px 0 3px 4px; +} +.tox .tox-collection--list .tox-collection__group .tox-swatches-menu { + border: 0; + margin: -4px 0; +} +.tox .tox-swatches__row { + display: flex; +} +.tox .tox-swatch { + height: 30px; + transition: transform 0.15s, box-shadow 0.15s; + width: 30px; +} +.tox .tox-swatch:hover, +.tox .tox-swatch:focus { + box-shadow: 0 0 0 1px rgba(127, 127, 127, 0.3) inset; + transform: scale(0.8); +} +.tox .tox-swatch--remove { + align-items: center; + display: flex; + justify-content: center; +} +.tox .tox-swatch--remove svg path { + stroke: #e74c3c; +} +.tox .tox-swatches__picker-btn { + align-items: center; + background-color: transparent; + border: 0; + cursor: pointer; + display: flex; + height: 30px; + justify-content: center; + outline: none; + padding: 0; + width: 30px; +} +.tox .tox-swatches__picker-btn svg { + height: 24px; + width: 24px; +} +.tox .tox-swatches__picker-btn:hover { + background: #4a5562; +} +.tox:not([dir=rtl]) .tox-swatches__picker-btn { + margin-left: auto; +} +.tox[dir=rtl] .tox-swatches__picker-btn { + margin-right: auto; +} +.tox .tox-comment-thread { + background: #2b3b4e; + position: relative; +} +.tox .tox-comment-thread > *:not(:first-child) { + margin-top: 8px; +} +.tox .tox-comment { + background: #2b3b4e; + border: 1px solid #000000; + border-radius: 3px; + box-shadow: 0 4px 8px 0 rgba(42, 55, 70, 0.1); + padding: 8px 8px 16px 8px; + position: relative; +} +.tox .tox-comment__header { + align-items: center; + color: #fff; + display: flex; + justify-content: space-between; +} +.tox .tox-comment__date { + color: rgba(255, 255, 255, 0.5); + font-size: 12px; +} +.tox .tox-comment__body { + color: #fff; + font-size: 14px; + font-style: normal; + font-weight: normal; + line-height: 1.3; + margin-top: 8px; + position: relative; + text-transform: initial; +} +.tox .tox-comment__body textarea { + resize: none; + white-space: normal; + width: 100%; +} +.tox .tox-comment__expander { + padding-top: 8px; +} +.tox .tox-comment__expander p { + color: rgba(255, 255, 255, 0.5); + font-size: 14px; + font-style: normal; +} +.tox .tox-comment__body p { + margin: 0; +} +.tox .tox-comment__buttonspacing { + padding-top: 16px; + text-align: center; +} +.tox .tox-comment-thread__overlay::after { + background: #2b3b4e; + bottom: 0; + content: ""; + display: flex; + left: 0; + opacity: 0.9; + position: absolute; + right: 0; + top: 0; + z-index: 5; +} +.tox .tox-comment__reply { + display: flex; + flex-shrink: 0; + flex-wrap: wrap; + justify-content: flex-end; + margin-top: 8px; +} +.tox .tox-comment__reply > *:first-child { + margin-bottom: 8px; + width: 100%; +} +.tox .tox-comment__edit { + display: flex; + flex-wrap: wrap; + justify-content: flex-end; + margin-top: 16px; +} +.tox .tox-comment__gradient::after { + background: linear-gradient(rgba(43, 59, 78, 0), #2b3b4e); + bottom: 0; + content: ""; + display: block; + height: 5em; + margin-top: -40px; + position: absolute; + width: 100%; +} +.tox .tox-comment__overlay { + background: #2b3b4e; + bottom: 0; + display: flex; + flex-direction: column; + flex-grow: 1; + left: 0; + opacity: 0.9; + position: absolute; + right: 0; + text-align: center; + top: 0; + z-index: 5; +} +.tox .tox-comment__loading-text { + align-items: center; + color: #fff; + display: flex; + flex-direction: column; + position: relative; +} +.tox .tox-comment__loading-text > div { + padding-bottom: 16px; +} +.tox .tox-comment__overlaytext { + bottom: 0; + flex-direction: column; + font-size: 14px; + left: 0; + padding: 1em; + position: absolute; + right: 0; + top: 0; + z-index: 10; +} +.tox .tox-comment__overlaytext p { + background-color: #2b3b4e; + box-shadow: 0 0 8px 8px #2b3b4e; + color: #fff; + text-align: center; +} +.tox .tox-comment__overlaytext div:nth-of-type(2) { + font-size: 0.8em; +} +.tox .tox-comment__busy-spinner { + align-items: center; + background-color: #2b3b4e; + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 20; +} +.tox .tox-comment__scroll { + display: flex; + flex-direction: column; + flex-shrink: 1; + overflow: auto; +} +.tox .tox-conversations { + margin: 8px; +} +.tox:not([dir=rtl]) .tox-comment__edit { + margin-left: 8px; +} +.tox:not([dir=rtl]) .tox-comment__buttonspacing > *:last-child, +.tox:not([dir=rtl]) .tox-comment__edit > *:last-child, +.tox:not([dir=rtl]) .tox-comment__reply > *:last-child { + margin-left: 8px; +} +.tox[dir=rtl] .tox-comment__edit { + margin-right: 8px; +} +.tox[dir=rtl] .tox-comment__buttonspacing > *:last-child, +.tox[dir=rtl] .tox-comment__edit > *:last-child, +.tox[dir=rtl] .tox-comment__reply > *:last-child { + margin-right: 8px; +} +.tox .tox-user { + align-items: center; + display: flex; +} +.tox .tox-user__avatar svg { + fill: rgba(255, 255, 255, 0.5); +} +.tox .tox-user__name { + color: rgba(255, 255, 255, 0.5); + font-size: 12px; + font-style: normal; + font-weight: bold; + text-transform: uppercase; +} +.tox:not([dir=rtl]) .tox-user__avatar svg { + margin-right: 8px; +} +.tox:not([dir=rtl]) .tox-user__avatar + .tox-user__name { + margin-left: 8px; +} +.tox[dir=rtl] .tox-user__avatar svg { + margin-left: 8px; +} +.tox[dir=rtl] .tox-user__avatar + .tox-user__name { + margin-right: 8px; +} +.tox .tox-dialog-wrap { + align-items: center; + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: fixed; + right: 0; + top: 0; + z-index: 1100; +} +.tox .tox-dialog-wrap__backdrop { + background-color: rgba(34, 47, 62, 0.75); + bottom: 0; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 1; +} +.tox .tox-dialog-wrap__backdrop--opaque { + background-color: #222f3e; +} +.tox .tox-dialog { + background-color: #2b3b4e; + border-color: #000000; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: 0 16px 16px -10px rgba(42, 55, 70, 0.15), 0 0 40px 1px rgba(42, 55, 70, 0.15); + display: flex; + flex-direction: column; + max-height: 100%; + max-width: 480px; + overflow: hidden; + position: relative; + width: 95vw; + z-index: 2; +} +@media only screen and (max-width:767px) { + body:not(.tox-force-desktop) .tox .tox-dialog { + align-self: flex-start; + margin: 8px auto; + width: calc(100vw - 16px); + } +} +.tox .tox-dialog-inline { + z-index: 1100; +} +.tox .tox-dialog__header { + align-items: center; + background-color: #2b3b4e; + border-bottom: none; + color: #fff; + display: flex; + font-size: 16px; + justify-content: space-between; + padding: 8px 16px 0 16px; + position: relative; +} +.tox .tox-dialog__header .tox-button { + z-index: 1; +} +.tox .tox-dialog__draghandle { + cursor: grab; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +.tox .tox-dialog__draghandle:active { + cursor: grabbing; +} +.tox .tox-dialog__dismiss { + margin-left: auto; +} +.tox .tox-dialog__title { + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-size: 20px; + font-style: normal; + font-weight: normal; + line-height: 1.3; + margin: 0; + text-transform: none; +} +.tox .tox-dialog__body { + color: #fff; + display: flex; + flex: 1; + -ms-flex-preferred-size: auto; + font-size: 16px; + font-style: normal; + font-weight: normal; + line-height: 1.3; + min-width: 0; + text-align: left; + text-transform: none; +} +@media only screen and (max-width:767px) { + body:not(.tox-force-desktop) .tox .tox-dialog__body { + flex-direction: column; + } +} +.tox .tox-dialog__body-nav { + align-items: flex-start; + display: flex; + flex-direction: column; + padding: 16px 16px; +} +@media only screen and (max-width:767px) { + body:not(.tox-force-desktop) .tox .tox-dialog__body-nav { + flex-direction: row; + -webkit-overflow-scrolling: touch; + overflow-x: auto; + padding-bottom: 0; + } +} +.tox .tox-dialog__body-nav-item { + border-bottom: 2px solid transparent; + color: rgba(255, 255, 255, 0.5); + display: inline-block; + font-size: 14px; + line-height: 1.3; + margin-bottom: 8px; + text-decoration: none; + white-space: nowrap; +} +.tox .tox-dialog__body-nav-item:focus { + background-color: rgba(32, 122, 183, 0.1); +} +.tox .tox-dialog__body-nav-item--active { + border-bottom: 2px solid #207ab7; + color: #207ab7; +} +.tox .tox-dialog__body-content { + box-sizing: border-box; + display: flex; + flex: 1; + flex-direction: column; + -ms-flex-preferred-size: auto; + max-height: 650px; + overflow: auto; + -webkit-overflow-scrolling: touch; + padding: 16px 16px; +} +.tox .tox-dialog__body-content > * { + margin-bottom: 0; + margin-top: 16px; +} +.tox .tox-dialog__body-content > *:first-child { + margin-top: 0; +} +.tox .tox-dialog__body-content > *:last-child { + margin-bottom: 0; +} +.tox .tox-dialog__body-content > *:only-child { + margin-bottom: 0; + margin-top: 0; +} +.tox .tox-dialog__body-content a { + color: #207ab7; + cursor: pointer; + text-decoration: none; +} +.tox .tox-dialog__body-content a:hover, +.tox .tox-dialog__body-content a:focus { + color: #185d8c; + text-decoration: none; +} +.tox .tox-dialog__body-content a:active { + color: #185d8c; + text-decoration: none; +} +.tox .tox-dialog__body-content svg { + fill: #fff; +} +.tox .tox-dialog__body-content ul { + display: block; + list-style-type: disc; + margin-bottom: 16px; + -webkit-margin-end: 0; + margin-inline-end: 0; + -webkit-margin-start: 0; + margin-inline-start: 0; + -webkit-padding-start: 2.5rem; + padding-inline-start: 2.5rem; +} +.tox .tox-dialog__body-content .tox-form__group h1 { + color: #fff; + font-size: 20px; + font-style: normal; + font-weight: bold; + letter-spacing: normal; + margin-bottom: 16px; + margin-top: 2rem; + text-transform: none; +} +.tox .tox-dialog__body-content .tox-form__group h2 { + color: #fff; + font-size: 16px; + font-style: normal; + font-weight: bold; + letter-spacing: normal; + margin-bottom: 16px; + margin-top: 2rem; + text-transform: none; +} +.tox .tox-dialog__body-content .tox-form__group p { + margin-bottom: 16px; +} +.tox .tox-dialog__body-content .tox-form__group h1:first-child, +.tox .tox-dialog__body-content .tox-form__group h2:first-child, +.tox .tox-dialog__body-content .tox-form__group p:first-child { + margin-top: 0; +} +.tox .tox-dialog__body-content .tox-form__group h1:last-child, +.tox .tox-dialog__body-content .tox-form__group h2:last-child, +.tox .tox-dialog__body-content .tox-form__group p:last-child { + margin-bottom: 0; +} +.tox .tox-dialog__body-content .tox-form__group h1:only-child, +.tox .tox-dialog__body-content .tox-form__group h2:only-child, +.tox .tox-dialog__body-content .tox-form__group p:only-child { + margin-bottom: 0; + margin-top: 0; +} +.tox .tox-dialog--width-lg { + height: 650px; + max-width: 1200px; +} +.tox .tox-dialog--width-md { + max-width: 800px; +} +.tox .tox-dialog--width-md .tox-dialog__body-content { + overflow: auto; +} +.tox .tox-dialog__body-content--centered { + text-align: center; +} +.tox .tox-dialog__footer { + align-items: center; + background-color: #2b3b4e; + border-top: 1px solid #000000; + display: flex; + justify-content: space-between; + padding: 8px 16px; +} +.tox .tox-dialog__footer-start, +.tox .tox-dialog__footer-end { + display: flex; +} +.tox .tox-dialog__busy-spinner { + align-items: center; + background-color: rgba(34, 47, 62, 0.75); + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 3; +} +.tox .tox-dialog__table { + border-collapse: collapse; + width: 100%; +} +.tox .tox-dialog__table thead th { + font-weight: bold; + padding-bottom: 8px; +} +.tox .tox-dialog__table tbody tr { + border-bottom: 1px solid #000000; +} +.tox .tox-dialog__table tbody tr:last-child { + border-bottom: none; +} +.tox .tox-dialog__table td { + padding-bottom: 8px; + padding-top: 8px; +} +.tox .tox-dialog__popups { + position: absolute; + width: 100%; + z-index: 1100; +} +.tox .tox-dialog__body-iframe { + display: flex; + flex: 1; + flex-direction: column; + -ms-flex-preferred-size: auto; +} +.tox .tox-dialog__body-iframe .tox-navobj { + display: flex; + flex: 1; + -ms-flex-preferred-size: auto; +} +.tox .tox-dialog__body-iframe .tox-navobj :nth-child(2) { + flex: 1; + -ms-flex-preferred-size: auto; + height: 100%; +} +.tox .tox-dialog-dock-fadeout { + opacity: 0; + visibility: hidden; +} +.tox .tox-dialog-dock-fadein { + opacity: 1; + visibility: visible; +} +.tox .tox-dialog-dock-transition { + transition: visibility 0s linear 0.3s, opacity 0.3s ease; +} +.tox .tox-dialog-dock-transition.tox-dialog-dock-fadein { + transition-delay: 0s; +} +.tox.tox-platform-ie { + /* IE11 CSS styles go here */ +} +.tox.tox-platform-ie .tox-dialog-wrap { + position: -ms-device-fixed; +} +@media only screen and (max-width:767px) { + body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav { + margin-right: 0; + } +} +@media only screen and (max-width:767px) { + body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav-item:not(:first-child) { + margin-left: 8px; + } +} +.tox:not([dir=rtl]) .tox-dialog__footer .tox-dialog__footer-start > *, +.tox:not([dir=rtl]) .tox-dialog__footer .tox-dialog__footer-end > * { + margin-left: 8px; +} +.tox[dir=rtl] .tox-dialog__body { + text-align: right; +} +@media only screen and (max-width:767px) { + body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav { + margin-left: 0; + } +} +@media only screen and (max-width:767px) { + body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav-item:not(:first-child) { + margin-right: 8px; + } +} +.tox[dir=rtl] .tox-dialog__footer .tox-dialog__footer-start > *, +.tox[dir=rtl] .tox-dialog__footer .tox-dialog__footer-end > * { + margin-right: 8px; +} +body.tox-dialog__disable-scroll { + overflow: hidden; +} +.tox .tox-dropzone-container { + display: flex; + flex: 1; + -ms-flex-preferred-size: auto; +} +.tox .tox-dropzone { + align-items: center; + background: #fff; + border: 2px dashed #000000; + box-sizing: border-box; + display: flex; + flex-direction: column; + flex-grow: 1; + justify-content: center; + min-height: 100px; + padding: 10px; +} +.tox .tox-dropzone p { + color: rgba(255, 255, 255, 0.5); + margin: 0 0 16px 0; +} +.tox .tox-edit-area { + display: flex; + flex: 1; + -ms-flex-preferred-size: auto; + overflow: hidden; + position: relative; +} +.tox .tox-edit-area__iframe { + background-color: #fff; + border: 0; + box-sizing: border-box; + flex: 1; + -ms-flex-preferred-size: auto; + height: 100%; + position: absolute; + width: 100%; +} +.tox.tox-inline-edit-area { + border: 1px dotted #000000; +} +.tox .tox-editor-container { + display: flex; + flex: 1 1 auto; + flex-direction: column; + overflow: hidden; +} +.tox .tox-editor-header { + z-index: 1; +} +.tox:not(.tox-tinymce-inline) .tox-editor-header { + box-shadow: none; + transition: box-shadow 0.5s; +} +.tox.tox-tinymce--toolbar-bottom .tox-editor-header, +.tox.tox-tinymce-inline .tox-editor-header { + margin-bottom: -1px; +} +.tox.tox-tinymce--toolbar-sticky-on .tox-editor-header { + background-color: transparent; + box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); +} +.tox-editor-dock-fadeout { + opacity: 0; + visibility: hidden; +} +.tox-editor-dock-fadein { + opacity: 1; + visibility: visible; +} +.tox-editor-dock-transition { + transition: visibility 0s linear 0.25s, opacity 0.25s ease; +} +.tox-editor-dock-transition.tox-editor-dock-fadein { + transition-delay: 0s; +} +.tox .tox-control-wrap { + flex: 1; + position: relative; +} +.tox .tox-control-wrap:not(.tox-control-wrap--status-invalid) .tox-control-wrap__status-icon-invalid, +.tox .tox-control-wrap:not(.tox-control-wrap--status-unknown) .tox-control-wrap__status-icon-unknown, +.tox .tox-control-wrap:not(.tox-control-wrap--status-valid) .tox-control-wrap__status-icon-valid { + display: none; +} +.tox .tox-control-wrap svg { + display: block; +} +.tox .tox-control-wrap__status-icon-wrap { + position: absolute; + top: 50%; + transform: translateY(-50%); +} +.tox .tox-control-wrap__status-icon-invalid svg { + fill: #c00; +} +.tox .tox-control-wrap__status-icon-unknown svg { + fill: orange; +} +.tox .tox-control-wrap__status-icon-valid svg { + fill: green; +} +.tox:not([dir=rtl]) .tox-control-wrap--status-invalid .tox-textfield, +.tox:not([dir=rtl]) .tox-control-wrap--status-unknown .tox-textfield, +.tox:not([dir=rtl]) .tox-control-wrap--status-valid .tox-textfield { + padding-right: 32px; +} +.tox:not([dir=rtl]) .tox-control-wrap__status-icon-wrap { + right: 4px; +} +.tox[dir=rtl] .tox-control-wrap--status-invalid .tox-textfield, +.tox[dir=rtl] .tox-control-wrap--status-unknown .tox-textfield, +.tox[dir=rtl] .tox-control-wrap--status-valid .tox-textfield { + padding-left: 32px; +} +.tox[dir=rtl] .tox-control-wrap__status-icon-wrap { + left: 4px; +} +.tox .tox-autocompleter { + max-width: 25em; +} +.tox .tox-autocompleter .tox-menu { + max-width: 25em; +} +.tox .tox-autocompleter .tox-autocompleter-highlight { + font-weight: bold; +} +.tox .tox-color-input { + display: flex; + position: relative; + z-index: 1; +} +.tox .tox-color-input .tox-textfield { + z-index: -1; +} +.tox .tox-color-input span { + border-color: rgba(42, 55, 70, 0.2); + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + height: 24px; + position: absolute; + top: 6px; + width: 24px; +} +.tox .tox-color-input span:hover:not([aria-disabled=true]), +.tox .tox-color-input span:focus:not([aria-disabled=true]) { + border-color: #207ab7; + cursor: pointer; +} +.tox .tox-color-input span::before { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.25) 25%, transparent 25%), linear-gradient(-45deg, rgba(255, 255, 255, 0.25) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, rgba(255, 255, 255, 0.25) 75%), linear-gradient(-45deg, transparent 75%, rgba(255, 255, 255, 0.25) 75%); + background-position: 0 0, 0 6px, 6px -6px, -6px 0; + background-size: 12px 12px; + border: 1px solid #2b3b4e; + border-radius: 3px; + box-sizing: border-box; + content: ''; + height: 24px; + left: -1px; + position: absolute; + top: -1px; + width: 24px; + z-index: -1; +} +.tox .tox-color-input span[aria-disabled=true] { + cursor: not-allowed; +} +.tox:not([dir=rtl]) .tox-color-input { + /* stylelint-disable-next-line no-descending-specificity */ +} +.tox:not([dir=rtl]) .tox-color-input .tox-textfield { + padding-left: 36px; +} +.tox:not([dir=rtl]) .tox-color-input span { + left: 6px; +} +.tox[dir="rtl"] .tox-color-input { + /* stylelint-disable-next-line no-descending-specificity */ +} +.tox[dir="rtl"] .tox-color-input .tox-textfield { + padding-right: 36px; +} +.tox[dir="rtl"] .tox-color-input span { + right: 6px; +} +.tox .tox-label, +.tox .tox-toolbar-label { + color: rgba(255, 255, 255, 0.5); + display: block; + font-size: 14px; + font-style: normal; + font-weight: normal; + line-height: 1.3; + padding: 0 8px 0 0; + text-transform: none; + white-space: nowrap; +} +.tox .tox-toolbar-label { + padding: 0 8px; +} +.tox[dir=rtl] .tox-label { + padding: 0 0 0 8px; +} +.tox .tox-form { + display: flex; + flex: 1; + flex-direction: column; + -ms-flex-preferred-size: auto; +} +.tox .tox-form__group { + box-sizing: border-box; + margin-bottom: 4px; +} +.tox .tox-form-group--maximize { + flex: 1; +} +.tox .tox-form__group--error { + color: #c00; +} +.tox .tox-form__group--collection { + display: flex; +} +.tox .tox-form__grid { + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: space-between; +} +.tox .tox-form__grid--2col > .tox-form__group { + width: calc(50% - (8px / 2)); +} +.tox .tox-form__grid--3col > .tox-form__group { + width: calc(100% / 3 - (8px / 2)); +} +.tox .tox-form__grid--4col > .tox-form__group { + width: calc(25% - (8px / 2)); +} +.tox .tox-form__controls-h-stack { + align-items: center; + display: flex; +} +.tox .tox-form__group--inline { + align-items: center; + display: flex; +} +.tox .tox-form__group--stretched { + display: flex; + flex: 1; + flex-direction: column; + -ms-flex-preferred-size: auto; +} +.tox .tox-form__group--stretched .tox-textarea { + flex: 1; + -ms-flex-preferred-size: auto; +} +.tox .tox-form__group--stretched .tox-navobj { + display: flex; + flex: 1; + -ms-flex-preferred-size: auto; +} +.tox .tox-form__group--stretched .tox-navobj :nth-child(2) { + flex: 1; + -ms-flex-preferred-size: auto; + height: 100%; +} +.tox:not([dir=rtl]) .tox-form__controls-h-stack > *:not(:first-child) { + margin-left: 4px; +} +.tox[dir=rtl] .tox-form__controls-h-stack > *:not(:first-child) { + margin-right: 4px; +} +.tox .tox-lock.tox-locked .tox-lock-icon__unlock, +.tox .tox-lock:not(.tox-locked) .tox-lock-icon__lock { + display: none; +} +.tox .tox-textfield, +.tox .tox-toolbar-textfield, +.tox .tox-listboxfield .tox-listbox--select, +.tox .tox-textarea { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #2b3b4e; + border-color: #000000; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + color: #fff; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-size: 16px; + line-height: 24px; + margin: 0; + min-height: 34px; + outline: none; + padding: 5px 4.75px; + resize: none; + width: 100%; +} +.tox .tox-textfield[disabled], +.tox .tox-textarea[disabled] { + background-color: #222f3e; + color: rgba(255, 255, 255, 0.85); + cursor: not-allowed; +} +.tox .tox-textfield:focus, +.tox .tox-listboxfield .tox-listbox--select:focus, +.tox .tox-textarea:focus { + background-color: #2b3b4e; + border-color: #207ab7; + box-shadow: none; + outline: none; +} +.tox .tox-toolbar-textfield { + border-width: 0; + margin-bottom: 3px; + margin-top: 2px; + max-width: 250px; +} +.tox .tox-naked-btn { + background-color: transparent; + border: 0; + border-color: transparent; + box-shadow: unset; + color: #207ab7; + cursor: pointer; + display: block; + margin: 0; + padding: 0; +} +.tox .tox-naked-btn svg { + display: block; + fill: #fff; +} +.tox:not([dir=rtl]) .tox-toolbar-textfield + * { + margin-left: 4px; +} +.tox[dir=rtl] .tox-toolbar-textfield + * { + margin-right: 4px; +} +.tox .tox-listboxfield { + cursor: pointer; + position: relative; +} +.tox .tox-listboxfield .tox-listbox--select[disabled] { + background-color: #19232e; + color: rgba(255, 255, 255, 0.85); + cursor: not-allowed; +} +.tox .tox-listbox__select-label { + cursor: default; + flex: 1; + margin: 0 4px; +} +.tox .tox-listbox__select-chevron { + align-items: center; + display: flex; + justify-content: center; + width: 16px; +} +.tox .tox-listbox__select-chevron svg { + fill: #fff; +} +.tox .tox-listboxfield .tox-listbox--select { + align-items: center; + display: flex; +} +.tox:not([dir=rtl]) .tox-listboxfield svg { + right: 8px; +} +.tox[dir=rtl] .tox-listboxfield svg { + left: 8px; +} +.tox .tox-selectfield { + cursor: pointer; + position: relative; +} +.tox .tox-selectfield select { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #2b3b4e; + border-color: #000000; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + color: #fff; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-size: 16px; + line-height: 24px; + margin: 0; + min-height: 34px; + outline: none; + padding: 5px 4.75px; + resize: none; + width: 100%; +} +.tox .tox-selectfield select[disabled] { + background-color: #19232e; + color: rgba(255, 255, 255, 0.85); + cursor: not-allowed; +} +.tox .tox-selectfield select::-ms-expand { + display: none; +} +.tox .tox-selectfield select:focus { + background-color: #2b3b4e; + border-color: #207ab7; + box-shadow: none; + outline: none; +} +.tox .tox-selectfield svg { + pointer-events: none; + position: absolute; + top: 50%; + transform: translateY(-50%); +} +.tox:not([dir=rtl]) .tox-selectfield select[size="0"], +.tox:not([dir=rtl]) .tox-selectfield select[size="1"] { + padding-right: 24px; +} +.tox:not([dir=rtl]) .tox-selectfield svg { + right: 8px; +} +.tox[dir=rtl] .tox-selectfield select[size="0"], +.tox[dir=rtl] .tox-selectfield select[size="1"] { + padding-left: 24px; +} +.tox[dir=rtl] .tox-selectfield svg { + left: 8px; +} +.tox .tox-textarea { + -webkit-appearance: textarea; + -moz-appearance: textarea; + appearance: textarea; + white-space: pre-wrap; +} +.tox-fullscreen { + border: 0; + height: 100%; + left: 0; + margin: 0; + overflow: hidden; + -ms-scroll-chaining: none; + overscroll-behavior: none; + padding: 0; + position: fixed; + top: 0; + touch-action: pinch-zoom; + width: 100%; +} +.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle { + display: none; +} +.tox.tox-tinymce.tox-fullscreen { + background-color: transparent; + z-index: 1200; +} +.tox-shadowhost.tox-fullscreen { + z-index: 1200; +} +.tox-fullscreen .tox.tox-tinymce-aux, +.tox-fullscreen ~ .tox.tox-tinymce-aux { + z-index: 1201; +} +.tox .tox-help__more-link { + list-style: none; + margin-top: 1em; +} +.tox .tox-image-tools { + width: 100%; +} +.tox .tox-image-tools__toolbar { + align-items: center; + display: flex; + justify-content: center; +} +.tox .tox-image-tools__image { + background-color: #666; + height: 380px; + overflow: auto; + position: relative; + width: 100%; +} +.tox .tox-image-tools__image, +.tox .tox-image-tools__image + .tox-image-tools__toolbar { + margin-top: 8px; +} +.tox .tox-image-tools__image-bg { + background: url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==); +} +.tox .tox-image-tools__toolbar > .tox-spacer { + flex: 1; + -ms-flex-preferred-size: auto; +} +.tox .tox-croprect-block { + background: black; + filter: alpha(opacity=50); + opacity: 0.5; + position: absolute; + zoom: 1; +} +.tox .tox-croprect-handle { + border: 2px solid white; + height: 20px; + left: 0; + position: absolute; + top: 0; + width: 20px; +} +.tox .tox-croprect-handle-move { + border: 0; + cursor: move; + position: absolute; +} +.tox .tox-croprect-handle-nw { + border-width: 2px 0 0 2px; + cursor: nw-resize; + left: 100px; + margin: -2px 0 0 -2px; + top: 100px; +} +.tox .tox-croprect-handle-ne { + border-width: 2px 2px 0 0; + cursor: ne-resize; + left: 200px; + margin: -2px 0 0 -20px; + top: 100px; +} +.tox .tox-croprect-handle-sw { + border-width: 0 0 2px 2px; + cursor: sw-resize; + left: 100px; + margin: -20px 2px 0 -2px; + top: 200px; +} +.tox .tox-croprect-handle-se { + border-width: 0 2px 2px 0; + cursor: se-resize; + left: 200px; + margin: -20px 0 0 -20px; + top: 200px; +} +.tox:not([dir=rtl]) .tox-image-tools__toolbar > .tox-slider:not(:first-of-type) { + margin-left: 8px; +} +.tox:not([dir=rtl]) .tox-image-tools__toolbar > .tox-button + .tox-slider { + margin-left: 32px; +} +.tox:not([dir=rtl]) .tox-image-tools__toolbar > .tox-slider + .tox-button { + margin-left: 32px; +} +.tox[dir=rtl] .tox-image-tools__toolbar > .tox-slider:not(:first-of-type) { + margin-right: 8px; +} +.tox[dir=rtl] .tox-image-tools__toolbar > .tox-button + .tox-slider { + margin-right: 32px; +} +.tox[dir=rtl] .tox-image-tools__toolbar > .tox-slider + .tox-button { + margin-right: 32px; +} +.tox .tox-insert-table-picker { + display: flex; + flex-wrap: wrap; + width: 170px; +} +.tox .tox-insert-table-picker > div { + border-color: #000000; + border-style: solid; + border-width: 0 1px 1px 0; + box-sizing: border-box; + height: 17px; + width: 17px; +} +.tox .tox-collection--list .tox-collection__group .tox-insert-table-picker { + margin: -4px 0; +} +.tox .tox-insert-table-picker .tox-insert-table-picker__selected { + background-color: rgba(32, 122, 183, 0.5); + border-color: rgba(32, 122, 183, 0.5); +} +.tox .tox-insert-table-picker__label { + color: #fff; + display: block; + font-size: 14px; + padding: 4px; + text-align: center; + width: 100%; +} +.tox:not([dir=rtl]) { + /* stylelint-disable-next-line no-descending-specificity */ +} +.tox:not([dir=rtl]) .tox-insert-table-picker > div:nth-child(10n) { + border-right: 0; +} +.tox[dir=rtl] { + /* stylelint-disable-next-line no-descending-specificity */ +} +.tox[dir=rtl] .tox-insert-table-picker > div:nth-child(10n+1) { + border-right: 0; +} +.tox { + /* stylelint-disable */ + /* stylelint-enable */ +} +.tox .tox-menu { + background-color: #2b3b4e; + border: 1px solid #000000; + border-radius: 3px; + box-shadow: 0 4px 8px 0 rgba(42, 55, 70, 0.1); + display: inline-block; + overflow: hidden; + vertical-align: top; + z-index: 1150; +} +.tox .tox-menu.tox-collection.tox-collection--list { + padding: 0; +} +.tox .tox-menu.tox-collection.tox-collection--toolbar { + padding: 4px; +} +.tox .tox-menu.tox-collection.tox-collection--grid { + padding: 4px; +} +.tox .tox-menu__label h1, +.tox .tox-menu__label h2, +.tox .tox-menu__label h3, +.tox .tox-menu__label h4, +.tox .tox-menu__label h5, +.tox .tox-menu__label h6, +.tox .tox-menu__label p, +.tox .tox-menu__label blockquote, +.tox .tox-menu__label code { + margin: 0; +} +.tox .tox-menubar { + background: url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23000000'/%3E%3C/svg%3E") left 0 top 0 #222f3e; + background-color: #222f3e; + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: wrap; + padding: 0 4px 0 4px; +} +.tox.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-menubar { + border-top: 1px solid #000000; +} +/* Deprecated. Remove in next major release */ +.tox .tox-mbtn { + align-items: center; + background: transparent; + border: 0; + border-radius: 3px; + box-shadow: none; + color: #fff; + display: flex; + flex: 0 0 auto; + font-size: 14px; + font-style: normal; + font-weight: normal; + height: 34px; + justify-content: center; + margin: 2px 0 3px 0; + outline: none; + overflow: hidden; + padding: 0 4px; + text-transform: none; + width: auto; +} +.tox .tox-mbtn[disabled] { + background-color: transparent; + border: 0; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); + cursor: not-allowed; +} +.tox .tox-mbtn:focus:not(:disabled) { + background: #4a5562; + border: 0; + box-shadow: none; + color: #fff; +} +.tox .tox-mbtn--active { + background: #757d87; + border: 0; + box-shadow: none; + color: #fff; +} +.tox .tox-mbtn:hover:not(:disabled):not(.tox-mbtn--active) { + background: #4a5562; + border: 0; + box-shadow: none; + color: #fff; +} +.tox .tox-mbtn__select-label { + cursor: default; + font-weight: normal; + margin: 0 4px; +} +.tox .tox-mbtn[disabled] .tox-mbtn__select-label { + cursor: not-allowed; +} +.tox .tox-mbtn__select-chevron { + align-items: center; + display: flex; + justify-content: center; + width: 16px; + display: none; +} +.tox .tox-notification { + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + display: -ms-grid; + display: grid; + font-size: 14px; + font-weight: normal; + -ms-grid-columns: minmax(40px, 1fr) auto minmax(40px, 1fr); + grid-template-columns: minmax(40px, 1fr) auto minmax(40px, 1fr); + margin-top: 4px; + opacity: 0; + padding: 4px; + transition: transform 100ms ease-in, opacity 150ms ease-in; +} +.tox .tox-notification p { + font-size: 14px; + font-weight: normal; +} +.tox .tox-notification a { + text-decoration: underline; +} +.tox .tox-notification--in { + opacity: 1; +} +.tox .tox-notification--success { + background-color: #e4eeda; + border-color: #d7e6c8; + color: #fff; +} +.tox .tox-notification--success p { + color: #fff; +} +.tox .tox-notification--success a { + color: #547831; +} +.tox .tox-notification--success svg { + fill: #fff; +} +.tox .tox-notification--error { + background-color: #f8dede; + border-color: #f2bfbf; + color: #fff; +} +.tox .tox-notification--error p { + color: #fff; +} +.tox .tox-notification--error a { + color: #c00; +} +.tox .tox-notification--error svg { + fill: #fff; +} +.tox .tox-notification--warn, +.tox .tox-notification--warning { + background-color: #fffaea; + border-color: #ffe89d; + color: #fff; +} +.tox .tox-notification--warn p, +.tox .tox-notification--warning p { + color: #fff; +} +.tox .tox-notification--warn a, +.tox .tox-notification--warning a { + color: #fff; +} +.tox .tox-notification--warn svg, +.tox .tox-notification--warning svg { + fill: #fff; +} +.tox .tox-notification--info { + background-color: #d9edf7; + border-color: #779ecb; + color: #fff; +} +.tox .tox-notification--info p { + color: #fff; +} +.tox .tox-notification--info a { + color: #fff; +} +.tox .tox-notification--info svg { + fill: #fff; +} +.tox .tox-notification__body { + -ms-grid-row-align: center; + align-self: center; + color: #fff; + font-size: 14px; + -ms-grid-column-span: 1; + grid-column-end: 3; + -ms-grid-column: 2; + grid-column-start: 2; + -ms-grid-row-span: 1; + grid-row-end: 2; + -ms-grid-row: 1; + grid-row-start: 1; + text-align: center; + white-space: normal; + word-break: break-all; + word-break: break-word; +} +.tox .tox-notification__body > * { + margin: 0; +} +.tox .tox-notification__body > * + * { + margin-top: 1rem; +} +.tox .tox-notification__icon { + -ms-grid-row-align: center; + align-self: center; + -ms-grid-column-span: 1; + grid-column-end: 2; + -ms-grid-column: 1; + grid-column-start: 1; + -ms-grid-row-span: 1; + grid-row-end: 2; + -ms-grid-row: 1; + grid-row-start: 1; + -ms-grid-column-align: end; + justify-self: end; +} +.tox .tox-notification__icon svg { + display: block; +} +.tox .tox-notification__dismiss { + -ms-grid-row-align: start; + align-self: start; + -ms-grid-column-span: 1; + grid-column-end: 4; + -ms-grid-column: 3; + grid-column-start: 3; + -ms-grid-row-span: 1; + grid-row-end: 2; + -ms-grid-row: 1; + grid-row-start: 1; + -ms-grid-column-align: end; + justify-self: end; +} +.tox .tox-notification .tox-progress-bar { + -ms-grid-column-span: 3; + grid-column-end: 4; + -ms-grid-column: 1; + grid-column-start: 1; + -ms-grid-row-span: 1; + grid-row-end: 3; + -ms-grid-row: 2; + grid-row-start: 2; + -ms-grid-column-align: center; + justify-self: center; +} +.tox .tox-pop { + display: inline-block; + position: relative; +} +.tox .tox-pop--resizing { + transition: width 0.1s ease; +} +.tox .tox-pop--resizing .tox-toolbar { + flex-wrap: nowrap; +} +.tox .tox-pop__dialog { + background-color: #222f3e; + border: 1px solid #000000; + border-radius: 3px; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15); + min-width: 0; + overflow: hidden; +} +.tox .tox-pop__dialog > *:not(.tox-toolbar) { + margin: 4px 4px 4px 8px; +} +.tox .tox-pop__dialog .tox-toolbar { + background-color: transparent; + margin-bottom: -1px; +} +.tox .tox-pop::before, +.tox .tox-pop::after { + border-style: solid; + content: ''; + display: block; + height: 0; + position: absolute; + width: 0; +} +.tox .tox-pop.tox-pop--bottom::before, +.tox .tox-pop.tox-pop--bottom::after { + left: 50%; + top: 100%; +} +.tox .tox-pop.tox-pop--bottom::after { + border-color: #222f3e transparent transparent transparent; + border-width: 8px; + margin-left: -8px; + margin-top: -1px; +} +.tox .tox-pop.tox-pop--bottom::before { + border-color: #000000 transparent transparent transparent; + border-width: 9px; + margin-left: -9px; +} +.tox .tox-pop.tox-pop--top::before, +.tox .tox-pop.tox-pop--top::after { + left: 50%; + top: 0; + transform: translateY(-100%); +} +.tox .tox-pop.tox-pop--top::after { + border-color: transparent transparent #222f3e transparent; + border-width: 8px; + margin-left: -8px; + margin-top: 1px; +} +.tox .tox-pop.tox-pop--top::before { + border-color: transparent transparent #000000 transparent; + border-width: 9px; + margin-left: -9px; +} +.tox .tox-pop.tox-pop--left::before, +.tox .tox-pop.tox-pop--left::after { + left: 0; + top: calc(50% - 1px); + transform: translateY(-50%); +} +.tox .tox-pop.tox-pop--left::after { + border-color: transparent #222f3e transparent transparent; + border-width: 8px; + margin-left: -15px; +} +.tox .tox-pop.tox-pop--left::before { + border-color: transparent #000000 transparent transparent; + border-width: 10px; + margin-left: -19px; +} +.tox .tox-pop.tox-pop--right::before, +.tox .tox-pop.tox-pop--right::after { + left: 100%; + top: calc(50% + 1px); + transform: translateY(-50%); +} +.tox .tox-pop.tox-pop--right::after { + border-color: transparent transparent transparent #222f3e; + border-width: 8px; + margin-left: -1px; +} +.tox .tox-pop.tox-pop--right::before { + border-color: transparent transparent transparent #000000; + border-width: 10px; + margin-left: -1px; +} +.tox .tox-pop.tox-pop--align-left::before, +.tox .tox-pop.tox-pop--align-left::after { + left: 20px; +} +.tox .tox-pop.tox-pop--align-right::before, +.tox .tox-pop.tox-pop--align-right::after { + left: calc(100% - 20px); +} +.tox .tox-sidebar-wrap { + display: flex; + flex-direction: row; + flex-grow: 1; + -ms-flex-preferred-size: 0; + min-height: 0; +} +.tox .tox-sidebar { + background-color: #222f3e; + display: flex; + flex-direction: row; + justify-content: flex-end; +} +.tox .tox-sidebar__slider { + display: flex; + overflow: hidden; +} +.tox .tox-sidebar__pane-container { + display: flex; +} +.tox .tox-sidebar__pane { + display: flex; +} +.tox .tox-sidebar--sliding-closed { + opacity: 0; +} +.tox .tox-sidebar--sliding-open { + opacity: 1; +} +.tox .tox-sidebar--sliding-growing, +.tox .tox-sidebar--sliding-shrinking { + transition: width 0.5s ease, opacity 0.5s ease; +} +.tox .tox-selector { + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + display: inline-block; + height: 10px; + position: absolute; + width: 10px; +} +.tox.tox-platform-touch .tox-selector { + height: 12px; + width: 12px; +} +.tox .tox-slider { + align-items: center; + display: flex; + flex: 1; + -ms-flex-preferred-size: auto; + height: 24px; + justify-content: center; + position: relative; +} +.tox .tox-slider__rail { + background-color: transparent; + border: 1px solid #000000; + border-radius: 3px; + height: 10px; + min-width: 120px; + width: 100%; +} +.tox .tox-slider__handle { + background-color: #207ab7; + border: 2px solid #185d8c; + border-radius: 3px; + box-shadow: none; + height: 24px; + left: 50%; + position: absolute; + top: 50%; + transform: translateX(-50%) translateY(-50%); + width: 14px; +} +.tox .tox-source-code { + overflow: auto; +} +.tox .tox-spinner { + display: flex; +} +.tox .tox-spinner > div { + animation: tam-bouncing-dots 1.5s ease-in-out 0s infinite both; + background-color: rgba(255, 255, 255, 0.5); + border-radius: 100%; + height: 8px; + width: 8px; +} +.tox .tox-spinner > div:nth-child(1) { + animation-delay: -0.32s; +} +.tox .tox-spinner > div:nth-child(2) { + animation-delay: -0.16s; +} +@keyframes tam-bouncing-dots { + 0%, + 80%, + 100% { + transform: scale(0); + } + 40% { + transform: scale(1); + } +} +.tox:not([dir=rtl]) .tox-spinner > div:not(:first-child) { + margin-left: 4px; +} +.tox[dir=rtl] .tox-spinner > div:not(:first-child) { + margin-right: 4px; +} +.tox .tox-statusbar { + align-items: center; + background-color: #222f3e; + border-top: 1px solid #000000; + color: #fff; + display: flex; + flex: 0 0 auto; + font-size: 12px; + font-weight: normal; + height: 18px; + overflow: hidden; + padding: 0 8px; + position: relative; + text-transform: uppercase; +} +.tox .tox-statusbar__text-container { + display: flex; + flex: 1 1 auto; + justify-content: flex-end; + overflow: hidden; +} +.tox .tox-statusbar__path { + display: flex; + flex: 1 1 auto; + margin-right: auto; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.tox .tox-statusbar__path > * { + display: inline; + white-space: nowrap; +} +.tox .tox-statusbar__wordcount { + flex: 0 0 auto; + margin-left: 1ch; +} +.tox .tox-statusbar a, +.tox .tox-statusbar__path-item, +.tox .tox-statusbar__wordcount { + color: #fff; + text-decoration: none; +} +.tox .tox-statusbar a:hover:not(:disabled):not([aria-disabled=true]), +.tox .tox-statusbar__path-item:hover:not(:disabled):not([aria-disabled=true]), +.tox .tox-statusbar__wordcount:hover:not(:disabled):not([aria-disabled=true]), +.tox .tox-statusbar a:focus:not(:disabled):not([aria-disabled=true]), +.tox .tox-statusbar__path-item:focus:not(:disabled):not([aria-disabled=true]), +.tox .tox-statusbar__wordcount:focus:not(:disabled):not([aria-disabled=true]) { + cursor: pointer; + text-decoration: underline; +} +.tox .tox-statusbar__resize-handle { + align-items: flex-end; + align-self: stretch; + cursor: nwse-resize; + display: flex; + flex: 0 0 auto; + justify-content: flex-end; + margin-left: auto; + margin-right: -8px; + padding-left: 1ch; +} +.tox .tox-statusbar__resize-handle svg { + display: block; + fill: #fff; +} +.tox .tox-statusbar__resize-handle:focus svg { + background-color: #4a5562; + border-radius: 1px; + box-shadow: 0 0 0 2px #4a5562; +} +.tox:not([dir=rtl]) .tox-statusbar__path > * { + margin-right: 4px; +} +.tox:not([dir=rtl]) .tox-statusbar__branding { + margin-left: 1ch; +} +.tox[dir=rtl] .tox-statusbar { + flex-direction: row-reverse; +} +.tox[dir=rtl] .tox-statusbar__path > * { + margin-left: 4px; +} +.tox .tox-throbber { + z-index: 1299; +} +.tox .tox-throbber__busy-spinner { + align-items: center; + background-color: rgba(34, 47, 62, 0.6); + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: absolute; + right: 0; + top: 0; +} +.tox .tox-tbtn { + align-items: center; + background: transparent; + border: 0; + border-radius: 3px; + box-shadow: none; + color: #fff; + display: flex; + flex: 0 0 auto; + font-size: 14px; + font-style: normal; + font-weight: normal; + height: 34px; + justify-content: center; + margin: 2px 0 3px 0; + outline: none; + overflow: hidden; + padding: 0; + text-transform: none; + width: 34px; +} +.tox .tox-tbtn svg { + display: block; + fill: #fff; +} +.tox .tox-tbtn.tox-tbtn-more { + padding-left: 5px; + padding-right: 5px; + width: inherit; +} +.tox .tox-tbtn:focus { + background: #4a5562; + border: 0; + box-shadow: none; +} +.tox .tox-tbtn:hover { + background: #4a5562; + border: 0; + box-shadow: none; + color: #fff; +} +.tox .tox-tbtn:hover svg { + fill: #fff; +} +.tox .tox-tbtn:active { + background: #757d87; + border: 0; + box-shadow: none; + color: #fff; +} +.tox .tox-tbtn:active svg { + fill: #fff; +} +.tox .tox-tbtn--disabled, +.tox .tox-tbtn--disabled:hover, +.tox .tox-tbtn:disabled, +.tox .tox-tbtn:disabled:hover { + background: transparent; + border: 0; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); + cursor: not-allowed; +} +.tox .tox-tbtn--disabled svg, +.tox .tox-tbtn--disabled:hover svg, +.tox .tox-tbtn:disabled svg, +.tox .tox-tbtn:disabled:hover svg { + /* stylelint-disable-line no-descending-specificity */ + fill: rgba(255, 255, 255, 0.5); +} +.tox .tox-tbtn--enabled, +.tox .tox-tbtn--enabled:hover { + background: #757d87; + border: 0; + box-shadow: none; + color: #fff; +} +.tox .tox-tbtn--enabled > *, +.tox .tox-tbtn--enabled:hover > * { + transform: none; +} +.tox .tox-tbtn--enabled svg, +.tox .tox-tbtn--enabled:hover svg { + /* stylelint-disable-line no-descending-specificity */ + fill: #fff; +} +.tox .tox-tbtn:focus:not(.tox-tbtn--disabled) { + color: #fff; +} +.tox .tox-tbtn:focus:not(.tox-tbtn--disabled) svg { + fill: #fff; +} +.tox .tox-tbtn:active > * { + transform: none; +} +.tox .tox-tbtn--md { + height: 51px; + width: 51px; +} +.tox .tox-tbtn--lg { + flex-direction: column; + height: 68px; + width: 68px; +} +.tox .tox-tbtn--return { + -ms-grid-row-align: stretch; + align-self: stretch; + height: unset; + width: 16px; +} +.tox .tox-tbtn--labeled { + padding: 0 4px; + width: unset; +} +.tox .tox-tbtn__vlabel { + display: block; + font-size: 10px; + font-weight: normal; + letter-spacing: -0.025em; + margin-bottom: 4px; + white-space: nowrap; +} +.tox .tox-tbtn--select { + margin: 2px 0 3px 0; + padding: 0 4px; + width: auto; +} +.tox .tox-tbtn__select-label { + cursor: default; + font-weight: normal; + margin: 0 4px; +} +.tox .tox-tbtn__select-chevron { + align-items: center; + display: flex; + justify-content: center; + width: 16px; +} +.tox .tox-tbtn__select-chevron svg { + fill: rgba(255, 255, 255, 0.5); +} +.tox .tox-tbtn--bespoke .tox-tbtn__select-label { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + width: 7em; +} +.tox .tox-split-button { + border: 0; + border-radius: 3px; + box-sizing: border-box; + display: flex; + margin: 2px 0 3px 0; + overflow: hidden; +} +.tox .tox-split-button:hover { + box-shadow: 0 0 0 1px #4a5562 inset; +} +.tox .tox-split-button:focus { + background: #4a5562; + box-shadow: none; + color: #fff; +} +.tox .tox-split-button > * { + border-radius: 0; +} +.tox .tox-split-button__chevron { + width: 16px; +} +.tox .tox-split-button__chevron svg { + fill: rgba(255, 255, 255, 0.5); +} +.tox .tox-split-button .tox-tbtn { + margin: 0; +} +.tox.tox-platform-touch .tox-split-button .tox-tbtn:first-child { + width: 30px; +} +.tox.tox-platform-touch .tox-split-button__chevron { + width: 20px; +} +.tox .tox-split-button.tox-tbtn--disabled:hover, +.tox .tox-split-button.tox-tbtn--disabled:focus, +.tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:hover, +.tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:focus { + background: transparent; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); +} +.tox .tox-toolbar-overlord { + background-color: #222f3e; +} +.tox .tox-toolbar, +.tox .tox-toolbar__primary, +.tox .tox-toolbar__overflow { + background: url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23000000'/%3E%3C/svg%3E") left 0 top 0 #222f3e; + background-color: #222f3e; + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: wrap; + padding: 0 0; +} +.tox .tox-toolbar__overflow.tox-toolbar__overflow--closed { + height: 0; + opacity: 0; + padding-bottom: 0; + padding-top: 0; + visibility: hidden; +} +.tox .tox-toolbar__overflow--growing { + transition: height 0.3s ease, opacity 0.2s linear 0.1s; +} +.tox .tox-toolbar__overflow--shrinking { + transition: opacity 0.3s ease, height 0.2s linear 0.1s, visibility 0s linear 0.3s; +} +.tox .tox-menubar + .tox-toolbar, +.tox .tox-menubar + .tox-toolbar-overlord .tox-toolbar__primary { + border-top: 1px solid #000000; + margin-top: -1px; +} +.tox .tox-toolbar--scrolling { + flex-wrap: nowrap; + overflow-x: auto; +} +.tox .tox-pop .tox-toolbar { + border-width: 0; +} +.tox .tox-toolbar--no-divider { + background-image: none; +} +.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar:first-child, +.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar-overlord:first-child .tox-toolbar__primary { + border-top: 1px solid #000000; +} +.tox.tox-tinymce-aux .tox-toolbar__overflow { + background-color: #222f3e; + border: 1px solid #000000; + border-radius: 3px; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15); +} +.tox[dir=rtl] .tox-tbtn__icon-rtl svg { + transform: rotateY(180deg); +} +.tox .tox-toolbar__group { + align-items: center; + display: flex; + flex-wrap: wrap; + margin: 0 0; + padding: 0 4px 0 4px; +} +.tox .tox-toolbar__group--pull-right { + margin-left: auto; +} +.tox .tox-toolbar--scrolling .tox-toolbar__group { + flex-shrink: 0; + flex-wrap: nowrap; +} +.tox:not([dir=rtl]) .tox-toolbar__group:not(:last-of-type) { + border-right: 1px solid #000000; +} +.tox[dir=rtl] .tox-toolbar__group:not(:last-of-type) { + border-left: 1px solid #000000; +} +.tox .tox-tooltip { + display: inline-block; + padding: 8px; + position: relative; +} +.tox .tox-tooltip__body { + background-color: #3d546f; + border-radius: 3px; + box-shadow: 0 2px 4px rgba(42, 55, 70, 0.3); + color: rgba(255, 255, 255, 0.75); + font-size: 14px; + font-style: normal; + font-weight: normal; + padding: 4px 8px; + text-transform: none; +} +.tox .tox-tooltip__arrow { + position: absolute; +} +.tox .tox-tooltip--down .tox-tooltip__arrow { + border-left: 8px solid transparent; + border-right: 8px solid transparent; + border-top: 8px solid #3d546f; + bottom: 0; + left: 50%; + position: absolute; + transform: translateX(-50%); +} +.tox .tox-tooltip--up .tox-tooltip__arrow { + border-bottom: 8px solid #3d546f; + border-left: 8px solid transparent; + border-right: 8px solid transparent; + left: 50%; + position: absolute; + top: 0; + transform: translateX(-50%); +} +.tox .tox-tooltip--right .tox-tooltip__arrow { + border-bottom: 8px solid transparent; + border-left: 8px solid #3d546f; + border-top: 8px solid transparent; + position: absolute; + right: 0; + top: 50%; + transform: translateY(-50%); +} +.tox .tox-tooltip--left .tox-tooltip__arrow { + border-bottom: 8px solid transparent; + border-right: 8px solid #3d546f; + border-top: 8px solid transparent; + left: 0; + position: absolute; + top: 50%; + transform: translateY(-50%); +} +.tox .tox-well { + border: 1px solid #000000; + border-radius: 3px; + padding: 8px; + width: 100%; +} +.tox .tox-well > *:first-child { + margin-top: 0; +} +.tox .tox-well > *:last-child { + margin-bottom: 0; +} +.tox .tox-well > *:only-child { + margin: 0; +} +.tox .tox-custom-editor { + border: 1px solid #000000; + border-radius: 3px; + display: flex; + flex: 1; + position: relative; +} +/* stylelint-disable */ +.tox { + /* stylelint-enable */ +} +.tox .tox-dialog-loading::before { + background-color: rgba(0, 0, 0, 0.5); + content: ""; + height: 100%; + position: absolute; + width: 100%; + z-index: 1000; +} +.tox .tox-tab { + cursor: pointer; +} +.tox .tox-dialog__content-js { + display: flex; + flex: 1; + -ms-flex-preferred-size: auto; +} +.tox .tox-dialog__body-content .tox-collection { + display: flex; + flex: 1; + -ms-flex-preferred-size: auto; +} +.tox .tox-image-tools-edit-panel { + height: 60px; +} +.tox .tox-image-tools__sidebar { + height: 60px; +} diff --git a/public/tinymce/skins/ui/oxide-dark/skin.min.css b/public/tinymce/skins/ui/oxide-dark/skin.min.css new file mode 100644 index 00000000..8d4e9ec9 --- /dev/null +++ b/public/tinymce/skins/ui/oxide-dark/skin.min.css @@ -0,0 +1,7 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +.tox{box-shadow:none;box-sizing:content-box;color:#2a3746;cursor:auto;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:normal;-webkit-tap-highlight-color:transparent;text-decoration:none;text-shadow:none;text-transform:none;vertical-align:initial;white-space:normal}.tox :not(svg):not(rect){box-sizing:inherit;color:inherit;cursor:inherit;direction:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;line-height:inherit;-webkit-tap-highlight-color:inherit;text-align:inherit;text-decoration:inherit;text-shadow:inherit;text-transform:inherit;vertical-align:inherit;white-space:inherit}.tox :not(svg):not(rect){background:0 0;border:0;box-shadow:none;float:none;height:auto;margin:0;max-width:none;outline:0;padding:0;position:static;width:auto}.tox:not([dir=rtl]){direction:ltr;text-align:left}.tox[dir=rtl]{direction:rtl;text-align:right}.tox-tinymce{border:1px solid #000;border-radius:0;box-shadow:none;box-sizing:border-box;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;overflow:hidden;position:relative;visibility:inherit!important}.tox-tinymce-inline{border:none;box-shadow:none}.tox-tinymce-inline .tox-editor-header{background-color:transparent;border:1px solid #000;border-radius:0;box-shadow:none}.tox-tinymce-aux{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;z-index:1300}.tox-tinymce :focus,.tox-tinymce-aux :focus{outline:0}button::-moz-focus-inner{border:0}.tox .accessibility-issue__header{align-items:center;display:flex;margin-bottom:4px}.tox .accessibility-issue__description{align-items:stretch;border:1px solid #000;border-radius:3px;display:flex;justify-content:space-between}.tox .accessibility-issue__description>div{padding-bottom:4px}.tox .accessibility-issue__description>div>div{align-items:center;display:flex;margin-bottom:4px}.tox .accessibility-issue__description>:last-child:not(:only-child){border-color:#000;border-style:solid}.tox .accessibility-issue__repair{margin-top:16px}.tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description{background-color:rgba(32,122,183,.5);border-color:#207ab7;color:#fff}.tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description>:last-child{border-color:#207ab7}.tox .tox-dialog__body-content .accessibility-issue--info .tox-form__group h2{color:#fff}.tox .tox-dialog__body-content .accessibility-issue--info .tox-icon svg{fill:#fff}.tox .tox-dialog__body-content .accessibility-issue--info a .tox-icon{color:#fff}.tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description{background-color:rgba(255,165,0,.5);border-color:rgba(255,165,0,.8);color:#fff}.tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description>:last-child{border-color:rgba(255,165,0,.8)}.tox .tox-dialog__body-content .accessibility-issue--warn .tox-form__group h2{color:#fff}.tox .tox-dialog__body-content .accessibility-issue--warn .tox-icon svg{fill:#fff}.tox .tox-dialog__body-content .accessibility-issue--warn a .tox-icon{color:#fff}.tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description{background-color:rgba(204,0,0,.5);border-color:rgba(204,0,0,.8);color:#fff}.tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description>:last-child{border-color:rgba(204,0,0,.8)}.tox .tox-dialog__body-content .accessibility-issue--error .tox-form__group h2{color:#fff}.tox .tox-dialog__body-content .accessibility-issue--error .tox-icon svg{fill:#fff}.tox .tox-dialog__body-content .accessibility-issue--error a .tox-icon{color:#fff}.tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description{background-color:rgba(120,171,70,.5);border-color:rgba(120,171,70,.8);color:#fff}.tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description>:last-child{border-color:rgba(120,171,70,.8)}.tox .tox-dialog__body-content .accessibility-issue--success .tox-form__group h2{color:#fff}.tox .tox-dialog__body-content .accessibility-issue--success .tox-icon svg{fill:#fff}.tox .tox-dialog__body-content .accessibility-issue--success a .tox-icon{color:#fff}.tox .tox-dialog__body-content .accessibility-issue__header h1,.tox .tox-dialog__body-content .tox-form__group .accessibility-issue__description h2{margin-top:0}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__header .tox-button{margin-left:4px}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__header>:nth-last-child(2){margin-left:auto}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__description{padding:4px 4px 4px 8px}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__description>:last-child{border-left-width:1px;padding-left:4px}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__header .tox-button{margin-right:4px}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__header>:nth-last-child(2){margin-right:auto}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__description{padding:4px 8px 4px 4px}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__description>:last-child{border-right-width:1px;padding-right:4px}.tox .tox-anchorbar{display:flex;flex:0 0 auto}.tox .tox-bar{display:flex;flex:0 0 auto}.tox .tox-button{background-color:#207ab7;background-image:none;background-position:0 0;background-repeat:repeat;border-color:#207ab7;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;font-style:normal;font-weight:700;letter-spacing:normal;line-height:24px;margin:0;outline:0;padding:4px 16px;text-align:center;text-decoration:none;text-transform:none;white-space:nowrap}.tox .tox-button[disabled]{background-color:#207ab7;background-image:none;border-color:#207ab7;box-shadow:none;color:rgba(255,255,255,.5);cursor:not-allowed}.tox .tox-button:focus:not(:disabled){background-color:#1c6ca1;background-image:none;border-color:#1c6ca1;box-shadow:none;color:#fff}.tox .tox-button:hover:not(:disabled){background-color:#1c6ca1;background-image:none;border-color:#1c6ca1;box-shadow:none;color:#fff}.tox .tox-button:active:not(:disabled){background-color:#185d8c;background-image:none;border-color:#185d8c;box-shadow:none;color:#fff}.tox .tox-button--secondary{background-color:#3d546f;background-image:none;background-position:0 0;background-repeat:repeat;border-color:#3d546f;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;color:#fff;font-size:14px;font-style:normal;font-weight:700;letter-spacing:normal;outline:0;padding:4px 16px;text-decoration:none;text-transform:none}.tox .tox-button--secondary[disabled]{background-color:#3d546f;background-image:none;border-color:#3d546f;box-shadow:none;color:rgba(255,255,255,.5)}.tox .tox-button--secondary:focus:not(:disabled){background-color:#34485f;background-image:none;border-color:#34485f;box-shadow:none;color:#fff}.tox .tox-button--secondary:hover:not(:disabled){background-color:#34485f;background-image:none;border-color:#34485f;box-shadow:none;color:#fff}.tox .tox-button--secondary:active:not(:disabled){background-color:#2b3b4e;background-image:none;border-color:#2b3b4e;box-shadow:none;color:#fff}.tox .tox-button--icon,.tox .tox-button.tox-button--icon,.tox .tox-button.tox-button--secondary.tox-button--icon{padding:4px}.tox .tox-button--icon .tox-icon svg,.tox .tox-button.tox-button--icon .tox-icon svg,.tox .tox-button.tox-button--secondary.tox-button--icon .tox-icon svg{display:block;fill:currentColor}.tox .tox-button-link{background:0;border:none;box-sizing:border-box;cursor:pointer;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;font-weight:400;line-height:1.3;margin:0;padding:0;white-space:nowrap}.tox .tox-button-link--sm{font-size:14px}.tox .tox-button--naked{background-color:transparent;border-color:transparent;box-shadow:unset;color:#fff}.tox .tox-button--naked[disabled]{background-color:#3d546f;border-color:#3d546f;box-shadow:none;color:rgba(255,255,255,.5)}.tox .tox-button--naked:hover:not(:disabled){background-color:#34485f;border-color:#34485f;box-shadow:none;color:#fff}.tox .tox-button--naked:focus:not(:disabled){background-color:#34485f;border-color:#34485f;box-shadow:none;color:#fff}.tox .tox-button--naked:active:not(:disabled){background-color:#2b3b4e;border-color:#2b3b4e;box-shadow:none;color:#fff}.tox .tox-button--naked .tox-icon svg{fill:currentColor}.tox .tox-button--naked.tox-button--icon:hover:not(:disabled){color:#fff}.tox .tox-checkbox{align-items:center;border-radius:3px;cursor:pointer;display:flex;height:36px;min-width:36px}.tox .tox-checkbox__input{height:1px;overflow:hidden;position:absolute;top:auto;width:1px}.tox .tox-checkbox__icons{align-items:center;border-radius:3px;box-shadow:0 0 0 2px transparent;box-sizing:content-box;display:flex;height:24px;justify-content:center;padding:calc(4px - 1px);width:24px}.tox .tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:block;fill:rgba(255,255,255,.2)}.tox .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{display:none;fill:#207ab7}.tox .tox-checkbox__icons .tox-checkbox-icon__checked svg{display:none;fill:#207ab7}.tox .tox-checkbox--disabled{color:rgba(255,255,255,.5);cursor:not-allowed}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__checked svg{fill:rgba(255,255,255,.5)}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__unchecked svg{fill:rgba(255,255,255,.5)}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{fill:rgba(255,255,255,.5)}.tox input.tox-checkbox__input:checked+.tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:none}.tox input.tox-checkbox__input:checked+.tox-checkbox__icons .tox-checkbox-icon__checked svg{display:block}.tox input.tox-checkbox__input:indeterminate+.tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:none}.tox input.tox-checkbox__input:indeterminate+.tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{display:block}.tox input.tox-checkbox__input:focus+.tox-checkbox__icons{border-radius:3px;box-shadow:inset 0 0 0 1px #207ab7;padding:calc(4px - 1px)}.tox:not([dir=rtl]) .tox-checkbox__label{margin-left:4px}.tox:not([dir=rtl]) .tox-checkbox__input{left:-10000px}.tox:not([dir=rtl]) .tox-bar .tox-checkbox{margin-left:4px}.tox[dir=rtl] .tox-checkbox__label{margin-right:4px}.tox[dir=rtl] .tox-checkbox__input{right:-10000px}.tox[dir=rtl] .tox-bar .tox-checkbox{margin-right:4px}.tox .tox-collection--toolbar .tox-collection__group{display:flex;padding:0}.tox .tox-collection--grid .tox-collection__group{display:flex;flex-wrap:wrap;max-height:208px;overflow-x:hidden;overflow-y:auto;padding:0}.tox .tox-collection--list .tox-collection__group{border-bottom-width:0;border-color:#1a1a1a;border-left-width:0;border-right-width:0;border-style:solid;border-top-width:1px;padding:4px 0}.tox .tox-collection--list .tox-collection__group:first-child{border-top-width:0}.tox .tox-collection__group-heading{background-color:#333;color:#fff;cursor:default;font-size:12px;font-style:normal;font-weight:400;margin-bottom:4px;margin-top:-4px;padding:4px 8px;text-transform:none;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tox .tox-collection__item{align-items:center;color:#fff;cursor:pointer;display:flex;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tox .tox-collection--list .tox-collection__item{padding:4px 8px}.tox .tox-collection--toolbar .tox-collection__item{border-radius:3px;padding:4px}.tox .tox-collection--grid .tox-collection__item{border-radius:3px;padding:4px}.tox .tox-collection--list .tox-collection__item--enabled{background-color:#2b3b4e;color:#fff}.tox .tox-collection--list .tox-collection__item--active{background-color:#4a5562}.tox .tox-collection--toolbar .tox-collection__item--enabled{background-color:#757d87;color:#fff}.tox .tox-collection--toolbar .tox-collection__item--active{background-color:#4a5562}.tox .tox-collection--grid .tox-collection__item--enabled{background-color:#757d87;color:#fff}.tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled){background-color:#4a5562;color:#fff}.tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled){color:#fff}.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled){color:#fff}.tox .tox-collection__item--state-disabled{background-color:transparent;color:rgba(255,255,255,.5);cursor:not-allowed}.tox .tox-collection__item-checkmark,.tox .tox-collection__item-icon{align-items:center;display:flex;height:24px;justify-content:center;width:24px}.tox .tox-collection__item-checkmark svg,.tox .tox-collection__item-icon svg{fill:currentColor}.tox .tox-collection--toolbar-lg .tox-collection__item-icon{height:48px;width:48px}.tox .tox-collection__item-label{color:currentColor;display:inline-block;flex:1;-ms-flex-preferred-size:auto;font-size:14px;font-style:normal;font-weight:400;line-height:24px;text-transform:none;word-break:break-all}.tox .tox-collection__item-accessory{color:rgba(255,255,255,.5);display:inline-block;font-size:14px;height:24px;line-height:24px;text-transform:none}.tox .tox-collection__item-caret{align-items:center;display:flex;min-height:24px}.tox .tox-collection__item-caret::after{content:'';font-size:0;min-height:inherit}.tox .tox-collection__item-caret svg{fill:#fff}.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-checkmark svg{display:none}.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-accessory+.tox-collection__item-checkmark{display:none}.tox .tox-collection--horizontal{background-color:#2b3b4e;border:1px solid #1a1a1a;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.15);display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:nowrap;margin-bottom:0;overflow-x:auto;padding:0}.tox .tox-collection--horizontal .tox-collection__group{align-items:center;display:flex;flex-wrap:nowrap;margin:0;padding:0 4px}.tox .tox-collection--horizontal .tox-collection__item{height:34px;margin:2px 0 3px 0;padding:0 4px}.tox .tox-collection--horizontal .tox-collection__item-label{white-space:nowrap}.tox .tox-collection--horizontal .tox-collection__item-caret{margin-left:4px}.tox .tox-collection__item-container{display:flex}.tox .tox-collection__item-container--row{align-items:center;flex:1 1 auto;flex-direction:row}.tox .tox-collection__item-container--row.tox-collection__item-container--align-left{margin-right:auto}.tox .tox-collection__item-container--row.tox-collection__item-container--align-right{justify-content:flex-end;margin-left:auto}.tox .tox-collection__item-container--row.tox-collection__item-container--valign-top{align-items:flex-start;margin-bottom:auto}.tox .tox-collection__item-container--row.tox-collection__item-container--valign-middle{align-items:center}.tox .tox-collection__item-container--row.tox-collection__item-container--valign-bottom{align-items:flex-end;margin-top:auto}.tox .tox-collection__item-container--column{-ms-grid-row-align:center;align-self:center;flex:1 1 auto;flex-direction:column}.tox .tox-collection__item-container--column.tox-collection__item-container--align-left{align-items:flex-start}.tox .tox-collection__item-container--column.tox-collection__item-container--align-right{align-items:flex-end}.tox .tox-collection__item-container--column.tox-collection__item-container--valign-top{align-self:flex-start}.tox .tox-collection__item-container--column.tox-collection__item-container--valign-middle{-ms-grid-row-align:center;align-self:center}.tox .tox-collection__item-container--column.tox-collection__item-container--valign-bottom{align-self:flex-end}.tox:not([dir=rtl]) .tox-collection--horizontal .tox-collection__group:not(:last-of-type){border-right:1px solid #000}.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item>:not(:first-child){margin-left:8px}.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item>.tox-collection__item-label:first-child{margin-left:4px}.tox:not([dir=rtl]) .tox-collection__item-accessory{margin-left:16px;text-align:right}.tox:not([dir=rtl]) .tox-collection .tox-collection__item-caret{margin-left:16px}.tox[dir=rtl] .tox-collection--horizontal .tox-collection__group:not(:last-of-type){border-left:1px solid #000}.tox[dir=rtl] .tox-collection--list .tox-collection__item>:not(:first-child){margin-right:8px}.tox[dir=rtl] .tox-collection--list .tox-collection__item>.tox-collection__item-label:first-child{margin-right:4px}.tox[dir=rtl] .tox-collection__item-icon-rtl .tox-collection__item-icon svg{transform:rotateY(180deg)}.tox[dir=rtl] .tox-collection__item-accessory{margin-right:16px;text-align:left}.tox[dir=rtl] .tox-collection .tox-collection__item-caret{margin-right:16px;transform:rotateY(180deg)}.tox[dir=rtl] .tox-collection--horizontal .tox-collection__item-caret{margin-right:4px}.tox .tox-color-picker-container{display:flex;flex-direction:row;height:225px;margin:0}.tox .tox-sv-palette{box-sizing:border-box;display:flex;height:100%}.tox .tox-sv-palette-spectrum{height:100%}.tox .tox-sv-palette,.tox .tox-sv-palette-spectrum{width:225px}.tox .tox-sv-palette-thumb{background:0 0;border:1px solid #000;border-radius:50%;box-sizing:content-box;height:12px;position:absolute;width:12px}.tox .tox-sv-palette-inner-thumb{border:1px solid #fff;border-radius:50%;height:10px;position:absolute;width:10px}.tox .tox-hue-slider{box-sizing:border-box;height:100%;width:25px}.tox .tox-hue-slider-spectrum{background:linear-gradient(to bottom,red,#ff0080,#f0f,#8000ff,#00f,#0080ff,#0ff,#00ff80,#0f0,#80ff00,#ff0,#ff8000,red);height:100%;width:100%}.tox .tox-hue-slider,.tox .tox-hue-slider-spectrum{width:20px}.tox .tox-hue-slider-thumb{background:#fff;border:1px solid #000;box-sizing:content-box;height:4px;width:100%}.tox .tox-rgb-form{display:flex;flex-direction:column;justify-content:space-between}.tox .tox-rgb-form div{align-items:center;display:flex;justify-content:space-between;margin-bottom:5px;width:inherit}.tox .tox-rgb-form input{width:6em}.tox .tox-rgb-form input.tox-invalid{border:1px solid red!important}.tox .tox-rgb-form .tox-rgba-preview{border:1px solid #000;flex-grow:2;margin-bottom:0}.tox:not([dir=rtl]) .tox-sv-palette{margin-right:15px}.tox:not([dir=rtl]) .tox-hue-slider{margin-right:15px}.tox:not([dir=rtl]) .tox-hue-slider-thumb{margin-left:-1px}.tox:not([dir=rtl]) .tox-rgb-form label{margin-right:.5em}.tox[dir=rtl] .tox-sv-palette{margin-left:15px}.tox[dir=rtl] .tox-hue-slider{margin-left:15px}.tox[dir=rtl] .tox-hue-slider-thumb{margin-right:-1px}.tox[dir=rtl] .tox-rgb-form label{margin-left:.5em}.tox .tox-toolbar .tox-swatches,.tox .tox-toolbar__overflow .tox-swatches,.tox .tox-toolbar__primary .tox-swatches{margin:2px 0 3px 4px}.tox .tox-collection--list .tox-collection__group .tox-swatches-menu{border:0;margin:-4px 0}.tox .tox-swatches__row{display:flex}.tox .tox-swatch{height:30px;transition:transform .15s,box-shadow .15s;width:30px}.tox .tox-swatch:focus,.tox .tox-swatch:hover{box-shadow:0 0 0 1px rgba(127,127,127,.3) inset;transform:scale(.8)}.tox .tox-swatch--remove{align-items:center;display:flex;justify-content:center}.tox .tox-swatch--remove svg path{stroke:#e74c3c}.tox .tox-swatches__picker-btn{align-items:center;background-color:transparent;border:0;cursor:pointer;display:flex;height:30px;justify-content:center;outline:0;padding:0;width:30px}.tox .tox-swatches__picker-btn svg{height:24px;width:24px}.tox .tox-swatches__picker-btn:hover{background:#4a5562}.tox:not([dir=rtl]) .tox-swatches__picker-btn{margin-left:auto}.tox[dir=rtl] .tox-swatches__picker-btn{margin-right:auto}.tox .tox-comment-thread{background:#2b3b4e;position:relative}.tox .tox-comment-thread>:not(:first-child){margin-top:8px}.tox .tox-comment{background:#2b3b4e;border:1px solid #000;border-radius:3px;box-shadow:0 4px 8px 0 rgba(42,55,70,.1);padding:8px 8px 16px 8px;position:relative}.tox .tox-comment__header{align-items:center;color:#fff;display:flex;justify-content:space-between}.tox .tox-comment__date{color:rgba(255,255,255,.5);font-size:12px}.tox .tox-comment__body{color:#fff;font-size:14px;font-style:normal;font-weight:400;line-height:1.3;margin-top:8px;position:relative;text-transform:initial}.tox .tox-comment__body textarea{resize:none;white-space:normal;width:100%}.tox .tox-comment__expander{padding-top:8px}.tox .tox-comment__expander p{color:rgba(255,255,255,.5);font-size:14px;font-style:normal}.tox .tox-comment__body p{margin:0}.tox .tox-comment__buttonspacing{padding-top:16px;text-align:center}.tox .tox-comment-thread__overlay::after{background:#2b3b4e;bottom:0;content:"";display:flex;left:0;opacity:.9;position:absolute;right:0;top:0;z-index:5}.tox .tox-comment__reply{display:flex;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;margin-top:8px}.tox .tox-comment__reply>:first-child{margin-bottom:8px;width:100%}.tox .tox-comment__edit{display:flex;flex-wrap:wrap;justify-content:flex-end;margin-top:16px}.tox .tox-comment__gradient::after{background:linear-gradient(rgba(43,59,78,0),#2b3b4e);bottom:0;content:"";display:block;height:5em;margin-top:-40px;position:absolute;width:100%}.tox .tox-comment__overlay{background:#2b3b4e;bottom:0;display:flex;flex-direction:column;flex-grow:1;left:0;opacity:.9;position:absolute;right:0;text-align:center;top:0;z-index:5}.tox .tox-comment__loading-text{align-items:center;color:#fff;display:flex;flex-direction:column;position:relative}.tox .tox-comment__loading-text>div{padding-bottom:16px}.tox .tox-comment__overlaytext{bottom:0;flex-direction:column;font-size:14px;left:0;padding:1em;position:absolute;right:0;top:0;z-index:10}.tox .tox-comment__overlaytext p{background-color:#2b3b4e;box-shadow:0 0 8px 8px #2b3b4e;color:#fff;text-align:center}.tox .tox-comment__overlaytext div:nth-of-type(2){font-size:.8em}.tox .tox-comment__busy-spinner{align-items:center;background-color:#2b3b4e;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:20}.tox .tox-comment__scroll{display:flex;flex-direction:column;flex-shrink:1;overflow:auto}.tox .tox-conversations{margin:8px}.tox:not([dir=rtl]) .tox-comment__edit{margin-left:8px}.tox:not([dir=rtl]) .tox-comment__buttonspacing>:last-child,.tox:not([dir=rtl]) .tox-comment__edit>:last-child,.tox:not([dir=rtl]) .tox-comment__reply>:last-child{margin-left:8px}.tox[dir=rtl] .tox-comment__edit{margin-right:8px}.tox[dir=rtl] .tox-comment__buttonspacing>:last-child,.tox[dir=rtl] .tox-comment__edit>:last-child,.tox[dir=rtl] .tox-comment__reply>:last-child{margin-right:8px}.tox .tox-user{align-items:center;display:flex}.tox .tox-user__avatar svg{fill:rgba(255,255,255,.5)}.tox .tox-user__name{color:rgba(255,255,255,.5);font-size:12px;font-style:normal;font-weight:700;text-transform:uppercase}.tox:not([dir=rtl]) .tox-user__avatar svg{margin-right:8px}.tox:not([dir=rtl]) .tox-user__avatar+.tox-user__name{margin-left:8px}.tox[dir=rtl] .tox-user__avatar svg{margin-left:8px}.tox[dir=rtl] .tox-user__avatar+.tox-user__name{margin-right:8px}.tox .tox-dialog-wrap{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1100}.tox .tox-dialog-wrap__backdrop{background-color:rgba(34,47,62,.75);bottom:0;left:0;position:absolute;right:0;top:0;z-index:1}.tox .tox-dialog-wrap__backdrop--opaque{background-color:#222f3e}.tox .tox-dialog{background-color:#2b3b4e;border-color:#000;border-radius:3px;border-style:solid;border-width:1px;box-shadow:0 16px 16px -10px rgba(42,55,70,.15),0 0 40px 1px rgba(42,55,70,.15);display:flex;flex-direction:column;max-height:100%;max-width:480px;overflow:hidden;position:relative;width:95vw;z-index:2}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog{align-self:flex-start;margin:8px auto;width:calc(100vw - 16px)}}.tox .tox-dialog-inline{z-index:1100}.tox .tox-dialog__header{align-items:center;background-color:#2b3b4e;border-bottom:none;color:#fff;display:flex;font-size:16px;justify-content:space-between;padding:8px 16px 0 16px;position:relative}.tox .tox-dialog__header .tox-button{z-index:1}.tox .tox-dialog__draghandle{cursor:grab;height:100%;left:0;position:absolute;top:0;width:100%}.tox .tox-dialog__draghandle:active{cursor:grabbing}.tox .tox-dialog__dismiss{margin-left:auto}.tox .tox-dialog__title{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:20px;font-style:normal;font-weight:400;line-height:1.3;margin:0;text-transform:none}.tox .tox-dialog__body{color:#fff;display:flex;flex:1;-ms-flex-preferred-size:auto;font-size:16px;font-style:normal;font-weight:400;line-height:1.3;min-width:0;text-align:left;text-transform:none}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog__body{flex-direction:column}}.tox .tox-dialog__body-nav{align-items:flex-start;display:flex;flex-direction:column;padding:16px 16px}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog__body-nav{flex-direction:row;-webkit-overflow-scrolling:touch;overflow-x:auto;padding-bottom:0}}.tox .tox-dialog__body-nav-item{border-bottom:2px solid transparent;color:rgba(255,255,255,.5);display:inline-block;font-size:14px;line-height:1.3;margin-bottom:8px;text-decoration:none;white-space:nowrap}.tox .tox-dialog__body-nav-item:focus{background-color:rgba(32,122,183,.1)}.tox .tox-dialog__body-nav-item--active{border-bottom:2px solid #207ab7;color:#207ab7}.tox .tox-dialog__body-content{box-sizing:border-box;display:flex;flex:1;flex-direction:column;-ms-flex-preferred-size:auto;max-height:650px;overflow:auto;-webkit-overflow-scrolling:touch;padding:16px 16px}.tox .tox-dialog__body-content>*{margin-bottom:0;margin-top:16px}.tox .tox-dialog__body-content>:first-child{margin-top:0}.tox .tox-dialog__body-content>:last-child{margin-bottom:0}.tox .tox-dialog__body-content>:only-child{margin-bottom:0;margin-top:0}.tox .tox-dialog__body-content a{color:#207ab7;cursor:pointer;text-decoration:none}.tox .tox-dialog__body-content a:focus,.tox .tox-dialog__body-content a:hover{color:#185d8c;text-decoration:none}.tox .tox-dialog__body-content a:active{color:#185d8c;text-decoration:none}.tox .tox-dialog__body-content svg{fill:#fff}.tox .tox-dialog__body-content ul{display:block;list-style-type:disc;margin-bottom:16px;-webkit-margin-end:0;margin-inline-end:0;-webkit-margin-start:0;margin-inline-start:0;-webkit-padding-start:2.5rem;padding-inline-start:2.5rem}.tox .tox-dialog__body-content .tox-form__group h1{color:#fff;font-size:20px;font-style:normal;font-weight:700;letter-spacing:normal;margin-bottom:16px;margin-top:2rem;text-transform:none}.tox .tox-dialog__body-content .tox-form__group h2{color:#fff;font-size:16px;font-style:normal;font-weight:700;letter-spacing:normal;margin-bottom:16px;margin-top:2rem;text-transform:none}.tox .tox-dialog__body-content .tox-form__group p{margin-bottom:16px}.tox .tox-dialog__body-content .tox-form__group h1:first-child,.tox .tox-dialog__body-content .tox-form__group h2:first-child,.tox .tox-dialog__body-content .tox-form__group p:first-child{margin-top:0}.tox .tox-dialog__body-content .tox-form__group h1:last-child,.tox .tox-dialog__body-content .tox-form__group h2:last-child,.tox .tox-dialog__body-content .tox-form__group p:last-child{margin-bottom:0}.tox .tox-dialog__body-content .tox-form__group h1:only-child,.tox .tox-dialog__body-content .tox-form__group h2:only-child,.tox .tox-dialog__body-content .tox-form__group p:only-child{margin-bottom:0;margin-top:0}.tox .tox-dialog--width-lg{height:650px;max-width:1200px}.tox .tox-dialog--width-md{max-width:800px}.tox .tox-dialog--width-md .tox-dialog__body-content{overflow:auto}.tox .tox-dialog__body-content--centered{text-align:center}.tox .tox-dialog__footer{align-items:center;background-color:#2b3b4e;border-top:1px solid #000;display:flex;justify-content:space-between;padding:8px 16px}.tox .tox-dialog__footer-end,.tox .tox-dialog__footer-start{display:flex}.tox .tox-dialog__busy-spinner{align-items:center;background-color:rgba(34,47,62,.75);bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:3}.tox .tox-dialog__table{border-collapse:collapse;width:100%}.tox .tox-dialog__table thead th{font-weight:700;padding-bottom:8px}.tox .tox-dialog__table tbody tr{border-bottom:1px solid #000}.tox .tox-dialog__table tbody tr:last-child{border-bottom:none}.tox .tox-dialog__table td{padding-bottom:8px;padding-top:8px}.tox .tox-dialog__popups{position:absolute;width:100%;z-index:1100}.tox .tox-dialog__body-iframe{display:flex;flex:1;flex-direction:column;-ms-flex-preferred-size:auto}.tox .tox-dialog__body-iframe .tox-navobj{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-dialog__body-iframe .tox-navobj :nth-child(2){flex:1;-ms-flex-preferred-size:auto;height:100%}.tox .tox-dialog-dock-fadeout{opacity:0;visibility:hidden}.tox .tox-dialog-dock-fadein{opacity:1;visibility:visible}.tox .tox-dialog-dock-transition{transition:visibility 0s linear .3s,opacity .3s ease}.tox .tox-dialog-dock-transition.tox-dialog-dock-fadein{transition-delay:0s}.tox.tox-platform-ie .tox-dialog-wrap{position:-ms-device-fixed}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav{margin-right:0}}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav-item:not(:first-child){margin-left:8px}}.tox:not([dir=rtl]) .tox-dialog__footer .tox-dialog__footer-end>*,.tox:not([dir=rtl]) .tox-dialog__footer .tox-dialog__footer-start>*{margin-left:8px}.tox[dir=rtl] .tox-dialog__body{text-align:right}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav{margin-left:0}}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav-item:not(:first-child){margin-right:8px}}.tox[dir=rtl] .tox-dialog__footer .tox-dialog__footer-end>*,.tox[dir=rtl] .tox-dialog__footer .tox-dialog__footer-start>*{margin-right:8px}body.tox-dialog__disable-scroll{overflow:hidden}.tox .tox-dropzone-container{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-dropzone{align-items:center;background:#fff;border:2px dashed #000;box-sizing:border-box;display:flex;flex-direction:column;flex-grow:1;justify-content:center;min-height:100px;padding:10px}.tox .tox-dropzone p{color:rgba(255,255,255,.5);margin:0 0 16px 0}.tox .tox-edit-area{display:flex;flex:1;-ms-flex-preferred-size:auto;overflow:hidden;position:relative}.tox .tox-edit-area__iframe{background-color:#fff;border:0;box-sizing:border-box;flex:1;-ms-flex-preferred-size:auto;height:100%;position:absolute;width:100%}.tox.tox-inline-edit-area{border:1px dotted #000}.tox .tox-editor-container{display:flex;flex:1 1 auto;flex-direction:column;overflow:hidden}.tox .tox-editor-header{z-index:1}.tox:not(.tox-tinymce-inline) .tox-editor-header{box-shadow:none;transition:box-shadow .5s}.tox.tox-tinymce--toolbar-bottom .tox-editor-header,.tox.tox-tinymce-inline .tox-editor-header{margin-bottom:-1px}.tox.tox-tinymce--toolbar-sticky-on .tox-editor-header{background-color:transparent;box-shadow:0 4px 4px -3px rgba(0,0,0,.25)}.tox-editor-dock-fadeout{opacity:0;visibility:hidden}.tox-editor-dock-fadein{opacity:1;visibility:visible}.tox-editor-dock-transition{transition:visibility 0s linear .25s,opacity .25s ease}.tox-editor-dock-transition.tox-editor-dock-fadein{transition-delay:0s}.tox .tox-control-wrap{flex:1;position:relative}.tox .tox-control-wrap:not(.tox-control-wrap--status-invalid) .tox-control-wrap__status-icon-invalid,.tox .tox-control-wrap:not(.tox-control-wrap--status-unknown) .tox-control-wrap__status-icon-unknown,.tox .tox-control-wrap:not(.tox-control-wrap--status-valid) .tox-control-wrap__status-icon-valid{display:none}.tox .tox-control-wrap svg{display:block}.tox .tox-control-wrap__status-icon-wrap{position:absolute;top:50%;transform:translateY(-50%)}.tox .tox-control-wrap__status-icon-invalid svg{fill:#c00}.tox .tox-control-wrap__status-icon-unknown svg{fill:orange}.tox .tox-control-wrap__status-icon-valid svg{fill:green}.tox:not([dir=rtl]) .tox-control-wrap--status-invalid .tox-textfield,.tox:not([dir=rtl]) .tox-control-wrap--status-unknown .tox-textfield,.tox:not([dir=rtl]) .tox-control-wrap--status-valid .tox-textfield{padding-right:32px}.tox:not([dir=rtl]) .tox-control-wrap__status-icon-wrap{right:4px}.tox[dir=rtl] .tox-control-wrap--status-invalid .tox-textfield,.tox[dir=rtl] .tox-control-wrap--status-unknown .tox-textfield,.tox[dir=rtl] .tox-control-wrap--status-valid .tox-textfield{padding-left:32px}.tox[dir=rtl] .tox-control-wrap__status-icon-wrap{left:4px}.tox .tox-autocompleter{max-width:25em}.tox .tox-autocompleter .tox-menu{max-width:25em}.tox .tox-autocompleter .tox-autocompleter-highlight{font-weight:700}.tox .tox-color-input{display:flex;position:relative;z-index:1}.tox .tox-color-input .tox-textfield{z-index:-1}.tox .tox-color-input span{border-color:rgba(42,55,70,.2);border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;height:24px;position:absolute;top:6px;width:24px}.tox .tox-color-input span:focus:not([aria-disabled=true]),.tox .tox-color-input span:hover:not([aria-disabled=true]){border-color:#207ab7;cursor:pointer}.tox .tox-color-input span::before{background-image:linear-gradient(45deg,rgba(255,255,255,.25) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.25) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(255,255,255,.25) 75%),linear-gradient(-45deg,transparent 75%,rgba(255,255,255,.25) 75%);background-position:0 0,0 6px,6px -6px,-6px 0;background-size:12px 12px;border:1px solid #2b3b4e;border-radius:3px;box-sizing:border-box;content:'';height:24px;left:-1px;position:absolute;top:-1px;width:24px;z-index:-1}.tox .tox-color-input span[aria-disabled=true]{cursor:not-allowed}.tox:not([dir=rtl]) .tox-color-input .tox-textfield{padding-left:36px}.tox:not([dir=rtl]) .tox-color-input span{left:6px}.tox[dir=rtl] .tox-color-input .tox-textfield{padding-right:36px}.tox[dir=rtl] .tox-color-input span{right:6px}.tox .tox-label,.tox .tox-toolbar-label{color:rgba(255,255,255,.5);display:block;font-size:14px;font-style:normal;font-weight:400;line-height:1.3;padding:0 8px 0 0;text-transform:none;white-space:nowrap}.tox .tox-toolbar-label{padding:0 8px}.tox[dir=rtl] .tox-label{padding:0 0 0 8px}.tox .tox-form{display:flex;flex:1;flex-direction:column;-ms-flex-preferred-size:auto}.tox .tox-form__group{box-sizing:border-box;margin-bottom:4px}.tox .tox-form-group--maximize{flex:1}.tox .tox-form__group--error{color:#c00}.tox .tox-form__group--collection{display:flex}.tox .tox-form__grid{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between}.tox .tox-form__grid--2col>.tox-form__group{width:calc(50% - (8px / 2))}.tox .tox-form__grid--3col>.tox-form__group{width:calc(100% / 3 - (8px / 2))}.tox .tox-form__grid--4col>.tox-form__group{width:calc(25% - (8px / 2))}.tox .tox-form__controls-h-stack{align-items:center;display:flex}.tox .tox-form__group--inline{align-items:center;display:flex}.tox .tox-form__group--stretched{display:flex;flex:1;flex-direction:column;-ms-flex-preferred-size:auto}.tox .tox-form__group--stretched .tox-textarea{flex:1;-ms-flex-preferred-size:auto}.tox .tox-form__group--stretched .tox-navobj{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-form__group--stretched .tox-navobj :nth-child(2){flex:1;-ms-flex-preferred-size:auto;height:100%}.tox:not([dir=rtl]) .tox-form__controls-h-stack>:not(:first-child){margin-left:4px}.tox[dir=rtl] .tox-form__controls-h-stack>:not(:first-child){margin-right:4px}.tox .tox-lock.tox-locked .tox-lock-icon__unlock,.tox .tox-lock:not(.tox-locked) .tox-lock-icon__lock{display:none}.tox .tox-listboxfield .tox-listbox--select,.tox .tox-textarea,.tox .tox-textfield,.tox .tox-toolbar-textfield{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#2b3b4e;border-color:#000;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;line-height:24px;margin:0;min-height:34px;outline:0;padding:5px 4.75px;resize:none;width:100%}.tox .tox-textarea[disabled],.tox .tox-textfield[disabled]{background-color:#222f3e;color:rgba(255,255,255,.85);cursor:not-allowed}.tox .tox-listboxfield .tox-listbox--select:focus,.tox .tox-textarea:focus,.tox .tox-textfield:focus{background-color:#2b3b4e;border-color:#207ab7;box-shadow:none;outline:0}.tox .tox-toolbar-textfield{border-width:0;margin-bottom:3px;margin-top:2px;max-width:250px}.tox .tox-naked-btn{background-color:transparent;border:0;border-color:transparent;box-shadow:unset;color:#207ab7;cursor:pointer;display:block;margin:0;padding:0}.tox .tox-naked-btn svg{display:block;fill:#fff}.tox:not([dir=rtl]) .tox-toolbar-textfield+*{margin-left:4px}.tox[dir=rtl] .tox-toolbar-textfield+*{margin-right:4px}.tox .tox-listboxfield{cursor:pointer;position:relative}.tox .tox-listboxfield .tox-listbox--select[disabled]{background-color:#19232e;color:rgba(255,255,255,.85);cursor:not-allowed}.tox .tox-listbox__select-label{cursor:default;flex:1;margin:0 4px}.tox .tox-listbox__select-chevron{align-items:center;display:flex;justify-content:center;width:16px}.tox .tox-listbox__select-chevron svg{fill:#fff}.tox .tox-listboxfield .tox-listbox--select{align-items:center;display:flex}.tox:not([dir=rtl]) .tox-listboxfield svg{right:8px}.tox[dir=rtl] .tox-listboxfield svg{left:8px}.tox .tox-selectfield{cursor:pointer;position:relative}.tox .tox-selectfield select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#2b3b4e;border-color:#000;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;line-height:24px;margin:0;min-height:34px;outline:0;padding:5px 4.75px;resize:none;width:100%}.tox .tox-selectfield select[disabled]{background-color:#19232e;color:rgba(255,255,255,.85);cursor:not-allowed}.tox .tox-selectfield select::-ms-expand{display:none}.tox .tox-selectfield select:focus{background-color:#2b3b4e;border-color:#207ab7;box-shadow:none;outline:0}.tox .tox-selectfield svg{pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.tox:not([dir=rtl]) .tox-selectfield select[size="0"],.tox:not([dir=rtl]) .tox-selectfield select[size="1"]{padding-right:24px}.tox:not([dir=rtl]) .tox-selectfield svg{right:8px}.tox[dir=rtl] .tox-selectfield select[size="0"],.tox[dir=rtl] .tox-selectfield select[size="1"]{padding-left:24px}.tox[dir=rtl] .tox-selectfield svg{left:8px}.tox .tox-textarea{-webkit-appearance:textarea;-moz-appearance:textarea;appearance:textarea;white-space:pre-wrap}.tox-fullscreen{border:0;height:100%;left:0;margin:0;overflow:hidden;-ms-scroll-chaining:none;overscroll-behavior:none;padding:0;position:fixed;top:0;touch-action:pinch-zoom;width:100%}.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle{display:none}.tox.tox-tinymce.tox-fullscreen{background-color:transparent;z-index:1200}.tox-shadowhost.tox-fullscreen{z-index:1200}.tox-fullscreen .tox.tox-tinymce-aux,.tox-fullscreen~.tox.tox-tinymce-aux{z-index:1201}.tox .tox-help__more-link{list-style:none;margin-top:1em}.tox .tox-image-tools{width:100%}.tox .tox-image-tools__toolbar{align-items:center;display:flex;justify-content:center}.tox .tox-image-tools__image{background-color:#666;height:380px;overflow:auto;position:relative;width:100%}.tox .tox-image-tools__image,.tox .tox-image-tools__image+.tox-image-tools__toolbar{margin-top:8px}.tox .tox-image-tools__image-bg{background:url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==)}.tox .tox-image-tools__toolbar>.tox-spacer{flex:1;-ms-flex-preferred-size:auto}.tox .tox-croprect-block{background:#000;opacity:.5;position:absolute;zoom:1}.tox .tox-croprect-handle{border:2px solid #fff;height:20px;left:0;position:absolute;top:0;width:20px}.tox .tox-croprect-handle-move{border:0;cursor:move;position:absolute}.tox .tox-croprect-handle-nw{border-width:2px 0 0 2px;cursor:nw-resize;left:100px;margin:-2px 0 0 -2px;top:100px}.tox .tox-croprect-handle-ne{border-width:2px 2px 0 0;cursor:ne-resize;left:200px;margin:-2px 0 0 -20px;top:100px}.tox .tox-croprect-handle-sw{border-width:0 0 2px 2px;cursor:sw-resize;left:100px;margin:-20px 2px 0 -2px;top:200px}.tox .tox-croprect-handle-se{border-width:0 2px 2px 0;cursor:se-resize;left:200px;margin:-20px 0 0 -20px;top:200px}.tox:not([dir=rtl]) .tox-image-tools__toolbar>.tox-slider:not(:first-of-type){margin-left:8px}.tox:not([dir=rtl]) .tox-image-tools__toolbar>.tox-button+.tox-slider{margin-left:32px}.tox:not([dir=rtl]) .tox-image-tools__toolbar>.tox-slider+.tox-button{margin-left:32px}.tox[dir=rtl] .tox-image-tools__toolbar>.tox-slider:not(:first-of-type){margin-right:8px}.tox[dir=rtl] .tox-image-tools__toolbar>.tox-button+.tox-slider{margin-right:32px}.tox[dir=rtl] .tox-image-tools__toolbar>.tox-slider+.tox-button{margin-right:32px}.tox .tox-insert-table-picker{display:flex;flex-wrap:wrap;width:170px}.tox .tox-insert-table-picker>div{border-color:#000;border-style:solid;border-width:0 1px 1px 0;box-sizing:border-box;height:17px;width:17px}.tox .tox-collection--list .tox-collection__group .tox-insert-table-picker{margin:-4px 0}.tox .tox-insert-table-picker .tox-insert-table-picker__selected{background-color:rgba(32,122,183,.5);border-color:rgba(32,122,183,.5)}.tox .tox-insert-table-picker__label{color:#fff;display:block;font-size:14px;padding:4px;text-align:center;width:100%}.tox:not([dir=rtl]) .tox-insert-table-picker>div:nth-child(10n){border-right:0}.tox[dir=rtl] .tox-insert-table-picker>div:nth-child(10n+1){border-right:0}.tox .tox-menu{background-color:#2b3b4e;border:1px solid #000;border-radius:3px;box-shadow:0 4px 8px 0 rgba(42,55,70,.1);display:inline-block;overflow:hidden;vertical-align:top;z-index:1150}.tox .tox-menu.tox-collection.tox-collection--list{padding:0}.tox .tox-menu.tox-collection.tox-collection--toolbar{padding:4px}.tox .tox-menu.tox-collection.tox-collection--grid{padding:4px}.tox .tox-menu__label blockquote,.tox .tox-menu__label code,.tox .tox-menu__label h1,.tox .tox-menu__label h2,.tox .tox-menu__label h3,.tox .tox-menu__label h4,.tox .tox-menu__label h5,.tox .tox-menu__label h6,.tox .tox-menu__label p{margin:0}.tox .tox-menubar{background:url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23000000'/%3E%3C/svg%3E") left 0 top 0 #222f3e;background-color:#222f3e;display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:wrap;padding:0 4px 0 4px}.tox.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-menubar{border-top:1px solid #000}.tox .tox-mbtn{align-items:center;background:0 0;border:0;border-radius:3px;box-shadow:none;color:#fff;display:flex;flex:0 0 auto;font-size:14px;font-style:normal;font-weight:400;height:34px;justify-content:center;margin:2px 0 3px 0;outline:0;overflow:hidden;padding:0 4px;text-transform:none;width:auto}.tox .tox-mbtn[disabled]{background-color:transparent;border:0;box-shadow:none;color:rgba(255,255,255,.5);cursor:not-allowed}.tox .tox-mbtn:focus:not(:disabled){background:#4a5562;border:0;box-shadow:none;color:#fff}.tox .tox-mbtn--active{background:#757d87;border:0;box-shadow:none;color:#fff}.tox .tox-mbtn:hover:not(:disabled):not(.tox-mbtn--active){background:#4a5562;border:0;box-shadow:none;color:#fff}.tox .tox-mbtn__select-label{cursor:default;font-weight:400;margin:0 4px}.tox .tox-mbtn[disabled] .tox-mbtn__select-label{cursor:not-allowed}.tox .tox-mbtn__select-chevron{align-items:center;display:flex;justify-content:center;width:16px;display:none}.tox .tox-notification{border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;display:-ms-grid;display:grid;font-size:14px;font-weight:400;-ms-grid-columns:minmax(40px,1fr) auto minmax(40px,1fr);grid-template-columns:minmax(40px,1fr) auto minmax(40px,1fr);margin-top:4px;opacity:0;padding:4px;transition:transform .1s ease-in,opacity 150ms ease-in}.tox .tox-notification p{font-size:14px;font-weight:400}.tox .tox-notification a{text-decoration:underline}.tox .tox-notification--in{opacity:1}.tox .tox-notification--success{background-color:#e4eeda;border-color:#d7e6c8;color:#fff}.tox .tox-notification--success p{color:#fff}.tox .tox-notification--success a{color:#547831}.tox .tox-notification--success svg{fill:#fff}.tox .tox-notification--error{background-color:#f8dede;border-color:#f2bfbf;color:#fff}.tox .tox-notification--error p{color:#fff}.tox .tox-notification--error a{color:#c00}.tox .tox-notification--error svg{fill:#fff}.tox .tox-notification--warn,.tox .tox-notification--warning{background-color:#fffaea;border-color:#ffe89d;color:#fff}.tox .tox-notification--warn p,.tox .tox-notification--warning p{color:#fff}.tox .tox-notification--warn a,.tox .tox-notification--warning a{color:#fff}.tox .tox-notification--warn svg,.tox .tox-notification--warning svg{fill:#fff}.tox .tox-notification--info{background-color:#d9edf7;border-color:#779ecb;color:#fff}.tox .tox-notification--info p{color:#fff}.tox .tox-notification--info a{color:#fff}.tox .tox-notification--info svg{fill:#fff}.tox .tox-notification__body{-ms-grid-row-align:center;align-self:center;color:#fff;font-size:14px;-ms-grid-column-span:1;grid-column-end:3;-ms-grid-column:2;grid-column-start:2;-ms-grid-row-span:1;grid-row-end:2;-ms-grid-row:1;grid-row-start:1;text-align:center;white-space:normal;word-break:break-all;word-break:break-word}.tox .tox-notification__body>*{margin:0}.tox .tox-notification__body>*+*{margin-top:1rem}.tox .tox-notification__icon{-ms-grid-row-align:center;align-self:center;-ms-grid-column-span:1;grid-column-end:2;-ms-grid-column:1;grid-column-start:1;-ms-grid-row-span:1;grid-row-end:2;-ms-grid-row:1;grid-row-start:1;-ms-grid-column-align:end;justify-self:end}.tox .tox-notification__icon svg{display:block}.tox .tox-notification__dismiss{-ms-grid-row-align:start;align-self:start;-ms-grid-column-span:1;grid-column-end:4;-ms-grid-column:3;grid-column-start:3;-ms-grid-row-span:1;grid-row-end:2;-ms-grid-row:1;grid-row-start:1;-ms-grid-column-align:end;justify-self:end}.tox .tox-notification .tox-progress-bar{-ms-grid-column-span:3;grid-column-end:4;-ms-grid-column:1;grid-column-start:1;-ms-grid-row-span:1;grid-row-end:3;-ms-grid-row:2;grid-row-start:2;-ms-grid-column-align:center;justify-self:center}.tox .tox-pop{display:inline-block;position:relative}.tox .tox-pop--resizing{transition:width .1s ease}.tox .tox-pop--resizing .tox-toolbar{flex-wrap:nowrap}.tox .tox-pop__dialog{background-color:#222f3e;border:1px solid #000;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.15);min-width:0;overflow:hidden}.tox .tox-pop__dialog>:not(.tox-toolbar){margin:4px 4px 4px 8px}.tox .tox-pop__dialog .tox-toolbar{background-color:transparent;margin-bottom:-1px}.tox .tox-pop::after,.tox .tox-pop::before{border-style:solid;content:'';display:block;height:0;position:absolute;width:0}.tox .tox-pop.tox-pop--bottom::after,.tox .tox-pop.tox-pop--bottom::before{left:50%;top:100%}.tox .tox-pop.tox-pop--bottom::after{border-color:#222f3e transparent transparent transparent;border-width:8px;margin-left:-8px;margin-top:-1px}.tox .tox-pop.tox-pop--bottom::before{border-color:#000 transparent transparent transparent;border-width:9px;margin-left:-9px}.tox .tox-pop.tox-pop--top::after,.tox .tox-pop.tox-pop--top::before{left:50%;top:0;transform:translateY(-100%)}.tox .tox-pop.tox-pop--top::after{border-color:transparent transparent #222f3e transparent;border-width:8px;margin-left:-8px;margin-top:1px}.tox .tox-pop.tox-pop--top::before{border-color:transparent transparent #000 transparent;border-width:9px;margin-left:-9px}.tox .tox-pop.tox-pop--left::after,.tox .tox-pop.tox-pop--left::before{left:0;top:calc(50% - 1px);transform:translateY(-50%)}.tox .tox-pop.tox-pop--left::after{border-color:transparent #222f3e transparent transparent;border-width:8px;margin-left:-15px}.tox .tox-pop.tox-pop--left::before{border-color:transparent #000 transparent transparent;border-width:10px;margin-left:-19px}.tox .tox-pop.tox-pop--right::after,.tox .tox-pop.tox-pop--right::before{left:100%;top:calc(50% + 1px);transform:translateY(-50%)}.tox .tox-pop.tox-pop--right::after{border-color:transparent transparent transparent #222f3e;border-width:8px;margin-left:-1px}.tox .tox-pop.tox-pop--right::before{border-color:transparent transparent transparent #000;border-width:10px;margin-left:-1px}.tox .tox-pop.tox-pop--align-left::after,.tox .tox-pop.tox-pop--align-left::before{left:20px}.tox .tox-pop.tox-pop--align-right::after,.tox .tox-pop.tox-pop--align-right::before{left:calc(100% - 20px)}.tox .tox-sidebar-wrap{display:flex;flex-direction:row;flex-grow:1;-ms-flex-preferred-size:0;min-height:0}.tox .tox-sidebar{background-color:#222f3e;display:flex;flex-direction:row;justify-content:flex-end}.tox .tox-sidebar__slider{display:flex;overflow:hidden}.tox .tox-sidebar__pane-container{display:flex}.tox .tox-sidebar__pane{display:flex}.tox .tox-sidebar--sliding-closed{opacity:0}.tox .tox-sidebar--sliding-open{opacity:1}.tox .tox-sidebar--sliding-growing,.tox .tox-sidebar--sliding-shrinking{transition:width .5s ease,opacity .5s ease}.tox .tox-selector{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;display:inline-block;height:10px;position:absolute;width:10px}.tox.tox-platform-touch .tox-selector{height:12px;width:12px}.tox .tox-slider{align-items:center;display:flex;flex:1;-ms-flex-preferred-size:auto;height:24px;justify-content:center;position:relative}.tox .tox-slider__rail{background-color:transparent;border:1px solid #000;border-radius:3px;height:10px;min-width:120px;width:100%}.tox .tox-slider__handle{background-color:#207ab7;border:2px solid #185d8c;border-radius:3px;box-shadow:none;height:24px;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%);width:14px}.tox .tox-source-code{overflow:auto}.tox .tox-spinner{display:flex}.tox .tox-spinner>div{animation:tam-bouncing-dots 1.5s ease-in-out 0s infinite both;background-color:rgba(255,255,255,.5);border-radius:100%;height:8px;width:8px}.tox .tox-spinner>div:nth-child(1){animation-delay:-.32s}.tox .tox-spinner>div:nth-child(2){animation-delay:-.16s}@keyframes tam-bouncing-dots{0%,100%,80%{transform:scale(0)}40%{transform:scale(1)}}.tox:not([dir=rtl]) .tox-spinner>div:not(:first-child){margin-left:4px}.tox[dir=rtl] .tox-spinner>div:not(:first-child){margin-right:4px}.tox .tox-statusbar{align-items:center;background-color:#222f3e;border-top:1px solid #000;color:#fff;display:flex;flex:0 0 auto;font-size:12px;font-weight:400;height:18px;overflow:hidden;padding:0 8px;position:relative;text-transform:uppercase}.tox .tox-statusbar__text-container{display:flex;flex:1 1 auto;justify-content:flex-end;overflow:hidden}.tox .tox-statusbar__path{display:flex;flex:1 1 auto;margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tox .tox-statusbar__path>*{display:inline;white-space:nowrap}.tox .tox-statusbar__wordcount{flex:0 0 auto;margin-left:1ch}.tox .tox-statusbar a,.tox .tox-statusbar__path-item,.tox .tox-statusbar__wordcount{color:#fff;text-decoration:none}.tox .tox-statusbar a:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar a:hover:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__path-item:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__path-item:hover:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__wordcount:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__wordcount:hover:not(:disabled):not([aria-disabled=true]){cursor:pointer;text-decoration:underline}.tox .tox-statusbar__resize-handle{align-items:flex-end;align-self:stretch;cursor:nwse-resize;display:flex;flex:0 0 auto;justify-content:flex-end;margin-left:auto;margin-right:-8px;padding-left:1ch}.tox .tox-statusbar__resize-handle svg{display:block;fill:#fff}.tox .tox-statusbar__resize-handle:focus svg{background-color:#4a5562;border-radius:1px;box-shadow:0 0 0 2px #4a5562}.tox:not([dir=rtl]) .tox-statusbar__path>*{margin-right:4px}.tox:not([dir=rtl]) .tox-statusbar__branding{margin-left:1ch}.tox[dir=rtl] .tox-statusbar{flex-direction:row-reverse}.tox[dir=rtl] .tox-statusbar__path>*{margin-left:4px}.tox .tox-throbber{z-index:1299}.tox .tox-throbber__busy-spinner{align-items:center;background-color:rgba(34,47,62,.6);bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0}.tox .tox-tbtn{align-items:center;background:0 0;border:0;border-radius:3px;box-shadow:none;color:#fff;display:flex;flex:0 0 auto;font-size:14px;font-style:normal;font-weight:400;height:34px;justify-content:center;margin:2px 0 3px 0;outline:0;overflow:hidden;padding:0;text-transform:none;width:34px}.tox .tox-tbtn svg{display:block;fill:#fff}.tox .tox-tbtn.tox-tbtn-more{padding-left:5px;padding-right:5px;width:inherit}.tox .tox-tbtn:focus{background:#4a5562;border:0;box-shadow:none}.tox .tox-tbtn:hover{background:#4a5562;border:0;box-shadow:none;color:#fff}.tox .tox-tbtn:hover svg{fill:#fff}.tox .tox-tbtn:active{background:#757d87;border:0;box-shadow:none;color:#fff}.tox .tox-tbtn:active svg{fill:#fff}.tox .tox-tbtn--disabled,.tox .tox-tbtn--disabled:hover,.tox .tox-tbtn:disabled,.tox .tox-tbtn:disabled:hover{background:0 0;border:0;box-shadow:none;color:rgba(255,255,255,.5);cursor:not-allowed}.tox .tox-tbtn--disabled svg,.tox .tox-tbtn--disabled:hover svg,.tox .tox-tbtn:disabled svg,.tox .tox-tbtn:disabled:hover svg{fill:rgba(255,255,255,.5)}.tox .tox-tbtn--enabled,.tox .tox-tbtn--enabled:hover{background:#757d87;border:0;box-shadow:none;color:#fff}.tox .tox-tbtn--enabled:hover>*,.tox .tox-tbtn--enabled>*{transform:none}.tox .tox-tbtn--enabled svg,.tox .tox-tbtn--enabled:hover svg{fill:#fff}.tox .tox-tbtn:focus:not(.tox-tbtn--disabled){color:#fff}.tox .tox-tbtn:focus:not(.tox-tbtn--disabled) svg{fill:#fff}.tox .tox-tbtn:active>*{transform:none}.tox .tox-tbtn--md{height:51px;width:51px}.tox .tox-tbtn--lg{flex-direction:column;height:68px;width:68px}.tox .tox-tbtn--return{-ms-grid-row-align:stretch;align-self:stretch;height:unset;width:16px}.tox .tox-tbtn--labeled{padding:0 4px;width:unset}.tox .tox-tbtn__vlabel{display:block;font-size:10px;font-weight:400;letter-spacing:-.025em;margin-bottom:4px;white-space:nowrap}.tox .tox-tbtn--select{margin:2px 0 3px 0;padding:0 4px;width:auto}.tox .tox-tbtn__select-label{cursor:default;font-weight:400;margin:0 4px}.tox .tox-tbtn__select-chevron{align-items:center;display:flex;justify-content:center;width:16px}.tox .tox-tbtn__select-chevron svg{fill:rgba(255,255,255,.5)}.tox .tox-tbtn--bespoke .tox-tbtn__select-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:7em}.tox .tox-split-button{border:0;border-radius:3px;box-sizing:border-box;display:flex;margin:2px 0 3px 0;overflow:hidden}.tox .tox-split-button:hover{box-shadow:0 0 0 1px #4a5562 inset}.tox .tox-split-button:focus{background:#4a5562;box-shadow:none;color:#fff}.tox .tox-split-button>*{border-radius:0}.tox .tox-split-button__chevron{width:16px}.tox .tox-split-button__chevron svg{fill:rgba(255,255,255,.5)}.tox .tox-split-button .tox-tbtn{margin:0}.tox.tox-platform-touch .tox-split-button .tox-tbtn:first-child{width:30px}.tox.tox-platform-touch .tox-split-button__chevron{width:20px}.tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:focus,.tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:hover,.tox .tox-split-button.tox-tbtn--disabled:focus,.tox .tox-split-button.tox-tbtn--disabled:hover{background:0 0;box-shadow:none;color:rgba(255,255,255,.5)}.tox .tox-toolbar-overlord{background-color:#222f3e}.tox .tox-toolbar,.tox .tox-toolbar__overflow,.tox .tox-toolbar__primary{background:url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23000000'/%3E%3C/svg%3E") left 0 top 0 #222f3e;background-color:#222f3e;display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:wrap;padding:0 0}.tox .tox-toolbar__overflow.tox-toolbar__overflow--closed{height:0;opacity:0;padding-bottom:0;padding-top:0;visibility:hidden}.tox .tox-toolbar__overflow--growing{transition:height .3s ease,opacity .2s linear .1s}.tox .tox-toolbar__overflow--shrinking{transition:opacity .3s ease,height .2s linear .1s,visibility 0s linear .3s}.tox .tox-menubar+.tox-toolbar,.tox .tox-menubar+.tox-toolbar-overlord .tox-toolbar__primary{border-top:1px solid #000;margin-top:-1px}.tox .tox-toolbar--scrolling{flex-wrap:nowrap;overflow-x:auto}.tox .tox-pop .tox-toolbar{border-width:0}.tox .tox-toolbar--no-divider{background-image:none}.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar-overlord:first-child .tox-toolbar__primary,.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar:first-child{border-top:1px solid #000}.tox.tox-tinymce-aux .tox-toolbar__overflow{background-color:#222f3e;border:1px solid #000;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.15)}.tox[dir=rtl] .tox-tbtn__icon-rtl svg{transform:rotateY(180deg)}.tox .tox-toolbar__group{align-items:center;display:flex;flex-wrap:wrap;margin:0 0;padding:0 4px 0 4px}.tox .tox-toolbar__group--pull-right{margin-left:auto}.tox .tox-toolbar--scrolling .tox-toolbar__group{flex-shrink:0;flex-wrap:nowrap}.tox:not([dir=rtl]) .tox-toolbar__group:not(:last-of-type){border-right:1px solid #000}.tox[dir=rtl] .tox-toolbar__group:not(:last-of-type){border-left:1px solid #000}.tox .tox-tooltip{display:inline-block;padding:8px;position:relative}.tox .tox-tooltip__body{background-color:#3d546f;border-radius:3px;box-shadow:0 2px 4px rgba(42,55,70,.3);color:rgba(255,255,255,.75);font-size:14px;font-style:normal;font-weight:400;padding:4px 8px;text-transform:none}.tox .tox-tooltip__arrow{position:absolute}.tox .tox-tooltip--down .tox-tooltip__arrow{border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #3d546f;bottom:0;left:50%;position:absolute;transform:translateX(-50%)}.tox .tox-tooltip--up .tox-tooltip__arrow{border-bottom:8px solid #3d546f;border-left:8px solid transparent;border-right:8px solid transparent;left:50%;position:absolute;top:0;transform:translateX(-50%)}.tox .tox-tooltip--right .tox-tooltip__arrow{border-bottom:8px solid transparent;border-left:8px solid #3d546f;border-top:8px solid transparent;position:absolute;right:0;top:50%;transform:translateY(-50%)}.tox .tox-tooltip--left .tox-tooltip__arrow{border-bottom:8px solid transparent;border-right:8px solid #3d546f;border-top:8px solid transparent;left:0;position:absolute;top:50%;transform:translateY(-50%)}.tox .tox-well{border:1px solid #000;border-radius:3px;padding:8px;width:100%}.tox .tox-well>:first-child{margin-top:0}.tox .tox-well>:last-child{margin-bottom:0}.tox .tox-well>:only-child{margin:0}.tox .tox-custom-editor{border:1px solid #000;border-radius:3px;display:flex;flex:1;position:relative}.tox .tox-dialog-loading::before{background-color:rgba(0,0,0,.5);content:"";height:100%;position:absolute;width:100%;z-index:1000}.tox .tox-tab{cursor:pointer}.tox .tox-dialog__content-js{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-dialog__body-content .tox-collection{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-image-tools-edit-panel{height:60px}.tox .tox-image-tools__sidebar{height:60px} diff --git a/public/tinymce/skins/ui/oxide-dark/skin.mobile.css b/public/tinymce/skins/ui/oxide-dark/skin.mobile.css new file mode 100644 index 00000000..875721a2 --- /dev/null +++ b/public/tinymce/skins/ui/oxide-dark/skin.mobile.css @@ -0,0 +1,673 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +/* RESET all the things! */ +.tinymce-mobile-outer-container { + all: initial; + display: block; +} +.tinymce-mobile-outer-container * { + border: 0; + box-sizing: initial; + cursor: inherit; + float: none; + line-height: 1; + margin: 0; + outline: 0; + padding: 0; + -webkit-tap-highlight-color: transparent; + /* TBIO-3691, stop the gray flicker on touch. */ + text-shadow: none; + white-space: nowrap; +} +.tinymce-mobile-icon-arrow-back::before { + content: "\e5cd"; +} +.tinymce-mobile-icon-image::before { + content: "\e412"; +} +.tinymce-mobile-icon-cancel-circle::before { + content: "\e5c9"; +} +.tinymce-mobile-icon-full-dot::before { + content: "\e061"; +} +.tinymce-mobile-icon-align-center::before { + content: "\e234"; +} +.tinymce-mobile-icon-align-left::before { + content: "\e236"; +} +.tinymce-mobile-icon-align-right::before { + content: "\e237"; +} +.tinymce-mobile-icon-bold::before { + content: "\e238"; +} +.tinymce-mobile-icon-italic::before { + content: "\e23f"; +} +.tinymce-mobile-icon-unordered-list::before { + content: "\e241"; +} +.tinymce-mobile-icon-ordered-list::before { + content: "\e242"; +} +.tinymce-mobile-icon-font-size::before { + content: "\e245"; +} +.tinymce-mobile-icon-underline::before { + content: "\e249"; +} +.tinymce-mobile-icon-link::before { + content: "\e157"; +} +.tinymce-mobile-icon-unlink::before { + content: "\eca2"; +} +.tinymce-mobile-icon-color::before { + content: "\e891"; +} +.tinymce-mobile-icon-previous::before { + content: "\e314"; +} +.tinymce-mobile-icon-next::before { + content: "\e315"; +} +.tinymce-mobile-icon-large-font::before, +.tinymce-mobile-icon-style-formats::before { + content: "\e264"; +} +.tinymce-mobile-icon-undo::before { + content: "\e166"; +} +.tinymce-mobile-icon-redo::before { + content: "\e15a"; +} +.tinymce-mobile-icon-removeformat::before { + content: "\e239"; +} +.tinymce-mobile-icon-small-font::before { + content: "\e906"; +} +.tinymce-mobile-icon-readonly-back::before, +.tinymce-mobile-format-matches::after { + content: "\e5ca"; +} +.tinymce-mobile-icon-small-heading::before { + content: "small"; +} +.tinymce-mobile-icon-large-heading::before { + content: "large"; +} +.tinymce-mobile-icon-small-heading::before, +.tinymce-mobile-icon-large-heading::before { + font-family: sans-serif; + font-size: 80%; +} +.tinymce-mobile-mask-edit-icon::before { + content: "\e254"; +} +.tinymce-mobile-icon-back::before { + content: "\e5c4"; +} +.tinymce-mobile-icon-heading::before { + /* TODO: Translate */ + content: "Headings"; + font-family: sans-serif; + font-size: 80%; + font-weight: bold; +} +.tinymce-mobile-icon-h1::before { + content: "H1"; + font-weight: bold; +} +.tinymce-mobile-icon-h2::before { + content: "H2"; + font-weight: bold; +} +.tinymce-mobile-icon-h3::before { + content: "H3"; + font-weight: bold; +} +.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask { + align-items: center; + display: flex; + justify-content: center; + background: rgba(51, 51, 51, 0.5); + height: 100%; + position: absolute; + top: 0; + width: 100%; +} +.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container { + align-items: center; + border-radius: 50%; + display: flex; + flex-direction: column; + font-family: sans-serif; + font-size: 1em; + justify-content: space-between; +} +.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .mixin-menu-item { + align-items: center; + display: flex; + justify-content: center; + border-radius: 50%; + height: 2.1em; + width: 2.1em; +} +.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section { + align-items: center; + display: flex; + justify-content: center; + flex-direction: column; + font-size: 1em; +} +@media only screen and (min-device-width:700px) { + .tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section { + font-size: 1.2em; + } +} +.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon { + align-items: center; + display: flex; + justify-content: center; + border-radius: 50%; + height: 2.1em; + width: 2.1em; + background-color: white; + color: #207ab7; +} +.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon::before { + content: "\e900"; + font-family: 'tinymce-mobile', sans-serif; +} +.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section:not(.tinymce-mobile-mask-tap-icon-selected) .tinymce-mobile-mask-tap-icon { + z-index: 2; +} +.tinymce-mobile-android-container.tinymce-mobile-android-maximized { + background: #ffffff; + border: none; + bottom: 0; + display: flex; + flex-direction: column; + left: 0; + position: fixed; + right: 0; + top: 0; +} +.tinymce-mobile-android-container:not(.tinymce-mobile-android-maximized) { + position: relative; +} +.tinymce-mobile-android-container .tinymce-mobile-editor-socket { + display: flex; + flex-grow: 1; +} +.tinymce-mobile-android-container .tinymce-mobile-editor-socket iframe { + display: flex !important; + flex-grow: 1; + height: auto !important; +} +.tinymce-mobile-android-scroll-reload { + overflow: hidden; +} +:not(.tinymce-mobile-readonly-mode) > .tinymce-mobile-android-selection-context-toolbar { + margin-top: 23px; +} +.tinymce-mobile-toolstrip { + background: #fff; + display: flex; + flex: 0 0 auto; + z-index: 1; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar { + align-items: center; + background-color: #fff; + border-bottom: 1px solid #cccccc; + display: flex; + flex: 1; + height: 2.5em; + width: 100%; + /* Make it no larger than the toolstrip, so that it needs to scroll */ +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group { + align-items: center; + display: flex; + height: 100%; + flex-shrink: 1; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group > div { + align-items: center; + display: flex; + height: 100%; + flex: 1; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-exit-container { + background: #f44336; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-toolbar-scrollable-group { + flex-grow: 1; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item { + padding-left: 0.5em; + padding-right: 0.5em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button { + align-items: center; + display: flex; + height: 80%; + margin-left: 2px; + margin-right: 2px; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button.tinymce-mobile-toolbar-button-selected { + background: #c8cbcf; + color: #cccccc; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:first-of-type, +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:last-of-type { + background: #207ab7; + color: #eceff1; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar { + /* Note, this file is imported inside .tinymce-mobile-context-toolbar, so that prefix is on everything here. */ +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group { + align-items: center; + display: flex; + height: 100%; + flex: 1; + padding-bottom: 0.4em; + padding-top: 0.4em; + /* Make any buttons appearing on the left and right display in the centre (e.g. color edges) */ + /* For widgets like the colour picker, use the whole height */ +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog { + display: flex; + min-height: 1.5em; + overflow: hidden; + padding-left: 0; + padding-right: 0; + position: relative; + width: 100%; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain { + display: flex; + height: 100%; + transition: left cubic-bezier(0.4, 0, 1, 1) 0.15s; + width: 100%; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen { + display: flex; + flex: 0 0 auto; + justify-content: space-between; + width: 100%; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen input { + font-family: Sans-serif; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container { + display: flex; + flex-grow: 1; + position: relative; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container .tinymce-mobile-input-container-x { + -ms-grid-row-align: center; + align-self: center; + background: inherit; + border: none; + border-radius: 50%; + color: #888; + font-size: 0.6em; + font-weight: bold; + height: 100%; + padding-right: 2px; + position: absolute; + right: 0; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container.tinymce-mobile-input-container-empty .tinymce-mobile-input-container-x { + display: none; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous, +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next { + align-items: center; + display: flex; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous::before, +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next::before { + align-items: center; + display: flex; + font-weight: bold; + height: 100%; + padding-left: 0.5em; + padding-right: 0.5em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous.tinymce-mobile-toolbar-navigation-disabled::before, +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next.tinymce-mobile-toolbar-navigation-disabled::before { + visibility: hidden; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item { + color: #cccccc; + font-size: 10px; + line-height: 10px; + margin: 0 2px; + padding-top: 3px; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item.tinymce-mobile-dot-active { + color: #c8cbcf; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-font::before, +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-heading::before { + margin-left: 0.5em; + margin-right: 0.9em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-font::before, +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-heading::before { + margin-left: 0.9em; + margin-right: 0.5em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider { + display: flex; + flex: 1; + margin-left: 0; + margin-right: 0; + padding: 0.28em 0; + position: relative; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container { + align-items: center; + display: flex; + flex-grow: 1; + height: 100%; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container .tinymce-mobile-slider-size-line { + background: #cccccc; + display: flex; + flex: 1; + height: 0.2em; + margin-bottom: 0.3em; + margin-top: 0.3em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container { + padding-left: 2em; + padding-right: 2em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container { + align-items: center; + display: flex; + flex-grow: 1; + height: 100%; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container .tinymce-mobile-slider-gradient { + background: linear-gradient(to right, hsl(0, 100%, 50%) 0%, hsl(60, 100%, 50%) 17%, hsl(120, 100%, 50%) 33%, hsl(180, 100%, 50%) 50%, hsl(240, 100%, 50%) 67%, hsl(300, 100%, 50%) 83%, hsl(0, 100%, 50%) 100%); + display: flex; + flex: 1; + height: 0.2em; + margin-bottom: 0.3em; + margin-top: 0.3em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-black { + /* Not part of theming */ + background: black; + height: 0.2em; + margin-bottom: 0.3em; + margin-top: 0.3em; + width: 1.2em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-white { + /* Not part of theming */ + background: white; + height: 0.2em; + margin-bottom: 0.3em; + margin-top: 0.3em; + width: 1.2em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb { + /* vertically centering trick (margin: auto, top: 0, bottom: 0). On iOS and Safari, if you leave + * out these values, then it shows the thumb at the top of the spectrum. This is probably because it is + * absolutely positioned with only a left value, and not a top. Note, on Chrome it seems to be fine without + * this approach. + */ + align-items: center; + background-clip: padding-box; + background-color: #455a64; + border: 0.5em solid rgba(136, 136, 136, 0); + border-radius: 3em; + bottom: 0; + color: #fff; + display: flex; + height: 0.5em; + justify-content: center; + left: -10px; + margin: auto; + position: absolute; + top: 0; + transition: border 120ms cubic-bezier(0.39, 0.58, 0.57, 1); + width: 0.5em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb.tinymce-mobile-thumb-active { + border: 0.5em solid rgba(136, 136, 136, 0.39); +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper, +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group > div { + align-items: center; + display: flex; + height: 100%; + flex: 1; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper { + flex-direction: column; + justify-content: center; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item { + align-items: center; + display: flex; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item:not(.tinymce-mobile-serialised-dialog) { + height: 100%; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-container { + display: flex; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input { + background: #ffffff; + border: none; + border-radius: 0; + color: #455a64; + flex-grow: 1; + font-size: 0.85em; + padding-bottom: 0.1em; + padding-left: 5px; + padding-top: 0.1em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::-webkit-input-placeholder { + /* WebKit, Blink, Edge */ + color: #888; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::placeholder { + /* WebKit, Blink, Edge */ + color: #888; +} +/* dropup */ +.tinymce-mobile-dropup { + background: white; + display: flex; + overflow: hidden; + width: 100%; +} +.tinymce-mobile-dropup.tinymce-mobile-dropup-shrinking { + transition: height 0.3s ease-out; +} +.tinymce-mobile-dropup.tinymce-mobile-dropup-growing { + transition: height 0.3s ease-in; +} +.tinymce-mobile-dropup.tinymce-mobile-dropup-closed { + flex-grow: 0; +} +.tinymce-mobile-dropup.tinymce-mobile-dropup-open:not(.tinymce-mobile-dropup-growing) { + flex-grow: 1; +} +/* TODO min-height for device size and orientation */ +.tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed) { + min-height: 200px; +} +@media only screen and (orientation: landscape) { + .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed) { + min-height: 200px; + } +} +@media only screen and (min-device-width : 320px) and (max-device-width : 568px) and (orientation : landscape) { + .tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed) { + min-height: 150px; + } +} +/* styles menu */ +.tinymce-mobile-styles-menu { + font-family: sans-serif; + outline: 4px solid black; + overflow: hidden; + position: relative; + width: 100%; +} +.tinymce-mobile-styles-menu [role="menu"] { + display: flex; + flex-direction: column; + height: 100%; + position: absolute; + width: 100%; +} +.tinymce-mobile-styles-menu [role="menu"].transitioning { + transition: transform 0.5s ease-in-out; +} +.tinymce-mobile-styles-menu .tinymce-mobile-styles-item { + border-bottom: 1px solid #ddd; + color: #455a64; + cursor: pointer; + display: flex; + padding: 1em 1em; + position: relative; +} +.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser .tinymce-mobile-styles-collapse-icon::before { + color: #455a64; + content: "\e314"; + font-family: 'tinymce-mobile', sans-serif; +} +.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-styles-item-is-menu::after { + color: #455a64; + content: "\e315"; + font-family: 'tinymce-mobile', sans-serif; + padding-left: 1em; + padding-right: 1em; + position: absolute; + right: 0; +} +.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-format-matches::after { + font-family: 'tinymce-mobile', sans-serif; + padding-left: 1em; + padding-right: 1em; + position: absolute; + right: 0; +} +.tinymce-mobile-styles-menu .tinymce-mobile-styles-separator, +.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser { + align-items: center; + background: #fff; + border-top: #455a64; + color: #455a64; + display: flex; + min-height: 2.5em; + padding-left: 1em; + padding-right: 1em; +} +.tinymce-mobile-styles-menu [data-transitioning-destination="before"][data-transitioning-state], +.tinymce-mobile-styles-menu [data-transitioning-state="before"] { + transform: translate(-100%); +} +.tinymce-mobile-styles-menu [data-transitioning-destination="current"][data-transitioning-state], +.tinymce-mobile-styles-menu [data-transitioning-state="current"] { + transform: translate(0%); +} +.tinymce-mobile-styles-menu [data-transitioning-destination="after"][data-transitioning-state], +.tinymce-mobile-styles-menu [data-transitioning-state="after"] { + transform: translate(100%); +} +@font-face { + font-family: 'tinymce-mobile'; + font-style: normal; + font-weight: normal; + src: url('fonts/tinymce-mobile.woff?8x92w3') format('woff'); +} +@media (min-device-width: 700px) { + .tinymce-mobile-outer-container, + .tinymce-mobile-outer-container input { + font-size: 25px; + } +} +@media (max-device-width: 700px) { + .tinymce-mobile-outer-container, + .tinymce-mobile-outer-container input { + font-size: 18px; + } +} +.tinymce-mobile-icon { + font-family: 'tinymce-mobile', sans-serif; +} +.mixin-flex-and-centre { + align-items: center; + display: flex; + justify-content: center; +} +.mixin-flex-bar { + align-items: center; + display: flex; + height: 100%; +} +.tinymce-mobile-outer-container .tinymce-mobile-editor-socket iframe { + background-color: #fff; + width: 100%; +} +.tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon { + /* Note, on the iPod touch in landscape, this isn't visible when the navbar appears */ + background-color: #207ab7; + border-radius: 50%; + bottom: 1em; + color: white; + font-size: 1em; + height: 2.1em; + position: fixed; + right: 2em; + width: 2.1em; + align-items: center; + display: flex; + justify-content: center; +} +@media only screen and (min-device-width:700px) { + .tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon { + font-size: 1.2em; + } +} +.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-editor-socket { + height: 300px; + overflow: hidden; +} +.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-editor-socket iframe { + height: 100%; +} +.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-toolstrip { + display: none; +} +/* + Note, that if you don't include this (::-webkit-file-upload-button), the toolbar width gets + increased and the whole body becomes scrollable. It's important! + */ +input[type="file"]::-webkit-file-upload-button { + display: none; +} +@media only screen and (min-device-width : 320px) and (max-device-width : 568px) and (orientation : landscape) { + .tinymce-mobile-ios-container .tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon { + bottom: 50%; + } +} diff --git a/public/tinymce/skins/ui/oxide-dark/skin.mobile.min.css b/public/tinymce/skins/ui/oxide-dark/skin.mobile.min.css new file mode 100644 index 00000000..3a45cacf --- /dev/null +++ b/public/tinymce/skins/ui/oxide-dark/skin.mobile.min.css @@ -0,0 +1,7 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +.tinymce-mobile-outer-container{all:initial;display:block}.tinymce-mobile-outer-container *{border:0;box-sizing:initial;cursor:inherit;float:none;line-height:1;margin:0;outline:0;padding:0;-webkit-tap-highlight-color:transparent;text-shadow:none;white-space:nowrap}.tinymce-mobile-icon-arrow-back::before{content:"\e5cd"}.tinymce-mobile-icon-image::before{content:"\e412"}.tinymce-mobile-icon-cancel-circle::before{content:"\e5c9"}.tinymce-mobile-icon-full-dot::before{content:"\e061"}.tinymce-mobile-icon-align-center::before{content:"\e234"}.tinymce-mobile-icon-align-left::before{content:"\e236"}.tinymce-mobile-icon-align-right::before{content:"\e237"}.tinymce-mobile-icon-bold::before{content:"\e238"}.tinymce-mobile-icon-italic::before{content:"\e23f"}.tinymce-mobile-icon-unordered-list::before{content:"\e241"}.tinymce-mobile-icon-ordered-list::before{content:"\e242"}.tinymce-mobile-icon-font-size::before{content:"\e245"}.tinymce-mobile-icon-underline::before{content:"\e249"}.tinymce-mobile-icon-link::before{content:"\e157"}.tinymce-mobile-icon-unlink::before{content:"\eca2"}.tinymce-mobile-icon-color::before{content:"\e891"}.tinymce-mobile-icon-previous::before{content:"\e314"}.tinymce-mobile-icon-next::before{content:"\e315"}.tinymce-mobile-icon-large-font::before,.tinymce-mobile-icon-style-formats::before{content:"\e264"}.tinymce-mobile-icon-undo::before{content:"\e166"}.tinymce-mobile-icon-redo::before{content:"\e15a"}.tinymce-mobile-icon-removeformat::before{content:"\e239"}.tinymce-mobile-icon-small-font::before{content:"\e906"}.tinymce-mobile-format-matches::after,.tinymce-mobile-icon-readonly-back::before{content:"\e5ca"}.tinymce-mobile-icon-small-heading::before{content:"small"}.tinymce-mobile-icon-large-heading::before{content:"large"}.tinymce-mobile-icon-large-heading::before,.tinymce-mobile-icon-small-heading::before{font-family:sans-serif;font-size:80%}.tinymce-mobile-mask-edit-icon::before{content:"\e254"}.tinymce-mobile-icon-back::before{content:"\e5c4"}.tinymce-mobile-icon-heading::before{content:"Headings";font-family:sans-serif;font-size:80%;font-weight:700}.tinymce-mobile-icon-h1::before{content:"H1";font-weight:700}.tinymce-mobile-icon-h2::before{content:"H2";font-weight:700}.tinymce-mobile-icon-h3::before{content:"H3";font-weight:700}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask{align-items:center;display:flex;justify-content:center;background:rgba(51,51,51,.5);height:100%;position:absolute;top:0;width:100%}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container{align-items:center;border-radius:50%;display:flex;flex-direction:column;font-family:sans-serif;font-size:1em;justify-content:space-between}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .mixin-menu-item{align-items:center;display:flex;justify-content:center;border-radius:50%;height:2.1em;width:2.1em}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section{align-items:center;display:flex;justify-content:center;flex-direction:column;font-size:1em}@media only screen and (min-device-width:700px){.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section{font-size:1.2em}}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon{align-items:center;display:flex;justify-content:center;border-radius:50%;height:2.1em;width:2.1em;background-color:#fff;color:#207ab7}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon::before{content:"\e900";font-family:tinymce-mobile,sans-serif}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section:not(.tinymce-mobile-mask-tap-icon-selected) .tinymce-mobile-mask-tap-icon{z-index:2}.tinymce-mobile-android-container.tinymce-mobile-android-maximized{background:#fff;border:none;bottom:0;display:flex;flex-direction:column;left:0;position:fixed;right:0;top:0}.tinymce-mobile-android-container:not(.tinymce-mobile-android-maximized){position:relative}.tinymce-mobile-android-container .tinymce-mobile-editor-socket{display:flex;flex-grow:1}.tinymce-mobile-android-container .tinymce-mobile-editor-socket iframe{display:flex!important;flex-grow:1;height:auto!important}.tinymce-mobile-android-scroll-reload{overflow:hidden}:not(.tinymce-mobile-readonly-mode)>.tinymce-mobile-android-selection-context-toolbar{margin-top:23px}.tinymce-mobile-toolstrip{background:#fff;display:flex;flex:0 0 auto;z-index:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar{align-items:center;background-color:#fff;border-bottom:1px solid #ccc;display:flex;flex:1;height:2.5em;width:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group{align-items:center;display:flex;height:100%;flex-shrink:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group>div{align-items:center;display:flex;height:100%;flex:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-exit-container{background:#f44336}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-toolbar-scrollable-group{flex-grow:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item{padding-left:.5em;padding-right:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button{align-items:center;display:flex;height:80%;margin-left:2px;margin-right:2px}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button.tinymce-mobile-toolbar-button-selected{background:#c8cbcf;color:#ccc}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:first-of-type,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:last-of-type{background:#207ab7;color:#eceff1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group{align-items:center;display:flex;height:100%;flex:1;padding-bottom:.4em;padding-top:.4em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog{display:flex;min-height:1.5em;overflow:hidden;padding-left:0;padding-right:0;position:relative;width:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain{display:flex;height:100%;transition:left cubic-bezier(.4,0,1,1) .15s;width:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen{display:flex;flex:0 0 auto;justify-content:space-between;width:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen input{font-family:Sans-serif}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container{display:flex;flex-grow:1;position:relative}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container .tinymce-mobile-input-container-x{-ms-grid-row-align:center;align-self:center;background:inherit;border:none;border-radius:50%;color:#888;font-size:.6em;font-weight:700;height:100%;padding-right:2px;position:absolute;right:0}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container.tinymce-mobile-input-container-empty .tinymce-mobile-input-container-x{display:none}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous{align-items:center;display:flex}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next::before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous::before{align-items:center;display:flex;font-weight:700;height:100%;padding-left:.5em;padding-right:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next.tinymce-mobile-toolbar-navigation-disabled::before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous.tinymce-mobile-toolbar-navigation-disabled::before{visibility:hidden}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item{color:#ccc;font-size:10px;line-height:10px;margin:0 2px;padding-top:3px}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item.tinymce-mobile-dot-active{color:#c8cbcf}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-font::before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-heading::before{margin-left:.5em;margin-right:.9em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-font::before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-heading::before{margin-left:.9em;margin-right:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider{display:flex;flex:1;margin-left:0;margin-right:0;padding:.28em 0;position:relative}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container{align-items:center;display:flex;flex-grow:1;height:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container .tinymce-mobile-slider-size-line{background:#ccc;display:flex;flex:1;height:.2em;margin-bottom:.3em;margin-top:.3em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container{padding-left:2em;padding-right:2em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container{align-items:center;display:flex;flex-grow:1;height:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container .tinymce-mobile-slider-gradient{background:linear-gradient(to right,red 0,#feff00 17%,#0f0 33%,#00feff 50%,#00f 67%,#ff00fe 83%,red 100%);display:flex;flex:1;height:.2em;margin-bottom:.3em;margin-top:.3em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-black{background:#000;height:.2em;margin-bottom:.3em;margin-top:.3em;width:1.2em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-white{background:#fff;height:.2em;margin-bottom:.3em;margin-top:.3em;width:1.2em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb{align-items:center;background-clip:padding-box;background-color:#455a64;border:.5em solid rgba(136,136,136,0);border-radius:3em;bottom:0;color:#fff;display:flex;height:.5em;justify-content:center;left:-10px;margin:auto;position:absolute;top:0;transition:border 120ms cubic-bezier(.39,.58,.57,1);width:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb.tinymce-mobile-thumb-active{border:.5em solid rgba(136,136,136,.39)}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group>div{align-items:center;display:flex;height:100%;flex:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper{flex-direction:column;justify-content:center}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item{align-items:center;display:flex}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item:not(.tinymce-mobile-serialised-dialog){height:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-container{display:flex}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input{background:#fff;border:none;border-radius:0;color:#455a64;flex-grow:1;font-size:.85em;padding-bottom:.1em;padding-left:5px;padding-top:.1em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::-webkit-input-placeholder{color:#888}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::placeholder{color:#888}.tinymce-mobile-dropup{background:#fff;display:flex;overflow:hidden;width:100%}.tinymce-mobile-dropup.tinymce-mobile-dropup-shrinking{transition:height .3s ease-out}.tinymce-mobile-dropup.tinymce-mobile-dropup-growing{transition:height .3s ease-in}.tinymce-mobile-dropup.tinymce-mobile-dropup-closed{flex-grow:0}.tinymce-mobile-dropup.tinymce-mobile-dropup-open:not(.tinymce-mobile-dropup-growing){flex-grow:1}.tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed){min-height:200px}@media only screen and (orientation:landscape){.tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed){min-height:200px}}@media only screen and (min-device-width :320px) and (max-device-width :568px) and (orientation :landscape){.tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed){min-height:150px}}.tinymce-mobile-styles-menu{font-family:sans-serif;outline:4px solid #000;overflow:hidden;position:relative;width:100%}.tinymce-mobile-styles-menu [role=menu]{display:flex;flex-direction:column;height:100%;position:absolute;width:100%}.tinymce-mobile-styles-menu [role=menu].transitioning{transition:transform .5s ease-in-out}.tinymce-mobile-styles-menu .tinymce-mobile-styles-item{border-bottom:1px solid #ddd;color:#455a64;cursor:pointer;display:flex;padding:1em 1em;position:relative}.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser .tinymce-mobile-styles-collapse-icon::before{color:#455a64;content:"\e314";font-family:tinymce-mobile,sans-serif}.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-styles-item-is-menu::after{color:#455a64;content:"\e315";font-family:tinymce-mobile,sans-serif;padding-left:1em;padding-right:1em;position:absolute;right:0}.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-format-matches::after{font-family:tinymce-mobile,sans-serif;padding-left:1em;padding-right:1em;position:absolute;right:0}.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser,.tinymce-mobile-styles-menu .tinymce-mobile-styles-separator{align-items:center;background:#fff;border-top:#455a64;color:#455a64;display:flex;min-height:2.5em;padding-left:1em;padding-right:1em}.tinymce-mobile-styles-menu [data-transitioning-destination=before][data-transitioning-state],.tinymce-mobile-styles-menu [data-transitioning-state=before]{transform:translate(-100%)}.tinymce-mobile-styles-menu [data-transitioning-destination=current][data-transitioning-state],.tinymce-mobile-styles-menu [data-transitioning-state=current]{transform:translate(0)}.tinymce-mobile-styles-menu [data-transitioning-destination=after][data-transitioning-state],.tinymce-mobile-styles-menu [data-transitioning-state=after]{transform:translate(100%)}@font-face{font-family:tinymce-mobile;font-style:normal;font-weight:400;src:url(fonts/tinymce-mobile.woff?8x92w3) format('woff')}@media (min-device-width:700px){.tinymce-mobile-outer-container,.tinymce-mobile-outer-container input{font-size:25px}}@media (max-device-width:700px){.tinymce-mobile-outer-container,.tinymce-mobile-outer-container input{font-size:18px}}.tinymce-mobile-icon{font-family:tinymce-mobile,sans-serif}.mixin-flex-and-centre{align-items:center;display:flex;justify-content:center}.mixin-flex-bar{align-items:center;display:flex;height:100%}.tinymce-mobile-outer-container .tinymce-mobile-editor-socket iframe{background-color:#fff;width:100%}.tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon{background-color:#207ab7;border-radius:50%;bottom:1em;color:#fff;font-size:1em;height:2.1em;position:fixed;right:2em;width:2.1em;align-items:center;display:flex;justify-content:center}@media only screen and (min-device-width:700px){.tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon{font-size:1.2em}}.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-editor-socket{height:300px;overflow:hidden}.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-editor-socket iframe{height:100%}.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-toolstrip{display:none}input[type=file]::-webkit-file-upload-button{display:none}@media only screen and (min-device-width :320px) and (max-device-width :568px) and (orientation :landscape){.tinymce-mobile-ios-container .tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon{bottom:50%}} diff --git a/public/tinymce/skins/ui/oxide-dark/skin.shadowdom.css b/public/tinymce/skins/ui/oxide-dark/skin.shadowdom.css new file mode 100644 index 00000000..715978b5 --- /dev/null +++ b/public/tinymce/skins/ui/oxide-dark/skin.shadowdom.css @@ -0,0 +1,37 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +body.tox-dialog__disable-scroll { + overflow: hidden; +} +.tox-fullscreen { + border: 0; + height: 100%; + left: 0; + margin: 0; + overflow: hidden; + -ms-scroll-chaining: none; + overscroll-behavior: none; + padding: 0; + position: fixed; + top: 0; + touch-action: pinch-zoom; + width: 100%; +} +.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle { + display: none; +} +.tox.tox-tinymce.tox-fullscreen { + background-color: transparent; + z-index: 1200; +} +.tox-shadowhost.tox-fullscreen { + z-index: 1200; +} +.tox-fullscreen .tox.tox-tinymce-aux, +.tox-fullscreen ~ .tox.tox-tinymce-aux { + z-index: 1201; +} diff --git a/public/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css b/public/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css new file mode 100644 index 00000000..9ba6e02c --- /dev/null +++ b/public/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css @@ -0,0 +1,7 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +body.tox-dialog__disable-scroll{overflow:hidden}.tox-fullscreen{border:0;height:100%;left:0;margin:0;overflow:hidden;-ms-scroll-chaining:none;overscroll-behavior:none;padding:0;position:fixed;top:0;touch-action:pinch-zoom;width:100%}.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle{display:none}.tox.tox-tinymce.tox-fullscreen{background-color:transparent;z-index:1200}.tox-shadowhost.tox-fullscreen{z-index:1200}.tox-fullscreen .tox.tox-tinymce-aux,.tox-fullscreen~.tox.tox-tinymce-aux{z-index:1201} diff --git a/public/tinymce/skins/ui/oxide/content.css b/public/tinymce/skins/ui/oxide/content.css new file mode 100644 index 00000000..efae400b --- /dev/null +++ b/public/tinymce/skins/ui/oxide/content.css @@ -0,0 +1,732 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +.mce-content-body .mce-item-anchor { + background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") no-repeat center; + cursor: default; + display: inline-block; + height: 12px !important; + padding: 0 2px; + -webkit-user-modify: read-only; + -moz-user-modify: read-only; + -webkit-user-select: all; + -moz-user-select: all; + -ms-user-select: all; + user-select: all; + width: 8px !important; +} +.mce-content-body .mce-item-anchor[data-mce-selected] { + outline-offset: 1px; +} +.tox-comments-visible .tox-comment { + background-color: #fff0b7; +} +.tox-comments-visible .tox-comment--active { + background-color: #ffe168; +} +.tox-checklist > li:not(.tox-checklist--hidden) { + list-style: none; + margin: 0.25em 0; +} +.tox-checklist > li:not(.tox-checklist--hidden)::before { + content: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A"); + cursor: pointer; + height: 1em; + margin-left: -1.5em; + margin-top: 0.125em; + position: absolute; + width: 1em; +} +.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before { + content: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A"); +} +[dir=rtl] .tox-checklist > li:not(.tox-checklist--hidden)::before { + margin-left: 0; + margin-right: -1.5em; +} +/* stylelint-disable */ +/* http://prismjs.com/ */ +/** + * prism.js default theme for JavaScript, CSS and HTML + * Based on dabblet (http://dabblet.com) + * @author Lea Verou + */ +code[class*="language-"], +pre[class*="language-"] { + color: black; + background: none; + text-shadow: 0 1px white; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + font-size: 1em; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + -moz-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} +pre[class*="language-"]::-moz-selection, +pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, +code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #b3d4fc; +} +pre[class*="language-"]::selection, +pre[class*="language-"] ::selection, +code[class*="language-"]::selection, +code[class*="language-"] ::selection { + text-shadow: none; + background: #b3d4fc; +} +@media print { + code[class*="language-"], + pre[class*="language-"] { + text-shadow: none; + } +} +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: 0.5em 0; + overflow: auto; +} +:not(pre) > code[class*="language-"], +pre[class*="language-"] { + background: #f5f2f0; +} +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; +} +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: slategray; +} +.token.punctuation { + color: #999; +} +.namespace { + opacity: 0.7; +} +.token.property, +.token.tag, +.token.boolean, +.token.number, +.token.constant, +.token.symbol, +.token.deleted { + color: #905; +} +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #690; +} +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #9a6e3a; + background: hsla(0, 0%, 100%, 0.5); +} +.token.atrule, +.token.attr-value, +.token.keyword { + color: #07a; +} +.token.function, +.token.class-name { + color: #DD4A68; +} +.token.regex, +.token.important, +.token.variable { + color: #e90; +} +.token.important, +.token.bold { + font-weight: bold; +} +.token.italic { + font-style: italic; +} +.token.entity { + cursor: help; +} +/* stylelint-enable */ +.mce-content-body { + overflow-wrap: break-word; + word-wrap: break-word; +} +.mce-content-body .mce-visual-caret { + background-color: black; + background-color: currentColor; + position: absolute; +} +.mce-content-body .mce-visual-caret-hidden { + display: none; +} +.mce-content-body *[data-mce-caret] { + left: -1000px; + margin: 0; + padding: 0; + position: absolute; + right: auto; + top: 0; +} +.mce-content-body .mce-offscreen-selection { + left: -2000000px; + max-width: 1000000px; + position: absolute; +} +.mce-content-body *[contentEditable=false] { + cursor: default; +} +.mce-content-body *[contentEditable=true] { + cursor: text; +} +.tox-cursor-format-painter { + cursor: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"), default; +} +.mce-content-body figure.align-left { + float: left; +} +.mce-content-body figure.align-right { + float: right; +} +.mce-content-body figure.image.align-center { + display: table; + margin-left: auto; + margin-right: auto; +} +.mce-preview-object { + border: 1px solid gray; + display: inline-block; + line-height: 0; + margin: 0 2px 0 2px; + position: relative; +} +.mce-preview-object .mce-shim { + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +.mce-preview-object[data-mce-selected="2"] .mce-shim { + display: none; +} +.mce-object { + background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center; + border: 1px dashed #aaa; +} +.mce-pagebreak { + border: 1px dashed #aaa; + cursor: default; + display: block; + height: 5px; + margin-top: 15px; + page-break-before: always; + width: 100%; +} +@media print { + .mce-pagebreak { + border: 0; + } +} +.tiny-pageembed .mce-shim { + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +.tiny-pageembed[data-mce-selected="2"] .mce-shim { + display: none; +} +.tiny-pageembed { + display: inline-block; + position: relative; +} +.tiny-pageembed--21by9, +.tiny-pageembed--16by9, +.tiny-pageembed--4by3, +.tiny-pageembed--1by1 { + display: block; + overflow: hidden; + padding: 0; + position: relative; + width: 100%; +} +.tiny-pageembed--21by9 { + padding-top: 42.857143%; +} +.tiny-pageembed--16by9 { + padding-top: 56.25%; +} +.tiny-pageembed--4by3 { + padding-top: 75%; +} +.tiny-pageembed--1by1 { + padding-top: 100%; +} +.tiny-pageembed--21by9 iframe, +.tiny-pageembed--16by9 iframe, +.tiny-pageembed--4by3 iframe, +.tiny-pageembed--1by1 iframe { + border: 0; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +.mce-content-body[data-mce-placeholder] { + position: relative; +} +.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before { + color: rgba(34, 47, 62, 0.7); + content: attr(data-mce-placeholder); + position: absolute; +} +.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before { + left: 1px; +} +.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before { + right: 1px; +} +.mce-content-body div.mce-resizehandle { + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + height: 10px; + position: absolute; + width: 10px; + z-index: 10000; +} +.mce-content-body div.mce-resizehandle:hover { + background-color: #4099ff; +} +.mce-content-body div.mce-resizehandle:nth-of-type(1) { + cursor: nwse-resize; +} +.mce-content-body div.mce-resizehandle:nth-of-type(2) { + cursor: nesw-resize; +} +.mce-content-body div.mce-resizehandle:nth-of-type(3) { + cursor: nwse-resize; +} +.mce-content-body div.mce-resizehandle:nth-of-type(4) { + cursor: nesw-resize; +} +.mce-content-body .mce-resize-backdrop { + z-index: 10000; +} +.mce-content-body .mce-clonedresizable { + cursor: default; + opacity: 0.5; + outline: 1px dashed black; + position: absolute; + z-index: 10001; +} +.mce-content-body .mce-clonedresizable.mce-resizetable-columns th, +.mce-content-body .mce-clonedresizable.mce-resizetable-columns td { + border: 0; +} +.mce-content-body .mce-resize-helper { + background: #555; + background: rgba(0, 0, 0, 0.75); + border: 1px; + border-radius: 3px; + color: white; + display: none; + font-family: sans-serif; + font-size: 12px; + line-height: 14px; + margin: 5px 10px; + padding: 5px; + position: absolute; + white-space: nowrap; + z-index: 10002; +} +.tox-rtc-user-selection { + position: relative; +} +.tox-rtc-user-cursor { + bottom: 0; + cursor: default; + position: absolute; + top: 0; + width: 2px; +} +.tox-rtc-user-cursor::before { + background-color: inherit; + border-radius: 50%; + content: ''; + display: block; + height: 8px; + position: absolute; + right: -3px; + top: -3px; + width: 8px; +} +.tox-rtc-user-cursor:hover::after { + background-color: inherit; + border-radius: 100px; + box-sizing: border-box; + color: #fff; + content: attr(data-user); + display: block; + font-size: 12px; + font-weight: bold; + left: -5px; + min-height: 8px; + min-width: 8px; + padding: 0 12px; + position: absolute; + top: -11px; + white-space: nowrap; + z-index: 1000; +} +.tox-rtc-user-selection--1 .tox-rtc-user-cursor { + background-color: #2dc26b; +} +.tox-rtc-user-selection--2 .tox-rtc-user-cursor { + background-color: #e03e2d; +} +.tox-rtc-user-selection--3 .tox-rtc-user-cursor { + background-color: #f1c40f; +} +.tox-rtc-user-selection--4 .tox-rtc-user-cursor { + background-color: #3598db; +} +.tox-rtc-user-selection--5 .tox-rtc-user-cursor { + background-color: #b96ad9; +} +.tox-rtc-user-selection--6 .tox-rtc-user-cursor { + background-color: #e67e23; +} +.tox-rtc-user-selection--7 .tox-rtc-user-cursor { + background-color: #aaa69d; +} +.tox-rtc-user-selection--8 .tox-rtc-user-cursor { + background-color: #f368e0; +} +.tox-rtc-remote-image { + background: #eaeaea url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A") no-repeat center center; + border: 1px solid #ccc; + min-height: 240px; + min-width: 320px; +} +.mce-match-marker { + background: #aaa; + color: #fff; +} +.mce-match-marker-selected { + background: #39f; + color: #fff; +} +.mce-match-marker-selected::-moz-selection { + background: #39f; + color: #fff; +} +.mce-match-marker-selected::selection { + background: #39f; + color: #fff; +} +.mce-content-body img[data-mce-selected], +.mce-content-body video[data-mce-selected], +.mce-content-body audio[data-mce-selected], +.mce-content-body object[data-mce-selected], +.mce-content-body embed[data-mce-selected], +.mce-content-body table[data-mce-selected] { + outline: 3px solid #b4d7ff; +} +.mce-content-body hr[data-mce-selected] { + outline: 3px solid #b4d7ff; + outline-offset: 1px; +} +.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus { + outline: 3px solid #b4d7ff; +} +.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover { + outline: 3px solid #b4d7ff; +} +.mce-content-body *[contentEditable=false][data-mce-selected] { + cursor: not-allowed; + outline: 3px solid #b4d7ff; +} +.mce-content-body.mce-content-readonly *[contentEditable=true]:focus, +.mce-content-body.mce-content-readonly *[contentEditable=true]:hover { + outline: none; +} +.mce-content-body *[data-mce-selected="inline-boundary"] { + background-color: #b4d7ff; +} +.mce-content-body .mce-edit-focus { + outline: 3px solid #b4d7ff; +} +.mce-content-body td[data-mce-selected], +.mce-content-body th[data-mce-selected] { + position: relative; +} +.mce-content-body td[data-mce-selected]::-moz-selection, +.mce-content-body th[data-mce-selected]::-moz-selection { + background: none; +} +.mce-content-body td[data-mce-selected]::selection, +.mce-content-body th[data-mce-selected]::selection { + background: none; +} +.mce-content-body td[data-mce-selected] *, +.mce-content-body th[data-mce-selected] * { + outline: none; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.mce-content-body td[data-mce-selected]::after, +.mce-content-body th[data-mce-selected]::after { + background-color: rgba(180, 215, 255, 0.7); + border: 1px solid rgba(180, 215, 255, 0.7); + bottom: -1px; + content: ''; + left: -1px; + mix-blend-mode: multiply; + position: absolute; + right: -1px; + top: -1px; +} +@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { + .mce-content-body td[data-mce-selected]::after, + .mce-content-body th[data-mce-selected]::after { + border-color: rgba(0, 84, 180, 0.7); + } +} +.mce-content-body img::-moz-selection { + background: none; +} +.mce-content-body img::selection { + background: none; +} +.ephox-snooker-resizer-bar { + background-color: #b4d7ff; + opacity: 0; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.ephox-snooker-resizer-cols { + cursor: col-resize; +} +.ephox-snooker-resizer-rows { + cursor: row-resize; +} +.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging { + opacity: 1; +} +.mce-spellchecker-word { + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; + height: 2rem; +} +.mce-spellchecker-grammar { + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; +} +.mce-toc { + border: 1px solid gray; +} +.mce-toc h2 { + margin: 4px; +} +.mce-toc li { + list-style-type: none; +} +table[style*="border-width: 0px"], +.mce-item-table:not([border]), +.mce-item-table[border="0"], +table[style*="border-width: 0px"] td, +.mce-item-table:not([border]) td, +.mce-item-table[border="0"] td, +table[style*="border-width: 0px"] th, +.mce-item-table:not([border]) th, +.mce-item-table[border="0"] th, +table[style*="border-width: 0px"] caption, +.mce-item-table:not([border]) caption, +.mce-item-table[border="0"] caption { + border: 1px dashed #bbb; +} +.mce-visualblocks p, +.mce-visualblocks h1, +.mce-visualblocks h2, +.mce-visualblocks h3, +.mce-visualblocks h4, +.mce-visualblocks h5, +.mce-visualblocks h6, +.mce-visualblocks div:not([data-mce-bogus]), +.mce-visualblocks section, +.mce-visualblocks article, +.mce-visualblocks blockquote, +.mce-visualblocks address, +.mce-visualblocks pre, +.mce-visualblocks figure, +.mce-visualblocks figcaption, +.mce-visualblocks hgroup, +.mce-visualblocks aside, +.mce-visualblocks ul, +.mce-visualblocks ol, +.mce-visualblocks dl { + background-repeat: no-repeat; + border: 1px dashed #bbb; + margin-left: 3px; + padding-top: 10px; +} +.mce-visualblocks p { + background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); +} +.mce-visualblocks h1 { + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); +} +.mce-visualblocks h2 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); +} +.mce-visualblocks h3 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); +} +.mce-visualblocks h4 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); +} +.mce-visualblocks h5 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); +} +.mce-visualblocks h6 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); +} +.mce-visualblocks div:not([data-mce-bogus]) { + background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); +} +.mce-visualblocks section { + background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); +} +.mce-visualblocks article { + background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7); +} +.mce-visualblocks blockquote { + background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7); +} +.mce-visualblocks address { + background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=); +} +.mce-visualblocks pre { + background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); +} +.mce-visualblocks figure { + background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); +} +.mce-visualblocks figcaption { + border: 1px dashed #bbb; +} +.mce-visualblocks hgroup { + background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); +} +.mce-visualblocks aside { + background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); +} +.mce-visualblocks ul { + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); +} +.mce-visualblocks ol { + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); +} +.mce-visualblocks dl { + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); +} +.mce-visualblocks:not([dir=rtl]) p, +.mce-visualblocks:not([dir=rtl]) h1, +.mce-visualblocks:not([dir=rtl]) h2, +.mce-visualblocks:not([dir=rtl]) h3, +.mce-visualblocks:not([dir=rtl]) h4, +.mce-visualblocks:not([dir=rtl]) h5, +.mce-visualblocks:not([dir=rtl]) h6, +.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]), +.mce-visualblocks:not([dir=rtl]) section, +.mce-visualblocks:not([dir=rtl]) article, +.mce-visualblocks:not([dir=rtl]) blockquote, +.mce-visualblocks:not([dir=rtl]) address, +.mce-visualblocks:not([dir=rtl]) pre, +.mce-visualblocks:not([dir=rtl]) figure, +.mce-visualblocks:not([dir=rtl]) figcaption, +.mce-visualblocks:not([dir=rtl]) hgroup, +.mce-visualblocks:not([dir=rtl]) aside, +.mce-visualblocks:not([dir=rtl]) ul, +.mce-visualblocks:not([dir=rtl]) ol, +.mce-visualblocks:not([dir=rtl]) dl { + margin-left: 3px; +} +.mce-visualblocks[dir=rtl] p, +.mce-visualblocks[dir=rtl] h1, +.mce-visualblocks[dir=rtl] h2, +.mce-visualblocks[dir=rtl] h3, +.mce-visualblocks[dir=rtl] h4, +.mce-visualblocks[dir=rtl] h5, +.mce-visualblocks[dir=rtl] h6, +.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]), +.mce-visualblocks[dir=rtl] section, +.mce-visualblocks[dir=rtl] article, +.mce-visualblocks[dir=rtl] blockquote, +.mce-visualblocks[dir=rtl] address, +.mce-visualblocks[dir=rtl] pre, +.mce-visualblocks[dir=rtl] figure, +.mce-visualblocks[dir=rtl] figcaption, +.mce-visualblocks[dir=rtl] hgroup, +.mce-visualblocks[dir=rtl] aside, +.mce-visualblocks[dir=rtl] ul, +.mce-visualblocks[dir=rtl] ol, +.mce-visualblocks[dir=rtl] dl { + background-position-x: right; + margin-right: 3px; +} +.mce-nbsp, +.mce-shy { + background: #aaa; +} +.mce-shy::after { + content: '-'; +} +body { + font-family: sans-serif; +} +table { + border-collapse: collapse; +} diff --git a/public/tinymce/skins/ui/oxide/content.inline.css b/public/tinymce/skins/ui/oxide/content.inline.css new file mode 100644 index 00000000..df6ed08b --- /dev/null +++ b/public/tinymce/skins/ui/oxide/content.inline.css @@ -0,0 +1,726 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +.mce-content-body .mce-item-anchor { + background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") no-repeat center; + cursor: default; + display: inline-block; + height: 12px !important; + padding: 0 2px; + -webkit-user-modify: read-only; + -moz-user-modify: read-only; + -webkit-user-select: all; + -moz-user-select: all; + -ms-user-select: all; + user-select: all; + width: 8px !important; +} +.mce-content-body .mce-item-anchor[data-mce-selected] { + outline-offset: 1px; +} +.tox-comments-visible .tox-comment { + background-color: #fff0b7; +} +.tox-comments-visible .tox-comment--active { + background-color: #ffe168; +} +.tox-checklist > li:not(.tox-checklist--hidden) { + list-style: none; + margin: 0.25em 0; +} +.tox-checklist > li:not(.tox-checklist--hidden)::before { + content: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A"); + cursor: pointer; + height: 1em; + margin-left: -1.5em; + margin-top: 0.125em; + position: absolute; + width: 1em; +} +.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before { + content: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A"); +} +[dir=rtl] .tox-checklist > li:not(.tox-checklist--hidden)::before { + margin-left: 0; + margin-right: -1.5em; +} +/* stylelint-disable */ +/* http://prismjs.com/ */ +/** + * prism.js default theme for JavaScript, CSS and HTML + * Based on dabblet (http://dabblet.com) + * @author Lea Verou + */ +code[class*="language-"], +pre[class*="language-"] { + color: black; + background: none; + text-shadow: 0 1px white; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + font-size: 1em; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + -moz-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} +pre[class*="language-"]::-moz-selection, +pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, +code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #b3d4fc; +} +pre[class*="language-"]::selection, +pre[class*="language-"] ::selection, +code[class*="language-"]::selection, +code[class*="language-"] ::selection { + text-shadow: none; + background: #b3d4fc; +} +@media print { + code[class*="language-"], + pre[class*="language-"] { + text-shadow: none; + } +} +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: 0.5em 0; + overflow: auto; +} +:not(pre) > code[class*="language-"], +pre[class*="language-"] { + background: #f5f2f0; +} +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; +} +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: slategray; +} +.token.punctuation { + color: #999; +} +.namespace { + opacity: 0.7; +} +.token.property, +.token.tag, +.token.boolean, +.token.number, +.token.constant, +.token.symbol, +.token.deleted { + color: #905; +} +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #690; +} +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #9a6e3a; + background: hsla(0, 0%, 100%, 0.5); +} +.token.atrule, +.token.attr-value, +.token.keyword { + color: #07a; +} +.token.function, +.token.class-name { + color: #DD4A68; +} +.token.regex, +.token.important, +.token.variable { + color: #e90; +} +.token.important, +.token.bold { + font-weight: bold; +} +.token.italic { + font-style: italic; +} +.token.entity { + cursor: help; +} +/* stylelint-enable */ +.mce-content-body { + overflow-wrap: break-word; + word-wrap: break-word; +} +.mce-content-body .mce-visual-caret { + background-color: black; + background-color: currentColor; + position: absolute; +} +.mce-content-body .mce-visual-caret-hidden { + display: none; +} +.mce-content-body *[data-mce-caret] { + left: -1000px; + margin: 0; + padding: 0; + position: absolute; + right: auto; + top: 0; +} +.mce-content-body .mce-offscreen-selection { + left: -2000000px; + max-width: 1000000px; + position: absolute; +} +.mce-content-body *[contentEditable=false] { + cursor: default; +} +.mce-content-body *[contentEditable=true] { + cursor: text; +} +.tox-cursor-format-painter { + cursor: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"), default; +} +.mce-content-body figure.align-left { + float: left; +} +.mce-content-body figure.align-right { + float: right; +} +.mce-content-body figure.image.align-center { + display: table; + margin-left: auto; + margin-right: auto; +} +.mce-preview-object { + border: 1px solid gray; + display: inline-block; + line-height: 0; + margin: 0 2px 0 2px; + position: relative; +} +.mce-preview-object .mce-shim { + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +.mce-preview-object[data-mce-selected="2"] .mce-shim { + display: none; +} +.mce-object { + background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center; + border: 1px dashed #aaa; +} +.mce-pagebreak { + border: 1px dashed #aaa; + cursor: default; + display: block; + height: 5px; + margin-top: 15px; + page-break-before: always; + width: 100%; +} +@media print { + .mce-pagebreak { + border: 0; + } +} +.tiny-pageembed .mce-shim { + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +.tiny-pageembed[data-mce-selected="2"] .mce-shim { + display: none; +} +.tiny-pageembed { + display: inline-block; + position: relative; +} +.tiny-pageembed--21by9, +.tiny-pageembed--16by9, +.tiny-pageembed--4by3, +.tiny-pageembed--1by1 { + display: block; + overflow: hidden; + padding: 0; + position: relative; + width: 100%; +} +.tiny-pageembed--21by9 { + padding-top: 42.857143%; +} +.tiny-pageembed--16by9 { + padding-top: 56.25%; +} +.tiny-pageembed--4by3 { + padding-top: 75%; +} +.tiny-pageembed--1by1 { + padding-top: 100%; +} +.tiny-pageembed--21by9 iframe, +.tiny-pageembed--16by9 iframe, +.tiny-pageembed--4by3 iframe, +.tiny-pageembed--1by1 iframe { + border: 0; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +.mce-content-body[data-mce-placeholder] { + position: relative; +} +.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before { + color: rgba(34, 47, 62, 0.7); + content: attr(data-mce-placeholder); + position: absolute; +} +.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before { + left: 1px; +} +.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before { + right: 1px; +} +.mce-content-body div.mce-resizehandle { + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + height: 10px; + position: absolute; + width: 10px; + z-index: 10000; +} +.mce-content-body div.mce-resizehandle:hover { + background-color: #4099ff; +} +.mce-content-body div.mce-resizehandle:nth-of-type(1) { + cursor: nwse-resize; +} +.mce-content-body div.mce-resizehandle:nth-of-type(2) { + cursor: nesw-resize; +} +.mce-content-body div.mce-resizehandle:nth-of-type(3) { + cursor: nwse-resize; +} +.mce-content-body div.mce-resizehandle:nth-of-type(4) { + cursor: nesw-resize; +} +.mce-content-body .mce-resize-backdrop { + z-index: 10000; +} +.mce-content-body .mce-clonedresizable { + cursor: default; + opacity: 0.5; + outline: 1px dashed black; + position: absolute; + z-index: 10001; +} +.mce-content-body .mce-clonedresizable.mce-resizetable-columns th, +.mce-content-body .mce-clonedresizable.mce-resizetable-columns td { + border: 0; +} +.mce-content-body .mce-resize-helper { + background: #555; + background: rgba(0, 0, 0, 0.75); + border: 1px; + border-radius: 3px; + color: white; + display: none; + font-family: sans-serif; + font-size: 12px; + line-height: 14px; + margin: 5px 10px; + padding: 5px; + position: absolute; + white-space: nowrap; + z-index: 10002; +} +.tox-rtc-user-selection { + position: relative; +} +.tox-rtc-user-cursor { + bottom: 0; + cursor: default; + position: absolute; + top: 0; + width: 2px; +} +.tox-rtc-user-cursor::before { + background-color: inherit; + border-radius: 50%; + content: ''; + display: block; + height: 8px; + position: absolute; + right: -3px; + top: -3px; + width: 8px; +} +.tox-rtc-user-cursor:hover::after { + background-color: inherit; + border-radius: 100px; + box-sizing: border-box; + color: #fff; + content: attr(data-user); + display: block; + font-size: 12px; + font-weight: bold; + left: -5px; + min-height: 8px; + min-width: 8px; + padding: 0 12px; + position: absolute; + top: -11px; + white-space: nowrap; + z-index: 1000; +} +.tox-rtc-user-selection--1 .tox-rtc-user-cursor { + background-color: #2dc26b; +} +.tox-rtc-user-selection--2 .tox-rtc-user-cursor { + background-color: #e03e2d; +} +.tox-rtc-user-selection--3 .tox-rtc-user-cursor { + background-color: #f1c40f; +} +.tox-rtc-user-selection--4 .tox-rtc-user-cursor { + background-color: #3598db; +} +.tox-rtc-user-selection--5 .tox-rtc-user-cursor { + background-color: #b96ad9; +} +.tox-rtc-user-selection--6 .tox-rtc-user-cursor { + background-color: #e67e23; +} +.tox-rtc-user-selection--7 .tox-rtc-user-cursor { + background-color: #aaa69d; +} +.tox-rtc-user-selection--8 .tox-rtc-user-cursor { + background-color: #f368e0; +} +.tox-rtc-remote-image { + background: #eaeaea url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A") no-repeat center center; + border: 1px solid #ccc; + min-height: 240px; + min-width: 320px; +} +.mce-match-marker { + background: #aaa; + color: #fff; +} +.mce-match-marker-selected { + background: #39f; + color: #fff; +} +.mce-match-marker-selected::-moz-selection { + background: #39f; + color: #fff; +} +.mce-match-marker-selected::selection { + background: #39f; + color: #fff; +} +.mce-content-body img[data-mce-selected], +.mce-content-body video[data-mce-selected], +.mce-content-body audio[data-mce-selected], +.mce-content-body object[data-mce-selected], +.mce-content-body embed[data-mce-selected], +.mce-content-body table[data-mce-selected] { + outline: 3px solid #b4d7ff; +} +.mce-content-body hr[data-mce-selected] { + outline: 3px solid #b4d7ff; + outline-offset: 1px; +} +.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus { + outline: 3px solid #b4d7ff; +} +.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover { + outline: 3px solid #b4d7ff; +} +.mce-content-body *[contentEditable=false][data-mce-selected] { + cursor: not-allowed; + outline: 3px solid #b4d7ff; +} +.mce-content-body.mce-content-readonly *[contentEditable=true]:focus, +.mce-content-body.mce-content-readonly *[contentEditable=true]:hover { + outline: none; +} +.mce-content-body *[data-mce-selected="inline-boundary"] { + background-color: #b4d7ff; +} +.mce-content-body .mce-edit-focus { + outline: 3px solid #b4d7ff; +} +.mce-content-body td[data-mce-selected], +.mce-content-body th[data-mce-selected] { + position: relative; +} +.mce-content-body td[data-mce-selected]::-moz-selection, +.mce-content-body th[data-mce-selected]::-moz-selection { + background: none; +} +.mce-content-body td[data-mce-selected]::selection, +.mce-content-body th[data-mce-selected]::selection { + background: none; +} +.mce-content-body td[data-mce-selected] *, +.mce-content-body th[data-mce-selected] * { + outline: none; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.mce-content-body td[data-mce-selected]::after, +.mce-content-body th[data-mce-selected]::after { + background-color: rgba(180, 215, 255, 0.7); + border: 1px solid rgba(180, 215, 255, 0.7); + bottom: -1px; + content: ''; + left: -1px; + mix-blend-mode: multiply; + position: absolute; + right: -1px; + top: -1px; +} +@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { + .mce-content-body td[data-mce-selected]::after, + .mce-content-body th[data-mce-selected]::after { + border-color: rgba(0, 84, 180, 0.7); + } +} +.mce-content-body img::-moz-selection { + background: none; +} +.mce-content-body img::selection { + background: none; +} +.ephox-snooker-resizer-bar { + background-color: #b4d7ff; + opacity: 0; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.ephox-snooker-resizer-cols { + cursor: col-resize; +} +.ephox-snooker-resizer-rows { + cursor: row-resize; +} +.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging { + opacity: 1; +} +.mce-spellchecker-word { + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; + height: 2rem; +} +.mce-spellchecker-grammar { + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; +} +.mce-toc { + border: 1px solid gray; +} +.mce-toc h2 { + margin: 4px; +} +.mce-toc li { + list-style-type: none; +} +table[style*="border-width: 0px"], +.mce-item-table:not([border]), +.mce-item-table[border="0"], +table[style*="border-width: 0px"] td, +.mce-item-table:not([border]) td, +.mce-item-table[border="0"] td, +table[style*="border-width: 0px"] th, +.mce-item-table:not([border]) th, +.mce-item-table[border="0"] th, +table[style*="border-width: 0px"] caption, +.mce-item-table:not([border]) caption, +.mce-item-table[border="0"] caption { + border: 1px dashed #bbb; +} +.mce-visualblocks p, +.mce-visualblocks h1, +.mce-visualblocks h2, +.mce-visualblocks h3, +.mce-visualblocks h4, +.mce-visualblocks h5, +.mce-visualblocks h6, +.mce-visualblocks div:not([data-mce-bogus]), +.mce-visualblocks section, +.mce-visualblocks article, +.mce-visualblocks blockquote, +.mce-visualblocks address, +.mce-visualblocks pre, +.mce-visualblocks figure, +.mce-visualblocks figcaption, +.mce-visualblocks hgroup, +.mce-visualblocks aside, +.mce-visualblocks ul, +.mce-visualblocks ol, +.mce-visualblocks dl { + background-repeat: no-repeat; + border: 1px dashed #bbb; + margin-left: 3px; + padding-top: 10px; +} +.mce-visualblocks p { + background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); +} +.mce-visualblocks h1 { + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); +} +.mce-visualblocks h2 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); +} +.mce-visualblocks h3 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); +} +.mce-visualblocks h4 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); +} +.mce-visualblocks h5 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); +} +.mce-visualblocks h6 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); +} +.mce-visualblocks div:not([data-mce-bogus]) { + background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); +} +.mce-visualblocks section { + background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); +} +.mce-visualblocks article { + background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7); +} +.mce-visualblocks blockquote { + background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7); +} +.mce-visualblocks address { + background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=); +} +.mce-visualblocks pre { + background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); +} +.mce-visualblocks figure { + background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); +} +.mce-visualblocks figcaption { + border: 1px dashed #bbb; +} +.mce-visualblocks hgroup { + background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); +} +.mce-visualblocks aside { + background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); +} +.mce-visualblocks ul { + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); +} +.mce-visualblocks ol { + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); +} +.mce-visualblocks dl { + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); +} +.mce-visualblocks:not([dir=rtl]) p, +.mce-visualblocks:not([dir=rtl]) h1, +.mce-visualblocks:not([dir=rtl]) h2, +.mce-visualblocks:not([dir=rtl]) h3, +.mce-visualblocks:not([dir=rtl]) h4, +.mce-visualblocks:not([dir=rtl]) h5, +.mce-visualblocks:not([dir=rtl]) h6, +.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]), +.mce-visualblocks:not([dir=rtl]) section, +.mce-visualblocks:not([dir=rtl]) article, +.mce-visualblocks:not([dir=rtl]) blockquote, +.mce-visualblocks:not([dir=rtl]) address, +.mce-visualblocks:not([dir=rtl]) pre, +.mce-visualblocks:not([dir=rtl]) figure, +.mce-visualblocks:not([dir=rtl]) figcaption, +.mce-visualblocks:not([dir=rtl]) hgroup, +.mce-visualblocks:not([dir=rtl]) aside, +.mce-visualblocks:not([dir=rtl]) ul, +.mce-visualblocks:not([dir=rtl]) ol, +.mce-visualblocks:not([dir=rtl]) dl { + margin-left: 3px; +} +.mce-visualblocks[dir=rtl] p, +.mce-visualblocks[dir=rtl] h1, +.mce-visualblocks[dir=rtl] h2, +.mce-visualblocks[dir=rtl] h3, +.mce-visualblocks[dir=rtl] h4, +.mce-visualblocks[dir=rtl] h5, +.mce-visualblocks[dir=rtl] h6, +.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]), +.mce-visualblocks[dir=rtl] section, +.mce-visualblocks[dir=rtl] article, +.mce-visualblocks[dir=rtl] blockquote, +.mce-visualblocks[dir=rtl] address, +.mce-visualblocks[dir=rtl] pre, +.mce-visualblocks[dir=rtl] figure, +.mce-visualblocks[dir=rtl] figcaption, +.mce-visualblocks[dir=rtl] hgroup, +.mce-visualblocks[dir=rtl] aside, +.mce-visualblocks[dir=rtl] ul, +.mce-visualblocks[dir=rtl] ol, +.mce-visualblocks[dir=rtl] dl { + background-position-x: right; + margin-right: 3px; +} +.mce-nbsp, +.mce-shy { + background: #aaa; +} +.mce-shy::after { + content: '-'; +} diff --git a/public/tinymce/skins/ui/oxide/content.inline.min.css b/public/tinymce/skins/ui/oxide/content.inline.min.css new file mode 100644 index 00000000..0a3d965c --- /dev/null +++ b/public/tinymce/skins/ui/oxide/content.inline.min.css @@ -0,0 +1,7 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +.mce-content-body .mce-item-anchor{background:transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;cursor:default;display:inline-block;height:12px!important;padding:0 2px;-webkit-user-modify:read-only;-moz-user-modify:read-only;-webkit-user-select:all;-moz-user-select:all;-ms-user-select:all;user-select:all;width:8px!important}.mce-content-body .mce-item-anchor[data-mce-selected]{outline-offset:1px}.tox-comments-visible .tox-comment{background-color:#fff0b7}.tox-comments-visible .tox-comment--active{background-color:#ffe168}.tox-checklist>li:not(.tox-checklist--hidden){list-style:none;margin:.25em 0}.tox-checklist>li:not(.tox-checklist--hidden)::before{content:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A");cursor:pointer;height:1em;margin-left:-1.5em;margin-top:.125em;position:absolute;width:1em}.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before{content:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A")}[dir=rtl] .tox-checklist>li:not(.tox-checklist--hidden)::before{margin-left:0;margin-right:-1.5em}code[class*=language-],pre[class*=language-]{color:#000;background:0 0;text-shadow:0 1px #fff;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection{text-shadow:none;background:#b3d4fc}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#9a6e3a;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.mce-content-body{overflow-wrap:break-word;word-wrap:break-word}.mce-content-body .mce-visual-caret{background-color:#000;background-color:currentColor;position:absolute}.mce-content-body .mce-visual-caret-hidden{display:none}.mce-content-body [data-mce-caret]{left:-1000px;margin:0;padding:0;position:absolute;right:auto;top:0}.mce-content-body .mce-offscreen-selection{left:-2000000px;max-width:1000000px;position:absolute}.mce-content-body [contentEditable=false]{cursor:default}.mce-content-body [contentEditable=true]{cursor:text}.tox-cursor-format-painter{cursor:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"),default}.mce-content-body figure.align-left{float:left}.mce-content-body figure.align-right{float:right}.mce-content-body figure.image.align-center{display:table;margin-left:auto;margin-right:auto}.mce-preview-object{border:1px solid gray;display:inline-block;line-height:0;margin:0 2px 0 2px;position:relative}.mce-preview-object .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.mce-preview-object[data-mce-selected="2"] .mce-shim{display:none}.mce-object{background:transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;border:1px dashed #aaa}.mce-pagebreak{border:1px dashed #aaa;cursor:default;display:block;height:5px;margin-top:15px;page-break-before:always;width:100%}@media print{.mce-pagebreak{border:0}}.tiny-pageembed .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.tiny-pageembed[data-mce-selected="2"] .mce-shim{display:none}.tiny-pageembed{display:inline-block;position:relative}.tiny-pageembed--16by9,.tiny-pageembed--1by1,.tiny-pageembed--21by9,.tiny-pageembed--4by3{display:block;overflow:hidden;padding:0;position:relative;width:100%}.tiny-pageembed--21by9{padding-top:42.857143%}.tiny-pageembed--16by9{padding-top:56.25%}.tiny-pageembed--4by3{padding-top:75%}.tiny-pageembed--1by1{padding-top:100%}.tiny-pageembed--16by9 iframe,.tiny-pageembed--1by1 iframe,.tiny-pageembed--21by9 iframe,.tiny-pageembed--4by3 iframe{border:0;height:100%;left:0;position:absolute;top:0;width:100%}.mce-content-body[data-mce-placeholder]{position:relative}.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before{color:rgba(34,47,62,.7);content:attr(data-mce-placeholder);position:absolute}.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before{left:1px}.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before{right:1px}.mce-content-body div.mce-resizehandle{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;height:10px;position:absolute;width:10px;z-index:10000}.mce-content-body div.mce-resizehandle:hover{background-color:#4099ff}.mce-content-body div.mce-resizehandle:nth-of-type(1){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(2){cursor:nesw-resize}.mce-content-body div.mce-resizehandle:nth-of-type(3){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(4){cursor:nesw-resize}.mce-content-body .mce-resize-backdrop{z-index:10000}.mce-content-body .mce-clonedresizable{cursor:default;opacity:.5;outline:1px dashed #000;position:absolute;z-index:10001}.mce-content-body .mce-clonedresizable.mce-resizetable-columns td,.mce-content-body .mce-clonedresizable.mce-resizetable-columns th{border:0}.mce-content-body .mce-resize-helper{background:#555;background:rgba(0,0,0,.75);border:1px;border-radius:3px;color:#fff;display:none;font-family:sans-serif;font-size:12px;line-height:14px;margin:5px 10px;padding:5px;position:absolute;white-space:nowrap;z-index:10002}.tox-rtc-user-selection{position:relative}.tox-rtc-user-cursor{bottom:0;cursor:default;position:absolute;top:0;width:2px}.tox-rtc-user-cursor::before{background-color:inherit;border-radius:50%;content:'';display:block;height:8px;position:absolute;right:-3px;top:-3px;width:8px}.tox-rtc-user-cursor:hover::after{background-color:inherit;border-radius:100px;box-sizing:border-box;color:#fff;content:attr(data-user);display:block;font-size:12px;font-weight:700;left:-5px;min-height:8px;min-width:8px;padding:0 12px;position:absolute;top:-11px;white-space:nowrap;z-index:1000}.tox-rtc-user-selection--1 .tox-rtc-user-cursor{background-color:#2dc26b}.tox-rtc-user-selection--2 .tox-rtc-user-cursor{background-color:#e03e2d}.tox-rtc-user-selection--3 .tox-rtc-user-cursor{background-color:#f1c40f}.tox-rtc-user-selection--4 .tox-rtc-user-cursor{background-color:#3598db}.tox-rtc-user-selection--5 .tox-rtc-user-cursor{background-color:#b96ad9}.tox-rtc-user-selection--6 .tox-rtc-user-cursor{background-color:#e67e23}.tox-rtc-user-selection--7 .tox-rtc-user-cursor{background-color:#aaa69d}.tox-rtc-user-selection--8 .tox-rtc-user-cursor{background-color:#f368e0}.tox-rtc-remote-image{background:#eaeaea url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A") no-repeat center center;border:1px solid #ccc;min-height:240px;min-width:320px}.mce-match-marker{background:#aaa;color:#fff}.mce-match-marker-selected{background:#39f;color:#fff}.mce-match-marker-selected::-moz-selection{background:#39f;color:#fff}.mce-match-marker-selected::selection{background:#39f;color:#fff}.mce-content-body audio[data-mce-selected],.mce-content-body embed[data-mce-selected],.mce-content-body img[data-mce-selected],.mce-content-body object[data-mce-selected],.mce-content-body table[data-mce-selected],.mce-content-body video[data-mce-selected]{outline:3px solid #b4d7ff}.mce-content-body hr[data-mce-selected]{outline:3px solid #b4d7ff;outline-offset:1px}.mce-content-body [contentEditable=false] [contentEditable=true]:focus{outline:3px solid #b4d7ff}.mce-content-body [contentEditable=false] [contentEditable=true]:hover{outline:3px solid #b4d7ff}.mce-content-body [contentEditable=false][data-mce-selected]{cursor:not-allowed;outline:3px solid #b4d7ff}.mce-content-body.mce-content-readonly [contentEditable=true]:focus,.mce-content-body.mce-content-readonly [contentEditable=true]:hover{outline:0}.mce-content-body [data-mce-selected=inline-boundary]{background-color:#b4d7ff}.mce-content-body .mce-edit-focus{outline:3px solid #b4d7ff}.mce-content-body td[data-mce-selected],.mce-content-body th[data-mce-selected]{position:relative}.mce-content-body td[data-mce-selected]::-moz-selection,.mce-content-body th[data-mce-selected]::-moz-selection{background:0 0}.mce-content-body td[data-mce-selected]::selection,.mce-content-body th[data-mce-selected]::selection{background:0 0}.mce-content-body td[data-mce-selected] *,.mce-content-body th[data-mce-selected] *{outline:0;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mce-content-body td[data-mce-selected]::after,.mce-content-body th[data-mce-selected]::after{background-color:rgba(180,215,255,.7);border:1px solid rgba(180,215,255,.7);bottom:-1px;content:'';left:-1px;mix-blend-mode:multiply;position:absolute;right:-1px;top:-1px}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.mce-content-body td[data-mce-selected]::after,.mce-content-body th[data-mce-selected]::after{border-color:rgba(0,84,180,.7)}}.mce-content-body img::-moz-selection{background:0 0}.mce-content-body img::selection{background:0 0}.ephox-snooker-resizer-bar{background-color:#b4d7ff;opacity:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ephox-snooker-resizer-cols{cursor:col-resize}.ephox-snooker-resizer-rows{cursor:row-resize}.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging{opacity:1}.mce-spellchecker-word{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default;height:2rem}.mce-spellchecker-grammar{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc li{list-style-type:none}.mce-item-table:not([border]),.mce-item-table:not([border]) caption,.mce-item-table:not([border]) td,.mce-item-table:not([border]) th,.mce-item-table[border="0"],.mce-item-table[border="0"] caption,.mce-item-table[border="0"] td,.mce-item-table[border="0"] th,table[style*="border-width: 0px"],table[style*="border-width: 0px"] caption,table[style*="border-width: 0px"] td,table[style*="border-width: 0px"] th{border:1px dashed #bbb}.mce-visualblocks address,.mce-visualblocks article,.mce-visualblocks aside,.mce-visualblocks blockquote,.mce-visualblocks div:not([data-mce-bogus]),.mce-visualblocks dl,.mce-visualblocks figcaption,.mce-visualblocks figure,.mce-visualblocks h1,.mce-visualblocks h2,.mce-visualblocks h3,.mce-visualblocks h4,.mce-visualblocks h5,.mce-visualblocks h6,.mce-visualblocks hgroup,.mce-visualblocks ol,.mce-visualblocks p,.mce-visualblocks pre,.mce-visualblocks section,.mce-visualblocks ul{background-repeat:no-repeat;border:1px dashed #bbb;margin-left:3px;padding-top:10px}.mce-visualblocks p{background-image:url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7)}.mce-visualblocks h1{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==)}.mce-visualblocks h2{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==)}.mce-visualblocks h3{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7)}.mce-visualblocks h4{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==)}.mce-visualblocks h5{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==)}.mce-visualblocks h6{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==)}.mce-visualblocks div:not([data-mce-bogus]){background-image:url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7)}.mce-visualblocks section{background-image:url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=)}.mce-visualblocks article{background-image:url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7)}.mce-visualblocks blockquote{background-image:url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7)}.mce-visualblocks address{background-image:url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=)}.mce-visualblocks pre{background-image:url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==)}.mce-visualblocks figure{background-image:url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7)}.mce-visualblocks figcaption{border:1px dashed #bbb}.mce-visualblocks hgroup{background-image:url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7)}.mce-visualblocks aside{background-image:url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=)}.mce-visualblocks ul{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==)}.mce-visualblocks ol{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==)}.mce-visualblocks dl{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==)}.mce-visualblocks:not([dir=rtl]) address,.mce-visualblocks:not([dir=rtl]) article,.mce-visualblocks:not([dir=rtl]) aside,.mce-visualblocks:not([dir=rtl]) blockquote,.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]),.mce-visualblocks:not([dir=rtl]) dl,.mce-visualblocks:not([dir=rtl]) figcaption,.mce-visualblocks:not([dir=rtl]) figure,.mce-visualblocks:not([dir=rtl]) h1,.mce-visualblocks:not([dir=rtl]) h2,.mce-visualblocks:not([dir=rtl]) h3,.mce-visualblocks:not([dir=rtl]) h4,.mce-visualblocks:not([dir=rtl]) h5,.mce-visualblocks:not([dir=rtl]) h6,.mce-visualblocks:not([dir=rtl]) hgroup,.mce-visualblocks:not([dir=rtl]) ol,.mce-visualblocks:not([dir=rtl]) p,.mce-visualblocks:not([dir=rtl]) pre,.mce-visualblocks:not([dir=rtl]) section,.mce-visualblocks:not([dir=rtl]) ul{margin-left:3px}.mce-visualblocks[dir=rtl] address,.mce-visualblocks[dir=rtl] article,.mce-visualblocks[dir=rtl] aside,.mce-visualblocks[dir=rtl] blockquote,.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]),.mce-visualblocks[dir=rtl] dl,.mce-visualblocks[dir=rtl] figcaption,.mce-visualblocks[dir=rtl] figure,.mce-visualblocks[dir=rtl] h1,.mce-visualblocks[dir=rtl] h2,.mce-visualblocks[dir=rtl] h3,.mce-visualblocks[dir=rtl] h4,.mce-visualblocks[dir=rtl] h5,.mce-visualblocks[dir=rtl] h6,.mce-visualblocks[dir=rtl] hgroup,.mce-visualblocks[dir=rtl] ol,.mce-visualblocks[dir=rtl] p,.mce-visualblocks[dir=rtl] pre,.mce-visualblocks[dir=rtl] section,.mce-visualblocks[dir=rtl] ul{background-position-x:right;margin-right:3px}.mce-nbsp,.mce-shy{background:#aaa}.mce-shy::after{content:'-'} diff --git a/public/tinymce/skins/ui/oxide/content.min.css b/public/tinymce/skins/ui/oxide/content.min.css new file mode 100644 index 00000000..40b3378d --- /dev/null +++ b/public/tinymce/skins/ui/oxide/content.min.css @@ -0,0 +1,7 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +.mce-content-body .mce-item-anchor{background:transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;cursor:default;display:inline-block;height:12px!important;padding:0 2px;-webkit-user-modify:read-only;-moz-user-modify:read-only;-webkit-user-select:all;-moz-user-select:all;-ms-user-select:all;user-select:all;width:8px!important}.mce-content-body .mce-item-anchor[data-mce-selected]{outline-offset:1px}.tox-comments-visible .tox-comment{background-color:#fff0b7}.tox-comments-visible .tox-comment--active{background-color:#ffe168}.tox-checklist>li:not(.tox-checklist--hidden){list-style:none;margin:.25em 0}.tox-checklist>li:not(.tox-checklist--hidden)::before{content:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A");cursor:pointer;height:1em;margin-left:-1.5em;margin-top:.125em;position:absolute;width:1em}.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before{content:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A")}[dir=rtl] .tox-checklist>li:not(.tox-checklist--hidden)::before{margin-left:0;margin-right:-1.5em}code[class*=language-],pre[class*=language-]{color:#000;background:0 0;text-shadow:0 1px #fff;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection{text-shadow:none;background:#b3d4fc}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#9a6e3a;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.mce-content-body{overflow-wrap:break-word;word-wrap:break-word}.mce-content-body .mce-visual-caret{background-color:#000;background-color:currentColor;position:absolute}.mce-content-body .mce-visual-caret-hidden{display:none}.mce-content-body [data-mce-caret]{left:-1000px;margin:0;padding:0;position:absolute;right:auto;top:0}.mce-content-body .mce-offscreen-selection{left:-2000000px;max-width:1000000px;position:absolute}.mce-content-body [contentEditable=false]{cursor:default}.mce-content-body [contentEditable=true]{cursor:text}.tox-cursor-format-painter{cursor:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"),default}.mce-content-body figure.align-left{float:left}.mce-content-body figure.align-right{float:right}.mce-content-body figure.image.align-center{display:table;margin-left:auto;margin-right:auto}.mce-preview-object{border:1px solid gray;display:inline-block;line-height:0;margin:0 2px 0 2px;position:relative}.mce-preview-object .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.mce-preview-object[data-mce-selected="2"] .mce-shim{display:none}.mce-object{background:transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;border:1px dashed #aaa}.mce-pagebreak{border:1px dashed #aaa;cursor:default;display:block;height:5px;margin-top:15px;page-break-before:always;width:100%}@media print{.mce-pagebreak{border:0}}.tiny-pageembed .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.tiny-pageembed[data-mce-selected="2"] .mce-shim{display:none}.tiny-pageembed{display:inline-block;position:relative}.tiny-pageembed--16by9,.tiny-pageembed--1by1,.tiny-pageembed--21by9,.tiny-pageembed--4by3{display:block;overflow:hidden;padding:0;position:relative;width:100%}.tiny-pageembed--21by9{padding-top:42.857143%}.tiny-pageembed--16by9{padding-top:56.25%}.tiny-pageembed--4by3{padding-top:75%}.tiny-pageembed--1by1{padding-top:100%}.tiny-pageembed--16by9 iframe,.tiny-pageembed--1by1 iframe,.tiny-pageembed--21by9 iframe,.tiny-pageembed--4by3 iframe{border:0;height:100%;left:0;position:absolute;top:0;width:100%}.mce-content-body[data-mce-placeholder]{position:relative}.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before{color:rgba(34,47,62,.7);content:attr(data-mce-placeholder);position:absolute}.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before{left:1px}.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before{right:1px}.mce-content-body div.mce-resizehandle{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;height:10px;position:absolute;width:10px;z-index:10000}.mce-content-body div.mce-resizehandle:hover{background-color:#4099ff}.mce-content-body div.mce-resizehandle:nth-of-type(1){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(2){cursor:nesw-resize}.mce-content-body div.mce-resizehandle:nth-of-type(3){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(4){cursor:nesw-resize}.mce-content-body .mce-resize-backdrop{z-index:10000}.mce-content-body .mce-clonedresizable{cursor:default;opacity:.5;outline:1px dashed #000;position:absolute;z-index:10001}.mce-content-body .mce-clonedresizable.mce-resizetable-columns td,.mce-content-body .mce-clonedresizable.mce-resizetable-columns th{border:0}.mce-content-body .mce-resize-helper{background:#555;background:rgba(0,0,0,.75);border:1px;border-radius:3px;color:#fff;display:none;font-family:sans-serif;font-size:12px;line-height:14px;margin:5px 10px;padding:5px;position:absolute;white-space:nowrap;z-index:10002}.tox-rtc-user-selection{position:relative}.tox-rtc-user-cursor{bottom:0;cursor:default;position:absolute;top:0;width:2px}.tox-rtc-user-cursor::before{background-color:inherit;border-radius:50%;content:'';display:block;height:8px;position:absolute;right:-3px;top:-3px;width:8px}.tox-rtc-user-cursor:hover::after{background-color:inherit;border-radius:100px;box-sizing:border-box;color:#fff;content:attr(data-user);display:block;font-size:12px;font-weight:700;left:-5px;min-height:8px;min-width:8px;padding:0 12px;position:absolute;top:-11px;white-space:nowrap;z-index:1000}.tox-rtc-user-selection--1 .tox-rtc-user-cursor{background-color:#2dc26b}.tox-rtc-user-selection--2 .tox-rtc-user-cursor{background-color:#e03e2d}.tox-rtc-user-selection--3 .tox-rtc-user-cursor{background-color:#f1c40f}.tox-rtc-user-selection--4 .tox-rtc-user-cursor{background-color:#3598db}.tox-rtc-user-selection--5 .tox-rtc-user-cursor{background-color:#b96ad9}.tox-rtc-user-selection--6 .tox-rtc-user-cursor{background-color:#e67e23}.tox-rtc-user-selection--7 .tox-rtc-user-cursor{background-color:#aaa69d}.tox-rtc-user-selection--8 .tox-rtc-user-cursor{background-color:#f368e0}.tox-rtc-remote-image{background:#eaeaea url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A") no-repeat center center;border:1px solid #ccc;min-height:240px;min-width:320px}.mce-match-marker{background:#aaa;color:#fff}.mce-match-marker-selected{background:#39f;color:#fff}.mce-match-marker-selected::-moz-selection{background:#39f;color:#fff}.mce-match-marker-selected::selection{background:#39f;color:#fff}.mce-content-body audio[data-mce-selected],.mce-content-body embed[data-mce-selected],.mce-content-body img[data-mce-selected],.mce-content-body object[data-mce-selected],.mce-content-body table[data-mce-selected],.mce-content-body video[data-mce-selected]{outline:3px solid #b4d7ff}.mce-content-body hr[data-mce-selected]{outline:3px solid #b4d7ff;outline-offset:1px}.mce-content-body [contentEditable=false] [contentEditable=true]:focus{outline:3px solid #b4d7ff}.mce-content-body [contentEditable=false] [contentEditable=true]:hover{outline:3px solid #b4d7ff}.mce-content-body [contentEditable=false][data-mce-selected]{cursor:not-allowed;outline:3px solid #b4d7ff}.mce-content-body.mce-content-readonly [contentEditable=true]:focus,.mce-content-body.mce-content-readonly [contentEditable=true]:hover{outline:0}.mce-content-body [data-mce-selected=inline-boundary]{background-color:#b4d7ff}.mce-content-body .mce-edit-focus{outline:3px solid #b4d7ff}.mce-content-body td[data-mce-selected],.mce-content-body th[data-mce-selected]{position:relative}.mce-content-body td[data-mce-selected]::-moz-selection,.mce-content-body th[data-mce-selected]::-moz-selection{background:0 0}.mce-content-body td[data-mce-selected]::selection,.mce-content-body th[data-mce-selected]::selection{background:0 0}.mce-content-body td[data-mce-selected] *,.mce-content-body th[data-mce-selected] *{outline:0;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mce-content-body td[data-mce-selected]::after,.mce-content-body th[data-mce-selected]::after{background-color:rgba(180,215,255,.7);border:1px solid rgba(180,215,255,.7);bottom:-1px;content:'';left:-1px;mix-blend-mode:multiply;position:absolute;right:-1px;top:-1px}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.mce-content-body td[data-mce-selected]::after,.mce-content-body th[data-mce-selected]::after{border-color:rgba(0,84,180,.7)}}.mce-content-body img::-moz-selection{background:0 0}.mce-content-body img::selection{background:0 0}.ephox-snooker-resizer-bar{background-color:#b4d7ff;opacity:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ephox-snooker-resizer-cols{cursor:col-resize}.ephox-snooker-resizer-rows{cursor:row-resize}.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging{opacity:1}.mce-spellchecker-word{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default;height:2rem}.mce-spellchecker-grammar{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc li{list-style-type:none}.mce-item-table:not([border]),.mce-item-table:not([border]) caption,.mce-item-table:not([border]) td,.mce-item-table:not([border]) th,.mce-item-table[border="0"],.mce-item-table[border="0"] caption,.mce-item-table[border="0"] td,.mce-item-table[border="0"] th,table[style*="border-width: 0px"],table[style*="border-width: 0px"] caption,table[style*="border-width: 0px"] td,table[style*="border-width: 0px"] th{border:1px dashed #bbb}.mce-visualblocks address,.mce-visualblocks article,.mce-visualblocks aside,.mce-visualblocks blockquote,.mce-visualblocks div:not([data-mce-bogus]),.mce-visualblocks dl,.mce-visualblocks figcaption,.mce-visualblocks figure,.mce-visualblocks h1,.mce-visualblocks h2,.mce-visualblocks h3,.mce-visualblocks h4,.mce-visualblocks h5,.mce-visualblocks h6,.mce-visualblocks hgroup,.mce-visualblocks ol,.mce-visualblocks p,.mce-visualblocks pre,.mce-visualblocks section,.mce-visualblocks ul{background-repeat:no-repeat;border:1px dashed #bbb;margin-left:3px;padding-top:10px}.mce-visualblocks p{background-image:url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7)}.mce-visualblocks h1{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==)}.mce-visualblocks h2{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==)}.mce-visualblocks h3{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7)}.mce-visualblocks h4{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==)}.mce-visualblocks h5{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==)}.mce-visualblocks h6{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==)}.mce-visualblocks div:not([data-mce-bogus]){background-image:url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7)}.mce-visualblocks section{background-image:url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=)}.mce-visualblocks article{background-image:url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7)}.mce-visualblocks blockquote{background-image:url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7)}.mce-visualblocks address{background-image:url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=)}.mce-visualblocks pre{background-image:url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==)}.mce-visualblocks figure{background-image:url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7)}.mce-visualblocks figcaption{border:1px dashed #bbb}.mce-visualblocks hgroup{background-image:url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7)}.mce-visualblocks aside{background-image:url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=)}.mce-visualblocks ul{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==)}.mce-visualblocks ol{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==)}.mce-visualblocks dl{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==)}.mce-visualblocks:not([dir=rtl]) address,.mce-visualblocks:not([dir=rtl]) article,.mce-visualblocks:not([dir=rtl]) aside,.mce-visualblocks:not([dir=rtl]) blockquote,.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]),.mce-visualblocks:not([dir=rtl]) dl,.mce-visualblocks:not([dir=rtl]) figcaption,.mce-visualblocks:not([dir=rtl]) figure,.mce-visualblocks:not([dir=rtl]) h1,.mce-visualblocks:not([dir=rtl]) h2,.mce-visualblocks:not([dir=rtl]) h3,.mce-visualblocks:not([dir=rtl]) h4,.mce-visualblocks:not([dir=rtl]) h5,.mce-visualblocks:not([dir=rtl]) h6,.mce-visualblocks:not([dir=rtl]) hgroup,.mce-visualblocks:not([dir=rtl]) ol,.mce-visualblocks:not([dir=rtl]) p,.mce-visualblocks:not([dir=rtl]) pre,.mce-visualblocks:not([dir=rtl]) section,.mce-visualblocks:not([dir=rtl]) ul{margin-left:3px}.mce-visualblocks[dir=rtl] address,.mce-visualblocks[dir=rtl] article,.mce-visualblocks[dir=rtl] aside,.mce-visualblocks[dir=rtl] blockquote,.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]),.mce-visualblocks[dir=rtl] dl,.mce-visualblocks[dir=rtl] figcaption,.mce-visualblocks[dir=rtl] figure,.mce-visualblocks[dir=rtl] h1,.mce-visualblocks[dir=rtl] h2,.mce-visualblocks[dir=rtl] h3,.mce-visualblocks[dir=rtl] h4,.mce-visualblocks[dir=rtl] h5,.mce-visualblocks[dir=rtl] h6,.mce-visualblocks[dir=rtl] hgroup,.mce-visualblocks[dir=rtl] ol,.mce-visualblocks[dir=rtl] p,.mce-visualblocks[dir=rtl] pre,.mce-visualblocks[dir=rtl] section,.mce-visualblocks[dir=rtl] ul{background-position-x:right;margin-right:3px}.mce-nbsp,.mce-shy{background:#aaa}.mce-shy::after{content:'-'}body{font-family:sans-serif}table{border-collapse:collapse} diff --git a/public/tinymce/skins/ui/oxide/content.mobile.css b/public/tinymce/skins/ui/oxide/content.mobile.css new file mode 100644 index 00000000..4bdb8bab --- /dev/null +++ b/public/tinymce/skins/ui/oxide/content.mobile.css @@ -0,0 +1,29 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +.tinymce-mobile-unfocused-selections .tinymce-mobile-unfocused-selection { + /* Note: this file is used inside the content, so isn't part of theming */ + background-color: green; + display: inline-block; + opacity: 0.5; + position: absolute; +} +body { + -webkit-text-size-adjust: none; +} +body img { + /* this is related to the content margin */ + max-width: 96vw; +} +body table img { + max-width: 95%; +} +body { + font-family: sans-serif; +} +table { + border-collapse: collapse; +} diff --git a/public/tinymce/skins/ui/oxide/content.mobile.min.css b/public/tinymce/skins/ui/oxide/content.mobile.min.css new file mode 100644 index 00000000..35f7dc08 --- /dev/null +++ b/public/tinymce/skins/ui/oxide/content.mobile.min.css @@ -0,0 +1,7 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +.tinymce-mobile-unfocused-selections .tinymce-mobile-unfocused-selection{background-color:green;display:inline-block;opacity:.5;position:absolute}body{-webkit-text-size-adjust:none}body img{max-width:96vw}body table img{max-width:95%}body{font-family:sans-serif}table{border-collapse:collapse} diff --git a/public/tinymce/skins/ui/oxide/fonts/tinymce-mobile.woff b/public/tinymce/skins/ui/oxide/fonts/tinymce-mobile.woff new file mode 100644 index 00000000..1e3be038 Binary files /dev/null and b/public/tinymce/skins/ui/oxide/fonts/tinymce-mobile.woff differ diff --git a/public/tinymce/skins/ui/oxide/skin.css b/public/tinymce/skins/ui/oxide/skin.css new file mode 100644 index 00000000..4b47a758 --- /dev/null +++ b/public/tinymce/skins/ui/oxide/skin.css @@ -0,0 +1,3034 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +.tox { + box-shadow: none; + box-sizing: content-box; + color: #222f3e; + cursor: auto; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-size: 16px; + font-style: normal; + font-weight: 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; +} +.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; +} +.tox:not([dir=rtl]) { + direction: ltr; + text-align: left; +} +.tox[dir=rtl] { + 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; +} +.tox-tinymce-inline { + border: none; + box-shadow: none; +} +.tox-tinymce-inline .tox-editor-header { + background-color: transparent; + border: 1px solid #cccccc; + border-radius: 0; + box-shadow: none; +} +.tox-tinymce-aux { + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + z-index: 1300; +} +.tox-tinymce *:focus, +.tox-tinymce-aux *:focus { + outline: none; +} +button::-moz-focus-inner { + border: 0; +} +.tox .accessibility-issue__header { + align-items: center; + display: flex; + margin-bottom: 4px; +} +.tox .accessibility-issue__description { + align-items: stretch; + border: 1px solid #cccccc; + border-radius: 3px; + display: flex; + justify-content: space-between; +} +.tox .accessibility-issue__description > div { + padding-bottom: 4px; +} +.tox .accessibility-issue__description > div > div { + align-items: center; + display: flex; + margin-bottom: 4px; +} +.tox .accessibility-issue__description > *:last-child:not(:only-child) { + border-color: #cccccc; + border-style: solid; +} +.tox .accessibility-issue__repair { + margin-top: 16px; +} +.tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description { + background-color: rgba(32, 122, 183, 0.1); + border-color: rgba(32, 122, 183, 0.4); + color: #222f3e; +} +.tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description > *:last-child { + border-color: rgba(32, 122, 183, 0.4); +} +.tox .tox-dialog__body-content .accessibility-issue--info .tox-form__group h2 { + color: #207ab7; +} +.tox .tox-dialog__body-content .accessibility-issue--info .tox-icon svg { + fill: #207ab7; +} +.tox .tox-dialog__body-content .accessibility-issue--info a .tox-icon { + color: #207ab7; +} +.tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description { + background-color: rgba(255, 165, 0, 0.1); + border-color: rgba(255, 165, 0, 0.5); + color: #222f3e; +} +.tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description > *:last-child { + border-color: rgba(255, 165, 0, 0.5); +} +.tox .tox-dialog__body-content .accessibility-issue--warn .tox-form__group h2 { + color: #cc8500; +} +.tox .tox-dialog__body-content .accessibility-issue--warn .tox-icon svg { + fill: #cc8500; +} +.tox .tox-dialog__body-content .accessibility-issue--warn a .tox-icon { + color: #cc8500; +} +.tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description { + background-color: rgba(204, 0, 0, 0.1); + border-color: rgba(204, 0, 0, 0.4); + color: #222f3e; +} +.tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description > *:last-child { + border-color: rgba(204, 0, 0, 0.4); +} +.tox .tox-dialog__body-content .accessibility-issue--error .tox-form__group h2 { + color: #c00; +} +.tox .tox-dialog__body-content .accessibility-issue--error .tox-icon svg { + fill: #c00; +} +.tox .tox-dialog__body-content .accessibility-issue--error a .tox-icon { + color: #c00; +} +.tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description { + background-color: rgba(120, 171, 70, 0.1); + border-color: rgba(120, 171, 70, 0.4); + color: #222f3e; +} +.tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description > *:last-child { + border-color: rgba(120, 171, 70, 0.4); +} +.tox .tox-dialog__body-content .accessibility-issue--success .tox-form__group h2 { + color: #78AB46; +} +.tox .tox-dialog__body-content .accessibility-issue--success .tox-icon svg { + fill: #78AB46; +} +.tox .tox-dialog__body-content .accessibility-issue--success a .tox-icon { + color: #78AB46; +} +.tox .tox-dialog__body-content .accessibility-issue__header h1, +.tox .tox-dialog__body-content .tox-form__group .accessibility-issue__description h2 { + margin-top: 0; +} +.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__header .tox-button { + margin-left: 4px; +} +.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__header > *:nth-last-child(2) { + margin-left: auto; +} +.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__description { + padding: 4px 4px 4px 8px; +} +.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__description > *:last-child { + border-left-width: 1px; + padding-left: 4px; +} +.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__header .tox-button { + margin-right: 4px; +} +.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__header > *:nth-last-child(2) { + margin-right: auto; +} +.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__description { + padding: 4px 8px 4px 4px; +} +.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__description > *:last-child { + border-right-width: 1px; + padding-right: 4px; +} +.tox .tox-anchorbar { + display: flex; + flex: 0 0 auto; +} +.tox .tox-bar { + display: flex; + flex: 0 0 auto; +} +.tox .tox-button { + background-color: #207ab7; + background-image: none; + background-position: 0 0; + background-repeat: repeat; + border-color: #207ab7; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + color: #fff; + cursor: pointer; + display: inline-block; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-size: 14px; + font-style: normal; + font-weight: bold; + letter-spacing: normal; + line-height: 24px; + margin: 0; + outline: none; + padding: 4px 16px; + text-align: center; + text-decoration: none; + text-transform: none; + white-space: nowrap; +} +.tox .tox-button[disabled] { + background-color: #207ab7; + background-image: none; + border-color: #207ab7; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); + cursor: not-allowed; +} +.tox .tox-button:focus:not(:disabled) { + background-color: #1c6ca1; + background-image: none; + border-color: #1c6ca1; + box-shadow: none; + color: #fff; +} +.tox .tox-button:hover:not(:disabled) { + background-color: #1c6ca1; + background-image: none; + border-color: #1c6ca1; + box-shadow: none; + color: #fff; +} +.tox .tox-button:active:not(:disabled) { + background-color: #185d8c; + background-image: none; + border-color: #185d8c; + box-shadow: none; + color: #fff; +} +.tox .tox-button--secondary { + background-color: #f0f0f0; + background-image: none; + background-position: 0 0; + background-repeat: repeat; + border-color: #f0f0f0; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + color: #222f3e; + font-size: 14px; + font-style: normal; + font-weight: bold; + letter-spacing: normal; + outline: none; + padding: 4px 16px; + text-decoration: none; + text-transform: none; +} +.tox .tox-button--secondary[disabled] { + background-color: #f0f0f0; + background-image: none; + border-color: #f0f0f0; + box-shadow: none; + color: rgba(34, 47, 62, 0.5); +} +.tox .tox-button--secondary:focus:not(:disabled) { + background-color: #e3e3e3; + background-image: none; + border-color: #e3e3e3; + box-shadow: none; + color: #222f3e; +} +.tox .tox-button--secondary:hover:not(:disabled) { + background-color: #e3e3e3; + background-image: none; + border-color: #e3e3e3; + box-shadow: none; + color: #222f3e; +} +.tox .tox-button--secondary:active:not(:disabled) { + background-color: #d6d6d6; + background-image: none; + border-color: #d6d6d6; + box-shadow: none; + color: #222f3e; +} +.tox .tox-button--icon, +.tox .tox-button.tox-button--icon, +.tox .tox-button.tox-button--secondary.tox-button--icon { + padding: 4px; +} +.tox .tox-button--icon .tox-icon svg, +.tox .tox-button.tox-button--icon .tox-icon svg, +.tox .tox-button.tox-button--secondary.tox-button--icon .tox-icon svg { + display: block; + fill: currentColor; +} +.tox .tox-button-link { + background: 0; + border: none; + box-sizing: border-box; + cursor: pointer; + display: inline-block; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-size: 16px; + font-weight: normal; + line-height: 1.3; + margin: 0; + padding: 0; + white-space: nowrap; +} +.tox .tox-button-link--sm { + font-size: 14px; +} +.tox .tox-button--naked { + background-color: transparent; + border-color: transparent; + box-shadow: unset; + color: #222f3e; +} +.tox .tox-button--naked[disabled] { + background-color: #f0f0f0; + border-color: #f0f0f0; + box-shadow: none; + color: rgba(34, 47, 62, 0.5); +} +.tox .tox-button--naked:hover:not(:disabled) { + background-color: #e3e3e3; + border-color: #e3e3e3; + box-shadow: none; + color: #222f3e; +} +.tox .tox-button--naked:focus:not(:disabled) { + background-color: #e3e3e3; + border-color: #e3e3e3; + box-shadow: none; + color: #222f3e; +} +.tox .tox-button--naked:active:not(:disabled) { + background-color: #d6d6d6; + border-color: #d6d6d6; + box-shadow: none; + color: #222f3e; +} +.tox .tox-button--naked .tox-icon svg { + fill: currentColor; +} +.tox .tox-button--naked.tox-button--icon:hover:not(:disabled) { + color: #222f3e; +} +.tox .tox-checkbox { + align-items: center; + border-radius: 3px; + cursor: pointer; + display: flex; + height: 36px; + min-width: 36px; +} +.tox .tox-checkbox__input { + /* Hide from view but visible to screen readers */ + height: 1px; + overflow: hidden; + position: absolute; + top: auto; + width: 1px; +} +.tox .tox-checkbox__icons { + align-items: center; + border-radius: 3px; + box-shadow: 0 0 0 2px transparent; + box-sizing: content-box; + display: flex; + height: 24px; + justify-content: center; + padding: calc(4px - 1px); + width: 24px; +} +.tox .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { + display: block; + fill: rgba(34, 47, 62, 0.3); +} +.tox .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { + display: none; + fill: #207ab7; +} +.tox .tox-checkbox__icons .tox-checkbox-icon__checked svg { + display: none; + fill: #207ab7; +} +.tox .tox-checkbox--disabled { + color: rgba(34, 47, 62, 0.5); + cursor: not-allowed; +} +.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__checked svg { + fill: rgba(34, 47, 62, 0.5); +} +.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { + fill: rgba(34, 47, 62, 0.5); +} +.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { + fill: rgba(34, 47, 62, 0.5); +} +.tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { + display: none; +} +.tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__checked svg { + display: block; +} +.tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { + display: none; +} +.tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { + display: block; +} +.tox input.tox-checkbox__input:focus + .tox-checkbox__icons { + border-radius: 3px; + box-shadow: inset 0 0 0 1px #207ab7; + padding: calc(4px - 1px); +} +.tox:not([dir=rtl]) .tox-checkbox__label { + margin-left: 4px; +} +.tox:not([dir=rtl]) .tox-checkbox__input { + left: -10000px; +} +.tox:not([dir=rtl]) .tox-bar .tox-checkbox { + margin-left: 4px; +} +.tox[dir=rtl] .tox-checkbox__label { + margin-right: 4px; +} +.tox[dir=rtl] .tox-checkbox__input { + right: -10000px; +} +.tox[dir=rtl] .tox-bar .tox-checkbox { + margin-right: 4px; +} +.tox { + /* stylelint-disable-next-line no-descending-specificity */ +} +.tox .tox-collection--toolbar .tox-collection__group { + display: flex; + padding: 0; +} +.tox .tox-collection--grid .tox-collection__group { + display: flex; + flex-wrap: wrap; + max-height: 208px; + overflow-x: hidden; + overflow-y: auto; + padding: 0; +} +.tox .tox-collection--list .tox-collection__group { + border-bottom-width: 0; + border-color: #cccccc; + border-left-width: 0; + border-right-width: 0; + border-style: solid; + border-top-width: 1px; + padding: 4px 0; +} +.tox .tox-collection--list .tox-collection__group:first-child { + border-top-width: 0; +} +.tox .tox-collection__group-heading { + background-color: #e6e6e6; + color: rgba(34, 47, 62, 0.7); + cursor: default; + font-size: 12px; + font-style: normal; + font-weight: normal; + margin-bottom: 4px; + margin-top: -4px; + padding: 4px 8px; + text-transform: none; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.tox .tox-collection__item { + align-items: center; + color: #222f3e; + cursor: pointer; + display: flex; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.tox .tox-collection--list .tox-collection__item { + padding: 4px 8px; +} +.tox .tox-collection--toolbar .tox-collection__item { + border-radius: 3px; + padding: 4px; +} +.tox .tox-collection--grid .tox-collection__item { + border-radius: 3px; + padding: 4px; +} +.tox .tox-collection--list .tox-collection__item--enabled { + background-color: #fff; + color: #222f3e; +} +.tox .tox-collection--list .tox-collection__item--active { + background-color: #dee0e2; +} +.tox .tox-collection--toolbar .tox-collection__item--enabled { + background-color: #c8cbcf; + color: #222f3e; +} +.tox .tox-collection--toolbar .tox-collection__item--active { + background-color: #dee0e2; +} +.tox .tox-collection--grid .tox-collection__item--enabled { + background-color: #c8cbcf; + color: #222f3e; +} +.tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled) { + background-color: #dee0e2; + color: #222f3e; +} +.tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled) { + color: #222f3e; +} +.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled) { + color: #222f3e; +} +.tox .tox-collection__item--state-disabled { + background-color: transparent; + color: rgba(34, 47, 62, 0.5); + cursor: not-allowed; +} +.tox .tox-collection__item-icon, +.tox .tox-collection__item-checkmark { + align-items: center; + display: flex; + height: 24px; + justify-content: center; + width: 24px; +} +.tox .tox-collection__item-icon svg, +.tox .tox-collection__item-checkmark svg { + fill: currentColor; +} +.tox .tox-collection--toolbar-lg .tox-collection__item-icon { + height: 48px; + width: 48px; +} +.tox .tox-collection__item-label { + color: currentColor; + display: inline-block; + flex: 1; + -ms-flex-preferred-size: auto; + font-size: 14px; + font-style: normal; + font-weight: normal; + line-height: 24px; + text-transform: none; + word-break: break-all; +} +.tox .tox-collection__item-accessory { + color: rgba(34, 47, 62, 0.7); + display: inline-block; + font-size: 14px; + height: 24px; + line-height: 24px; + text-transform: none; +} +.tox .tox-collection__item-caret { + align-items: center; + display: flex; + min-height: 24px; +} +.tox .tox-collection__item-caret::after { + content: ''; + font-size: 0; + min-height: inherit; +} +.tox .tox-collection__item-caret svg { + fill: #222f3e; +} +.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-checkmark svg { + display: none; +} +.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-accessory + .tox-collection__item-checkmark { + display: none; +} +.tox .tox-collection--horizontal { + background-color: #fff; + border: 1px solid #cccccc; + border-radius: 3px; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15); + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: nowrap; + margin-bottom: 0; + overflow-x: auto; + padding: 0; +} +.tox .tox-collection--horizontal .tox-collection__group { + align-items: center; + display: flex; + flex-wrap: nowrap; + margin: 0; + padding: 0 4px; +} +.tox .tox-collection--horizontal .tox-collection__item { + height: 34px; + margin: 2px 0 3px 0; + padding: 0 4px; +} +.tox .tox-collection--horizontal .tox-collection__item-label { + white-space: nowrap; +} +.tox .tox-collection--horizontal .tox-collection__item-caret { + margin-left: 4px; +} +.tox .tox-collection__item-container { + display: flex; +} +.tox .tox-collection__item-container--row { + align-items: center; + flex: 1 1 auto; + flex-direction: row; +} +.tox .tox-collection__item-container--row.tox-collection__item-container--align-left { + margin-right: auto; +} +.tox .tox-collection__item-container--row.tox-collection__item-container--align-right { + justify-content: flex-end; + margin-left: auto; +} +.tox .tox-collection__item-container--row.tox-collection__item-container--valign-top { + align-items: flex-start; + margin-bottom: auto; +} +.tox .tox-collection__item-container--row.tox-collection__item-container--valign-middle { + align-items: center; +} +.tox .tox-collection__item-container--row.tox-collection__item-container--valign-bottom { + align-items: flex-end; + margin-top: auto; +} +.tox .tox-collection__item-container--column { + -ms-grid-row-align: center; + align-self: center; + flex: 1 1 auto; + flex-direction: column; +} +.tox .tox-collection__item-container--column.tox-collection__item-container--align-left { + align-items: flex-start; +} +.tox .tox-collection__item-container--column.tox-collection__item-container--align-right { + align-items: flex-end; +} +.tox .tox-collection__item-container--column.tox-collection__item-container--valign-top { + align-self: flex-start; +} +.tox .tox-collection__item-container--column.tox-collection__item-container--valign-middle { + -ms-grid-row-align: center; + align-self: center; +} +.tox .tox-collection__item-container--column.tox-collection__item-container--valign-bottom { + align-self: flex-end; +} +.tox:not([dir=rtl]) .tox-collection--horizontal .tox-collection__group:not(:last-of-type) { + border-right: 1px solid #cccccc; +} +.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item > *:not(:first-child) { + margin-left: 8px; +} +.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item > .tox-collection__item-label:first-child { + margin-left: 4px; +} +.tox:not([dir=rtl]) .tox-collection__item-accessory { + margin-left: 16px; + text-align: right; +} +.tox:not([dir=rtl]) .tox-collection .tox-collection__item-caret { + margin-left: 16px; +} +.tox[dir=rtl] .tox-collection--horizontal .tox-collection__group:not(:last-of-type) { + border-left: 1px solid #cccccc; +} +.tox[dir=rtl] .tox-collection--list .tox-collection__item > *:not(:first-child) { + margin-right: 8px; +} +.tox[dir=rtl] .tox-collection--list .tox-collection__item > .tox-collection__item-label:first-child { + margin-right: 4px; +} +.tox[dir=rtl] .tox-collection__item-icon-rtl { + /* stylelint-disable-next-line no-descending-specificity */ +} +.tox[dir=rtl] .tox-collection__item-icon-rtl .tox-collection__item-icon svg { + transform: rotateY(180deg); +} +.tox[dir=rtl] .tox-collection__item-accessory { + margin-right: 16px; + text-align: left; +} +.tox[dir=rtl] .tox-collection .tox-collection__item-caret { + margin-right: 16px; + transform: rotateY(180deg); +} +.tox[dir=rtl] .tox-collection--horizontal .tox-collection__item-caret { + margin-right: 4px; +} +.tox .tox-color-picker-container { + display: flex; + flex-direction: row; + height: 225px; + margin: 0; +} +.tox .tox-sv-palette { + box-sizing: border-box; + display: flex; + height: 100%; +} +.tox .tox-sv-palette-spectrum { + height: 100%; +} +.tox .tox-sv-palette, +.tox .tox-sv-palette-spectrum { + width: 225px; +} +.tox .tox-sv-palette-thumb { + background: none; + border: 1px solid black; + border-radius: 50%; + box-sizing: content-box; + height: 12px; + position: absolute; + width: 12px; +} +.tox .tox-sv-palette-inner-thumb { + border: 1px solid white; + border-radius: 50%; + height: 10px; + position: absolute; + width: 10px; +} +.tox .tox-hue-slider { + box-sizing: border-box; + height: 100%; + width: 25px; +} +.tox .tox-hue-slider-spectrum { + background: linear-gradient(to bottom, #f00, #ff0080, #f0f, #8000ff, #00f, #0080ff, #0ff, #00ff80, #0f0, #80ff00, #ff0, #ff8000, #f00); + height: 100%; + width: 100%; +} +.tox .tox-hue-slider, +.tox .tox-hue-slider-spectrum { + width: 20px; +} +.tox .tox-hue-slider-thumb { + background: white; + border: 1px solid black; + box-sizing: content-box; + height: 4px; + width: 100%; +} +.tox .tox-rgb-form { + display: flex; + flex-direction: column; + justify-content: space-between; +} +.tox .tox-rgb-form div { + align-items: center; + display: flex; + justify-content: space-between; + margin-bottom: 5px; + width: inherit; +} +.tox .tox-rgb-form input { + width: 6em; +} +.tox .tox-rgb-form input.tox-invalid { + /* Need !important to override Chrome's focus styling unfortunately */ + border: 1px solid red !important; +} +.tox .tox-rgb-form .tox-rgba-preview { + border: 1px solid black; + flex-grow: 2; + margin-bottom: 0; +} +.tox:not([dir=rtl]) .tox-sv-palette { + margin-right: 15px; +} +.tox:not([dir=rtl]) .tox-hue-slider { + margin-right: 15px; +} +.tox:not([dir=rtl]) .tox-hue-slider-thumb { + margin-left: -1px; +} +.tox:not([dir=rtl]) .tox-rgb-form label { + margin-right: 0.5em; +} +.tox[dir=rtl] .tox-sv-palette { + margin-left: 15px; +} +.tox[dir=rtl] .tox-hue-slider { + margin-left: 15px; +} +.tox[dir=rtl] .tox-hue-slider-thumb { + margin-right: -1px; +} +.tox[dir=rtl] .tox-rgb-form label { + margin-left: 0.5em; +} +.tox .tox-toolbar .tox-swatches, +.tox .tox-toolbar__primary .tox-swatches, +.tox .tox-toolbar__overflow .tox-swatches { + margin: 2px 0 3px 4px; +} +.tox .tox-collection--list .tox-collection__group .tox-swatches-menu { + border: 0; + margin: -4px 0; +} +.tox .tox-swatches__row { + display: flex; +} +.tox .tox-swatch { + height: 30px; + transition: transform 0.15s, box-shadow 0.15s; + width: 30px; +} +.tox .tox-swatch:hover, +.tox .tox-swatch:focus { + box-shadow: 0 0 0 1px rgba(127, 127, 127, 0.3) inset; + transform: scale(0.8); +} +.tox .tox-swatch--remove { + align-items: center; + display: flex; + justify-content: center; +} +.tox .tox-swatch--remove svg path { + stroke: #e74c3c; +} +.tox .tox-swatches__picker-btn { + align-items: center; + background-color: transparent; + border: 0; + cursor: pointer; + display: flex; + height: 30px; + justify-content: center; + outline: none; + padding: 0; + width: 30px; +} +.tox .tox-swatches__picker-btn svg { + height: 24px; + width: 24px; +} +.tox .tox-swatches__picker-btn:hover { + background: #dee0e2; +} +.tox:not([dir=rtl]) .tox-swatches__picker-btn { + margin-left: auto; +} +.tox[dir=rtl] .tox-swatches__picker-btn { + margin-right: auto; +} +.tox .tox-comment-thread { + background: #fff; + position: relative; +} +.tox .tox-comment-thread > *:not(:first-child) { + margin-top: 8px; +} +.tox .tox-comment { + background: #fff; + border: 1px solid #cccccc; + border-radius: 3px; + box-shadow: 0 4px 8px 0 rgba(34, 47, 62, 0.1); + padding: 8px 8px 16px 8px; + position: relative; +} +.tox .tox-comment__header { + align-items: center; + color: #222f3e; + display: flex; + justify-content: space-between; +} +.tox .tox-comment__date { + color: rgba(34, 47, 62, 0.7); + font-size: 12px; +} +.tox .tox-comment__body { + color: #222f3e; + font-size: 14px; + font-style: normal; + font-weight: normal; + line-height: 1.3; + margin-top: 8px; + position: relative; + text-transform: initial; +} +.tox .tox-comment__body textarea { + resize: none; + white-space: normal; + width: 100%; +} +.tox .tox-comment__expander { + padding-top: 8px; +} +.tox .tox-comment__expander p { + color: rgba(34, 47, 62, 0.7); + font-size: 14px; + font-style: normal; +} +.tox .tox-comment__body p { + margin: 0; +} +.tox .tox-comment__buttonspacing { + padding-top: 16px; + text-align: center; +} +.tox .tox-comment-thread__overlay::after { + background: #fff; + bottom: 0; + content: ""; + display: flex; + left: 0; + opacity: 0.9; + position: absolute; + right: 0; + top: 0; + z-index: 5; +} +.tox .tox-comment__reply { + display: flex; + flex-shrink: 0; + flex-wrap: wrap; + justify-content: flex-end; + margin-top: 8px; +} +.tox .tox-comment__reply > *:first-child { + margin-bottom: 8px; + width: 100%; +} +.tox .tox-comment__edit { + display: flex; + flex-wrap: wrap; + justify-content: flex-end; + margin-top: 16px; +} +.tox .tox-comment__gradient::after { + background: linear-gradient(rgba(255, 255, 255, 0), #fff); + bottom: 0; + content: ""; + display: block; + height: 5em; + margin-top: -40px; + position: absolute; + width: 100%; +} +.tox .tox-comment__overlay { + background: #fff; + bottom: 0; + display: flex; + flex-direction: column; + flex-grow: 1; + left: 0; + opacity: 0.9; + position: absolute; + right: 0; + text-align: center; + top: 0; + z-index: 5; +} +.tox .tox-comment__loading-text { + align-items: center; + color: #222f3e; + display: flex; + flex-direction: column; + position: relative; +} +.tox .tox-comment__loading-text > div { + padding-bottom: 16px; +} +.tox .tox-comment__overlaytext { + bottom: 0; + flex-direction: column; + font-size: 14px; + left: 0; + padding: 1em; + position: absolute; + right: 0; + top: 0; + z-index: 10; +} +.tox .tox-comment__overlaytext p { + background-color: #fff; + box-shadow: 0 0 8px 8px #fff; + color: #222f3e; + text-align: center; +} +.tox .tox-comment__overlaytext div:nth-of-type(2) { + font-size: 0.8em; +} +.tox .tox-comment__busy-spinner { + align-items: center; + background-color: #fff; + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 20; +} +.tox .tox-comment__scroll { + display: flex; + flex-direction: column; + flex-shrink: 1; + overflow: auto; +} +.tox .tox-conversations { + margin: 8px; +} +.tox:not([dir=rtl]) .tox-comment__edit { + margin-left: 8px; +} +.tox:not([dir=rtl]) .tox-comment__buttonspacing > *:last-child, +.tox:not([dir=rtl]) .tox-comment__edit > *:last-child, +.tox:not([dir=rtl]) .tox-comment__reply > *:last-child { + margin-left: 8px; +} +.tox[dir=rtl] .tox-comment__edit { + margin-right: 8px; +} +.tox[dir=rtl] .tox-comment__buttonspacing > *:last-child, +.tox[dir=rtl] .tox-comment__edit > *:last-child, +.tox[dir=rtl] .tox-comment__reply > *:last-child { + margin-right: 8px; +} +.tox .tox-user { + align-items: center; + display: flex; +} +.tox .tox-user__avatar svg { + fill: rgba(34, 47, 62, 0.7); +} +.tox .tox-user__name { + color: rgba(34, 47, 62, 0.7); + font-size: 12px; + font-style: normal; + font-weight: bold; + text-transform: uppercase; +} +.tox:not([dir=rtl]) .tox-user__avatar svg { + margin-right: 8px; +} +.tox:not([dir=rtl]) .tox-user__avatar + .tox-user__name { + margin-left: 8px; +} +.tox[dir=rtl] .tox-user__avatar svg { + margin-left: 8px; +} +.tox[dir=rtl] .tox-user__avatar + .tox-user__name { + margin-right: 8px; +} +.tox .tox-dialog-wrap { + align-items: center; + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: fixed; + right: 0; + top: 0; + z-index: 1100; +} +.tox .tox-dialog-wrap__backdrop { + background-color: rgba(255, 255, 255, 0.75); + bottom: 0; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 1; +} +.tox .tox-dialog-wrap__backdrop--opaque { + background-color: #fff; +} +.tox .tox-dialog { + background-color: #fff; + border-color: #cccccc; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: 0 16px 16px -10px rgba(34, 47, 62, 0.15), 0 0 40px 1px rgba(34, 47, 62, 0.15); + display: flex; + flex-direction: column; + max-height: 100%; + max-width: 480px; + overflow: hidden; + position: relative; + width: 95vw; + z-index: 2; +} +@media only screen and (max-width:767px) { + body:not(.tox-force-desktop) .tox .tox-dialog { + align-self: flex-start; + margin: 8px auto; + width: calc(100vw - 16px); + } +} +.tox .tox-dialog-inline { + z-index: 1100; +} +.tox .tox-dialog__header { + align-items: center; + background-color: #fff; + border-bottom: none; + color: #222f3e; + display: flex; + font-size: 16px; + justify-content: space-between; + padding: 8px 16px 0 16px; + position: relative; +} +.tox .tox-dialog__header .tox-button { + z-index: 1; +} +.tox .tox-dialog__draghandle { + cursor: grab; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +.tox .tox-dialog__draghandle:active { + cursor: grabbing; +} +.tox .tox-dialog__dismiss { + margin-left: auto; +} +.tox .tox-dialog__title { + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-size: 20px; + font-style: normal; + font-weight: normal; + line-height: 1.3; + margin: 0; + text-transform: none; +} +.tox .tox-dialog__body { + color: #222f3e; + display: flex; + flex: 1; + -ms-flex-preferred-size: auto; + font-size: 16px; + font-style: normal; + font-weight: normal; + line-height: 1.3; + min-width: 0; + text-align: left; + text-transform: none; +} +@media only screen and (max-width:767px) { + body:not(.tox-force-desktop) .tox .tox-dialog__body { + flex-direction: column; + } +} +.tox .tox-dialog__body-nav { + align-items: flex-start; + display: flex; + flex-direction: column; + padding: 16px 16px; +} +@media only screen and (max-width:767px) { + body:not(.tox-force-desktop) .tox .tox-dialog__body-nav { + flex-direction: row; + -webkit-overflow-scrolling: touch; + overflow-x: auto; + padding-bottom: 0; + } +} +.tox .tox-dialog__body-nav-item { + border-bottom: 2px solid transparent; + color: rgba(34, 47, 62, 0.7); + display: inline-block; + font-size: 14px; + line-height: 1.3; + margin-bottom: 8px; + text-decoration: none; + white-space: nowrap; +} +.tox .tox-dialog__body-nav-item:focus { + background-color: rgba(32, 122, 183, 0.1); +} +.tox .tox-dialog__body-nav-item--active { + border-bottom: 2px solid #207ab7; + color: #207ab7; +} +.tox .tox-dialog__body-content { + box-sizing: border-box; + display: flex; + flex: 1; + flex-direction: column; + -ms-flex-preferred-size: auto; + max-height: 650px; + overflow: auto; + -webkit-overflow-scrolling: touch; + padding: 16px 16px; +} +.tox .tox-dialog__body-content > * { + margin-bottom: 0; + margin-top: 16px; +} +.tox .tox-dialog__body-content > *:first-child { + margin-top: 0; +} +.tox .tox-dialog__body-content > *:last-child { + margin-bottom: 0; +} +.tox .tox-dialog__body-content > *:only-child { + margin-bottom: 0; + margin-top: 0; +} +.tox .tox-dialog__body-content a { + color: #207ab7; + cursor: pointer; + text-decoration: none; +} +.tox .tox-dialog__body-content a:hover, +.tox .tox-dialog__body-content a:focus { + color: #185d8c; + text-decoration: none; +} +.tox .tox-dialog__body-content a:active { + color: #185d8c; + text-decoration: none; +} +.tox .tox-dialog__body-content svg { + fill: #222f3e; +} +.tox .tox-dialog__body-content ul { + display: block; + list-style-type: disc; + margin-bottom: 16px; + -webkit-margin-end: 0; + margin-inline-end: 0; + -webkit-margin-start: 0; + margin-inline-start: 0; + -webkit-padding-start: 2.5rem; + padding-inline-start: 2.5rem; +} +.tox .tox-dialog__body-content .tox-form__group h1 { + color: #222f3e; + font-size: 20px; + font-style: normal; + font-weight: bold; + letter-spacing: normal; + margin-bottom: 16px; + margin-top: 2rem; + text-transform: none; +} +.tox .tox-dialog__body-content .tox-form__group h2 { + color: #222f3e; + font-size: 16px; + font-style: normal; + font-weight: bold; + letter-spacing: normal; + margin-bottom: 16px; + margin-top: 2rem; + text-transform: none; +} +.tox .tox-dialog__body-content .tox-form__group p { + margin-bottom: 16px; +} +.tox .tox-dialog__body-content .tox-form__group h1:first-child, +.tox .tox-dialog__body-content .tox-form__group h2:first-child, +.tox .tox-dialog__body-content .tox-form__group p:first-child { + margin-top: 0; +} +.tox .tox-dialog__body-content .tox-form__group h1:last-child, +.tox .tox-dialog__body-content .tox-form__group h2:last-child, +.tox .tox-dialog__body-content .tox-form__group p:last-child { + margin-bottom: 0; +} +.tox .tox-dialog__body-content .tox-form__group h1:only-child, +.tox .tox-dialog__body-content .tox-form__group h2:only-child, +.tox .tox-dialog__body-content .tox-form__group p:only-child { + margin-bottom: 0; + margin-top: 0; +} +.tox .tox-dialog--width-lg { + height: 650px; + max-width: 1200px; +} +.tox .tox-dialog--width-md { + max-width: 800px; +} +.tox .tox-dialog--width-md .tox-dialog__body-content { + overflow: auto; +} +.tox .tox-dialog__body-content--centered { + text-align: center; +} +.tox .tox-dialog__footer { + align-items: center; + background-color: #fff; + border-top: 1px solid #cccccc; + display: flex; + justify-content: space-between; + padding: 8px 16px; +} +.tox .tox-dialog__footer-start, +.tox .tox-dialog__footer-end { + display: flex; +} +.tox .tox-dialog__busy-spinner { + align-items: center; + background-color: rgba(255, 255, 255, 0.75); + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 3; +} +.tox .tox-dialog__table { + border-collapse: collapse; + width: 100%; +} +.tox .tox-dialog__table thead th { + font-weight: bold; + padding-bottom: 8px; +} +.tox .tox-dialog__table tbody tr { + border-bottom: 1px solid #cccccc; +} +.tox .tox-dialog__table tbody tr:last-child { + border-bottom: none; +} +.tox .tox-dialog__table td { + padding-bottom: 8px; + padding-top: 8px; +} +.tox .tox-dialog__popups { + position: absolute; + width: 100%; + z-index: 1100; +} +.tox .tox-dialog__body-iframe { + display: flex; + flex: 1; + flex-direction: column; + -ms-flex-preferred-size: auto; +} +.tox .tox-dialog__body-iframe .tox-navobj { + display: flex; + flex: 1; + -ms-flex-preferred-size: auto; +} +.tox .tox-dialog__body-iframe .tox-navobj :nth-child(2) { + flex: 1; + -ms-flex-preferred-size: auto; + height: 100%; +} +.tox .tox-dialog-dock-fadeout { + opacity: 0; + visibility: hidden; +} +.tox .tox-dialog-dock-fadein { + opacity: 1; + visibility: visible; +} +.tox .tox-dialog-dock-transition { + transition: visibility 0s linear 0.3s, opacity 0.3s ease; +} +.tox .tox-dialog-dock-transition.tox-dialog-dock-fadein { + transition-delay: 0s; +} +.tox.tox-platform-ie { + /* IE11 CSS styles go here */ +} +.tox.tox-platform-ie .tox-dialog-wrap { + position: -ms-device-fixed; +} +@media only screen and (max-width:767px) { + body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav { + margin-right: 0; + } +} +@media only screen and (max-width:767px) { + body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav-item:not(:first-child) { + margin-left: 8px; + } +} +.tox:not([dir=rtl]) .tox-dialog__footer .tox-dialog__footer-start > *, +.tox:not([dir=rtl]) .tox-dialog__footer .tox-dialog__footer-end > * { + margin-left: 8px; +} +.tox[dir=rtl] .tox-dialog__body { + text-align: right; +} +@media only screen and (max-width:767px) { + body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav { + margin-left: 0; + } +} +@media only screen and (max-width:767px) { + body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav-item:not(:first-child) { + margin-right: 8px; + } +} +.tox[dir=rtl] .tox-dialog__footer .tox-dialog__footer-start > *, +.tox[dir=rtl] .tox-dialog__footer .tox-dialog__footer-end > * { + margin-right: 8px; +} +body.tox-dialog__disable-scroll { + overflow: hidden; +} +.tox .tox-dropzone-container { + display: flex; + flex: 1; + -ms-flex-preferred-size: auto; +} +.tox .tox-dropzone { + align-items: center; + background: #fff; + border: 2px dashed #cccccc; + box-sizing: border-box; + display: flex; + flex-direction: column; + flex-grow: 1; + justify-content: center; + min-height: 100px; + padding: 10px; +} +.tox .tox-dropzone p { + color: rgba(34, 47, 62, 0.7); + margin: 0 0 16px 0; +} +.tox .tox-edit-area { + display: flex; + flex: 1; + -ms-flex-preferred-size: auto; + overflow: hidden; + position: relative; +} +.tox .tox-edit-area__iframe { + background-color: #fff; + border: 0; + box-sizing: border-box; + flex: 1; + -ms-flex-preferred-size: auto; + height: 100%; + position: absolute; + width: 100%; +} +.tox.tox-inline-edit-area { + border: 1px dotted #cccccc; +} +.tox .tox-editor-container { + display: flex; + flex: 1 1 auto; + flex-direction: column; + overflow: hidden; +} +.tox .tox-editor-header { + z-index: 1; +} +.tox:not(.tox-tinymce-inline) .tox-editor-header { + box-shadow: none; + transition: box-shadow 0.5s; +} +.tox.tox-tinymce--toolbar-bottom .tox-editor-header, +.tox.tox-tinymce-inline .tox-editor-header { + margin-bottom: -1px; +} +.tox.tox-tinymce--toolbar-sticky-on .tox-editor-header { + background-color: transparent; + box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25); +} +.tox-editor-dock-fadeout { + opacity: 0; + visibility: hidden; +} +.tox-editor-dock-fadein { + opacity: 1; + visibility: visible; +} +.tox-editor-dock-transition { + transition: visibility 0s linear 0.25s, opacity 0.25s ease; +} +.tox-editor-dock-transition.tox-editor-dock-fadein { + transition-delay: 0s; +} +.tox .tox-control-wrap { + flex: 1; + position: relative; +} +.tox .tox-control-wrap:not(.tox-control-wrap--status-invalid) .tox-control-wrap__status-icon-invalid, +.tox .tox-control-wrap:not(.tox-control-wrap--status-unknown) .tox-control-wrap__status-icon-unknown, +.tox .tox-control-wrap:not(.tox-control-wrap--status-valid) .tox-control-wrap__status-icon-valid { + display: none; +} +.tox .tox-control-wrap svg { + display: block; +} +.tox .tox-control-wrap__status-icon-wrap { + position: absolute; + top: 50%; + transform: translateY(-50%); +} +.tox .tox-control-wrap__status-icon-invalid svg { + fill: #c00; +} +.tox .tox-control-wrap__status-icon-unknown svg { + fill: orange; +} +.tox .tox-control-wrap__status-icon-valid svg { + fill: green; +} +.tox:not([dir=rtl]) .tox-control-wrap--status-invalid .tox-textfield, +.tox:not([dir=rtl]) .tox-control-wrap--status-unknown .tox-textfield, +.tox:not([dir=rtl]) .tox-control-wrap--status-valid .tox-textfield { + padding-right: 32px; +} +.tox:not([dir=rtl]) .tox-control-wrap__status-icon-wrap { + right: 4px; +} +.tox[dir=rtl] .tox-control-wrap--status-invalid .tox-textfield, +.tox[dir=rtl] .tox-control-wrap--status-unknown .tox-textfield, +.tox[dir=rtl] .tox-control-wrap--status-valid .tox-textfield { + padding-left: 32px; +} +.tox[dir=rtl] .tox-control-wrap__status-icon-wrap { + left: 4px; +} +.tox .tox-autocompleter { + max-width: 25em; +} +.tox .tox-autocompleter .tox-menu { + max-width: 25em; +} +.tox .tox-autocompleter .tox-autocompleter-highlight { + font-weight: bold; +} +.tox .tox-color-input { + display: flex; + position: relative; + z-index: 1; +} +.tox .tox-color-input .tox-textfield { + z-index: -1; +} +.tox .tox-color-input span { + border-color: rgba(34, 47, 62, 0.2); + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + height: 24px; + position: absolute; + top: 6px; + width: 24px; +} +.tox .tox-color-input span:hover:not([aria-disabled=true]), +.tox .tox-color-input span:focus:not([aria-disabled=true]) { + border-color: #207ab7; + cursor: pointer; +} +.tox .tox-color-input span::before { + background-image: linear-gradient(45deg, rgba(0, 0, 0, 0.25) 25%, transparent 25%), linear-gradient(-45deg, rgba(0, 0, 0, 0.25) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, rgba(0, 0, 0, 0.25) 75%), linear-gradient(-45deg, transparent 75%, rgba(0, 0, 0, 0.25) 75%); + background-position: 0 0, 0 6px, 6px -6px, -6px 0; + background-size: 12px 12px; + border: 1px solid #fff; + border-radius: 3px; + box-sizing: border-box; + content: ''; + height: 24px; + left: -1px; + position: absolute; + top: -1px; + width: 24px; + z-index: -1; +} +.tox .tox-color-input span[aria-disabled=true] { + cursor: not-allowed; +} +.tox:not([dir=rtl]) .tox-color-input { + /* stylelint-disable-next-line no-descending-specificity */ +} +.tox:not([dir=rtl]) .tox-color-input .tox-textfield { + padding-left: 36px; +} +.tox:not([dir=rtl]) .tox-color-input span { + left: 6px; +} +.tox[dir="rtl"] .tox-color-input { + /* stylelint-disable-next-line no-descending-specificity */ +} +.tox[dir="rtl"] .tox-color-input .tox-textfield { + padding-right: 36px; +} +.tox[dir="rtl"] .tox-color-input span { + right: 6px; +} +.tox .tox-label, +.tox .tox-toolbar-label { + color: rgba(34, 47, 62, 0.7); + display: block; + font-size: 14px; + font-style: normal; + font-weight: normal; + line-height: 1.3; + padding: 0 8px 0 0; + text-transform: none; + white-space: nowrap; +} +.tox .tox-toolbar-label { + padding: 0 8px; +} +.tox[dir=rtl] .tox-label { + padding: 0 0 0 8px; +} +.tox .tox-form { + display: flex; + flex: 1; + flex-direction: column; + -ms-flex-preferred-size: auto; +} +.tox .tox-form__group { + box-sizing: border-box; + margin-bottom: 4px; +} +.tox .tox-form-group--maximize { + flex: 1; +} +.tox .tox-form__group--error { + color: #c00; +} +.tox .tox-form__group--collection { + display: flex; +} +.tox .tox-form__grid { + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: space-between; +} +.tox .tox-form__grid--2col > .tox-form__group { + width: calc(50% - (8px / 2)); +} +.tox .tox-form__grid--3col > .tox-form__group { + width: calc(100% / 3 - (8px / 2)); +} +.tox .tox-form__grid--4col > .tox-form__group { + width: calc(25% - (8px / 2)); +} +.tox .tox-form__controls-h-stack { + align-items: center; + display: flex; +} +.tox .tox-form__group--inline { + align-items: center; + display: flex; +} +.tox .tox-form__group--stretched { + display: flex; + flex: 1; + flex-direction: column; + -ms-flex-preferred-size: auto; +} +.tox .tox-form__group--stretched .tox-textarea { + flex: 1; + -ms-flex-preferred-size: auto; +} +.tox .tox-form__group--stretched .tox-navobj { + display: flex; + flex: 1; + -ms-flex-preferred-size: auto; +} +.tox .tox-form__group--stretched .tox-navobj :nth-child(2) { + flex: 1; + -ms-flex-preferred-size: auto; + height: 100%; +} +.tox:not([dir=rtl]) .tox-form__controls-h-stack > *:not(:first-child) { + margin-left: 4px; +} +.tox[dir=rtl] .tox-form__controls-h-stack > *:not(:first-child) { + margin-right: 4px; +} +.tox .tox-lock.tox-locked .tox-lock-icon__unlock, +.tox .tox-lock:not(.tox-locked) .tox-lock-icon__lock { + display: none; +} +.tox .tox-textfield, +.tox .tox-toolbar-textfield, +.tox .tox-listboxfield .tox-listbox--select, +.tox .tox-textarea { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #fff; + border-color: #cccccc; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + color: #222f3e; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-size: 16px; + line-height: 24px; + margin: 0; + min-height: 34px; + outline: none; + padding: 5px 4.75px; + resize: none; + width: 100%; +} +.tox .tox-textfield[disabled], +.tox .tox-textarea[disabled] { + background-color: #f2f2f2; + color: rgba(34, 47, 62, 0.85); + cursor: not-allowed; +} +.tox .tox-textfield:focus, +.tox .tox-listboxfield .tox-listbox--select:focus, +.tox .tox-textarea:focus { + background-color: #fff; + border-color: #207ab7; + box-shadow: none; + outline: none; +} +.tox .tox-toolbar-textfield { + border-width: 0; + margin-bottom: 3px; + margin-top: 2px; + max-width: 250px; +} +.tox .tox-naked-btn { + background-color: transparent; + border: 0; + border-color: transparent; + box-shadow: unset; + color: #207ab7; + cursor: pointer; + display: block; + margin: 0; + padding: 0; +} +.tox .tox-naked-btn svg { + display: block; + fill: #222f3e; +} +.tox:not([dir=rtl]) .tox-toolbar-textfield + * { + margin-left: 4px; +} +.tox[dir=rtl] .tox-toolbar-textfield + * { + margin-right: 4px; +} +.tox .tox-listboxfield { + cursor: pointer; + position: relative; +} +.tox .tox-listboxfield .tox-listbox--select[disabled] { + background-color: #f2f2f2; + color: rgba(34, 47, 62, 0.85); + cursor: not-allowed; +} +.tox .tox-listbox__select-label { + cursor: default; + flex: 1; + margin: 0 4px; +} +.tox .tox-listbox__select-chevron { + align-items: center; + display: flex; + justify-content: center; + width: 16px; +} +.tox .tox-listbox__select-chevron svg { + fill: #222f3e; +} +.tox .tox-listboxfield .tox-listbox--select { + align-items: center; + display: flex; +} +.tox:not([dir=rtl]) .tox-listboxfield svg { + right: 8px; +} +.tox[dir=rtl] .tox-listboxfield svg { + left: 8px; +} +.tox .tox-selectfield { + cursor: pointer; + position: relative; +} +.tox .tox-selectfield select { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #fff; + border-color: #cccccc; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + color: #222f3e; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-size: 16px; + line-height: 24px; + margin: 0; + min-height: 34px; + outline: none; + padding: 5px 4.75px; + resize: none; + width: 100%; +} +.tox .tox-selectfield select[disabled] { + background-color: #f2f2f2; + color: rgba(34, 47, 62, 0.85); + cursor: not-allowed; +} +.tox .tox-selectfield select::-ms-expand { + display: none; +} +.tox .tox-selectfield select:focus { + background-color: #fff; + border-color: #207ab7; + box-shadow: none; + outline: none; +} +.tox .tox-selectfield svg { + pointer-events: none; + position: absolute; + top: 50%; + transform: translateY(-50%); +} +.tox:not([dir=rtl]) .tox-selectfield select[size="0"], +.tox:not([dir=rtl]) .tox-selectfield select[size="1"] { + padding-right: 24px; +} +.tox:not([dir=rtl]) .tox-selectfield svg { + right: 8px; +} +.tox[dir=rtl] .tox-selectfield select[size="0"], +.tox[dir=rtl] .tox-selectfield select[size="1"] { + padding-left: 24px; +} +.tox[dir=rtl] .tox-selectfield svg { + left: 8px; +} +.tox .tox-textarea { + -webkit-appearance: textarea; + -moz-appearance: textarea; + appearance: textarea; + white-space: pre-wrap; +} +.tox-fullscreen { + border: 0; + height: 100%; + left: 0; + margin: 0; + overflow: hidden; + -ms-scroll-chaining: none; + overscroll-behavior: none; + padding: 0; + position: fixed; + top: 0; + touch-action: pinch-zoom; + width: 100%; +} +.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle { + display: none; +} +.tox.tox-tinymce.tox-fullscreen { + background-color: transparent; + z-index: 1200; +} +.tox-shadowhost.tox-fullscreen { + z-index: 1200; +} +.tox-fullscreen .tox.tox-tinymce-aux, +.tox-fullscreen ~ .tox.tox-tinymce-aux { + z-index: 1201; +} +.tox .tox-help__more-link { + list-style: none; + margin-top: 1em; +} +.tox .tox-image-tools { + width: 100%; +} +.tox .tox-image-tools__toolbar { + align-items: center; + display: flex; + justify-content: center; +} +.tox .tox-image-tools__image { + background-color: #666; + height: 380px; + overflow: auto; + position: relative; + width: 100%; +} +.tox .tox-image-tools__image, +.tox .tox-image-tools__image + .tox-image-tools__toolbar { + margin-top: 8px; +} +.tox .tox-image-tools__image-bg { + background: url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==); +} +.tox .tox-image-tools__toolbar > .tox-spacer { + flex: 1; + -ms-flex-preferred-size: auto; +} +.tox .tox-croprect-block { + background: black; + filter: alpha(opacity=50); + opacity: 0.5; + position: absolute; + zoom: 1; +} +.tox .tox-croprect-handle { + border: 2px solid white; + height: 20px; + left: 0; + position: absolute; + top: 0; + width: 20px; +} +.tox .tox-croprect-handle-move { + border: 0; + cursor: move; + position: absolute; +} +.tox .tox-croprect-handle-nw { + border-width: 2px 0 0 2px; + cursor: nw-resize; + left: 100px; + margin: -2px 0 0 -2px; + top: 100px; +} +.tox .tox-croprect-handle-ne { + border-width: 2px 2px 0 0; + cursor: ne-resize; + left: 200px; + margin: -2px 0 0 -20px; + top: 100px; +} +.tox .tox-croprect-handle-sw { + border-width: 0 0 2px 2px; + cursor: sw-resize; + left: 100px; + margin: -20px 2px 0 -2px; + top: 200px; +} +.tox .tox-croprect-handle-se { + border-width: 0 2px 2px 0; + cursor: se-resize; + left: 200px; + margin: -20px 0 0 -20px; + top: 200px; +} +.tox:not([dir=rtl]) .tox-image-tools__toolbar > .tox-slider:not(:first-of-type) { + margin-left: 8px; +} +.tox:not([dir=rtl]) .tox-image-tools__toolbar > .tox-button + .tox-slider { + margin-left: 32px; +} +.tox:not([dir=rtl]) .tox-image-tools__toolbar > .tox-slider + .tox-button { + margin-left: 32px; +} +.tox[dir=rtl] .tox-image-tools__toolbar > .tox-slider:not(:first-of-type) { + margin-right: 8px; +} +.tox[dir=rtl] .tox-image-tools__toolbar > .tox-button + .tox-slider { + margin-right: 32px; +} +.tox[dir=rtl] .tox-image-tools__toolbar > .tox-slider + .tox-button { + margin-right: 32px; +} +.tox .tox-insert-table-picker { + display: flex; + flex-wrap: wrap; + width: 170px; +} +.tox .tox-insert-table-picker > div { + border-color: #cccccc; + border-style: solid; + border-width: 0 1px 1px 0; + box-sizing: border-box; + height: 17px; + width: 17px; +} +.tox .tox-collection--list .tox-collection__group .tox-insert-table-picker { + margin: -4px 0; +} +.tox .tox-insert-table-picker .tox-insert-table-picker__selected { + background-color: rgba(32, 122, 183, 0.5); + border-color: rgba(32, 122, 183, 0.5); +} +.tox .tox-insert-table-picker__label { + color: rgba(34, 47, 62, 0.7); + display: block; + font-size: 14px; + padding: 4px; + text-align: center; + width: 100%; +} +.tox:not([dir=rtl]) { + /* stylelint-disable-next-line no-descending-specificity */ +} +.tox:not([dir=rtl]) .tox-insert-table-picker > div:nth-child(10n) { + border-right: 0; +} +.tox[dir=rtl] { + /* stylelint-disable-next-line no-descending-specificity */ +} +.tox[dir=rtl] .tox-insert-table-picker > div:nth-child(10n+1) { + border-right: 0; +} +.tox { + /* stylelint-disable */ + /* stylelint-enable */ +} +.tox .tox-menu { + background-color: #fff; + border: 1px solid #cccccc; + border-radius: 3px; + box-shadow: 0 4px 8px 0 rgba(34, 47, 62, 0.1); + display: inline-block; + overflow: hidden; + vertical-align: top; + z-index: 1150; +} +.tox .tox-menu.tox-collection.tox-collection--list { + padding: 0; +} +.tox .tox-menu.tox-collection.tox-collection--toolbar { + padding: 4px; +} +.tox .tox-menu.tox-collection.tox-collection--grid { + padding: 4px; +} +.tox .tox-menu__label h1, +.tox .tox-menu__label h2, +.tox .tox-menu__label h3, +.tox .tox-menu__label h4, +.tox .tox-menu__label h5, +.tox .tox-menu__label h6, +.tox .tox-menu__label p, +.tox .tox-menu__label blockquote, +.tox .tox-menu__label code { + margin: 0; +} +.tox .tox-menubar { + background: url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23cccccc'/%3E%3C/svg%3E") left 0 top 0 #fff; + background-color: #fff; + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: wrap; + padding: 0 4px 0 4px; +} +.tox.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-menubar { + border-top: 1px solid #cccccc; +} +/* Deprecated. Remove in next major release */ +.tox .tox-mbtn { + align-items: center; + background: transparent; + border: 0; + border-radius: 3px; + box-shadow: none; + color: #222f3e; + display: flex; + flex: 0 0 auto; + font-size: 14px; + font-style: normal; + font-weight: normal; + height: 34px; + justify-content: center; + margin: 2px 0 3px 0; + outline: none; + overflow: hidden; + padding: 0 4px; + text-transform: none; + width: auto; +} +.tox .tox-mbtn[disabled] { + background-color: transparent; + border: 0; + box-shadow: none; + color: rgba(34, 47, 62, 0.5); + cursor: not-allowed; +} +.tox .tox-mbtn:focus:not(:disabled) { + background: #dee0e2; + border: 0; + box-shadow: none; + color: #222f3e; +} +.tox .tox-mbtn--active { + background: #c8cbcf; + border: 0; + box-shadow: none; + color: #222f3e; +} +.tox .tox-mbtn:hover:not(:disabled):not(.tox-mbtn--active) { + background: #dee0e2; + border: 0; + box-shadow: none; + color: #222f3e; +} +.tox .tox-mbtn__select-label { + cursor: default; + font-weight: normal; + margin: 0 4px; +} +.tox .tox-mbtn[disabled] .tox-mbtn__select-label { + cursor: not-allowed; +} +.tox .tox-mbtn__select-chevron { + align-items: center; + display: flex; + justify-content: center; + width: 16px; + display: none; +} +.tox .tox-notification { + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + display: -ms-grid; + display: grid; + font-size: 14px; + font-weight: normal; + -ms-grid-columns: minmax(40px, 1fr) auto minmax(40px, 1fr); + grid-template-columns: minmax(40px, 1fr) auto minmax(40px, 1fr); + margin-top: 4px; + opacity: 0; + padding: 4px; + transition: transform 100ms ease-in, opacity 150ms ease-in; +} +.tox .tox-notification p { + font-size: 14px; + font-weight: normal; +} +.tox .tox-notification a { + text-decoration: underline; +} +.tox .tox-notification--in { + opacity: 1; +} +.tox .tox-notification--success { + background-color: #e4eeda; + border-color: #d7e6c8; + color: #222f3e; +} +.tox .tox-notification--success p { + color: #222f3e; +} +.tox .tox-notification--success a { + color: #547831; +} +.tox .tox-notification--success svg { + fill: #222f3e; +} +.tox .tox-notification--error { + background-color: #f8dede; + border-color: #f2bfbf; + color: #222f3e; +} +.tox .tox-notification--error p { + color: #222f3e; +} +.tox .tox-notification--error a { + color: #c00; +} +.tox .tox-notification--error svg { + fill: #222f3e; +} +.tox .tox-notification--warn, +.tox .tox-notification--warning { + background-color: #fffaea; + border-color: #ffe89d; + color: #222f3e; +} +.tox .tox-notification--warn p, +.tox .tox-notification--warning p { + color: #222f3e; +} +.tox .tox-notification--warn a, +.tox .tox-notification--warning a { + color: #222f3e; +} +.tox .tox-notification--warn svg, +.tox .tox-notification--warning svg { + fill: #222f3e; +} +.tox .tox-notification--info { + background-color: #d9edf7; + border-color: #779ecb; + color: #222f3e; +} +.tox .tox-notification--info p { + color: #222f3e; +} +.tox .tox-notification--info a { + color: #222f3e; +} +.tox .tox-notification--info svg { + fill: #222f3e; +} +.tox .tox-notification__body { + -ms-grid-row-align: center; + align-self: center; + color: #222f3e; + font-size: 14px; + -ms-grid-column-span: 1; + grid-column-end: 3; + -ms-grid-column: 2; + grid-column-start: 2; + -ms-grid-row-span: 1; + grid-row-end: 2; + -ms-grid-row: 1; + grid-row-start: 1; + text-align: center; + white-space: normal; + word-break: break-all; + word-break: break-word; +} +.tox .tox-notification__body > * { + margin: 0; +} +.tox .tox-notification__body > * + * { + margin-top: 1rem; +} +.tox .tox-notification__icon { + -ms-grid-row-align: center; + align-self: center; + -ms-grid-column-span: 1; + grid-column-end: 2; + -ms-grid-column: 1; + grid-column-start: 1; + -ms-grid-row-span: 1; + grid-row-end: 2; + -ms-grid-row: 1; + grid-row-start: 1; + -ms-grid-column-align: end; + justify-self: end; +} +.tox .tox-notification__icon svg { + display: block; +} +.tox .tox-notification__dismiss { + -ms-grid-row-align: start; + align-self: start; + -ms-grid-column-span: 1; + grid-column-end: 4; + -ms-grid-column: 3; + grid-column-start: 3; + -ms-grid-row-span: 1; + grid-row-end: 2; + -ms-grid-row: 1; + grid-row-start: 1; + -ms-grid-column-align: end; + justify-self: end; +} +.tox .tox-notification .tox-progress-bar { + -ms-grid-column-span: 3; + grid-column-end: 4; + -ms-grid-column: 1; + grid-column-start: 1; + -ms-grid-row-span: 1; + grid-row-end: 3; + -ms-grid-row: 2; + grid-row-start: 2; + -ms-grid-column-align: center; + justify-self: center; +} +.tox .tox-pop { + display: inline-block; + position: relative; +} +.tox .tox-pop--resizing { + transition: width 0.1s ease; +} +.tox .tox-pop--resizing .tox-toolbar { + flex-wrap: nowrap; +} +.tox .tox-pop__dialog { + background-color: #fff; + border: 1px solid #cccccc; + border-radius: 3px; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15); + min-width: 0; + overflow: hidden; +} +.tox .tox-pop__dialog > *:not(.tox-toolbar) { + margin: 4px 4px 4px 8px; +} +.tox .tox-pop__dialog .tox-toolbar { + background-color: transparent; + margin-bottom: -1px; +} +.tox .tox-pop::before, +.tox .tox-pop::after { + border-style: solid; + content: ''; + display: block; + height: 0; + position: absolute; + width: 0; +} +.tox .tox-pop.tox-pop--bottom::before, +.tox .tox-pop.tox-pop--bottom::after { + left: 50%; + top: 100%; +} +.tox .tox-pop.tox-pop--bottom::after { + border-color: #fff transparent transparent transparent; + border-width: 8px; + margin-left: -8px; + margin-top: -1px; +} +.tox .tox-pop.tox-pop--bottom::before { + border-color: #cccccc transparent transparent transparent; + border-width: 9px; + margin-left: -9px; +} +.tox .tox-pop.tox-pop--top::before, +.tox .tox-pop.tox-pop--top::after { + left: 50%; + top: 0; + transform: translateY(-100%); +} +.tox .tox-pop.tox-pop--top::after { + border-color: transparent transparent #fff transparent; + border-width: 8px; + margin-left: -8px; + margin-top: 1px; +} +.tox .tox-pop.tox-pop--top::before { + border-color: transparent transparent #cccccc transparent; + border-width: 9px; + margin-left: -9px; +} +.tox .tox-pop.tox-pop--left::before, +.tox .tox-pop.tox-pop--left::after { + left: 0; + top: calc(50% - 1px); + transform: translateY(-50%); +} +.tox .tox-pop.tox-pop--left::after { + border-color: transparent #fff transparent transparent; + border-width: 8px; + margin-left: -15px; +} +.tox .tox-pop.tox-pop--left::before { + border-color: transparent #cccccc transparent transparent; + border-width: 10px; + margin-left: -19px; +} +.tox .tox-pop.tox-pop--right::before, +.tox .tox-pop.tox-pop--right::after { + left: 100%; + top: calc(50% + 1px); + transform: translateY(-50%); +} +.tox .tox-pop.tox-pop--right::after { + border-color: transparent transparent transparent #fff; + border-width: 8px; + margin-left: -1px; +} +.tox .tox-pop.tox-pop--right::before { + border-color: transparent transparent transparent #cccccc; + border-width: 10px; + margin-left: -1px; +} +.tox .tox-pop.tox-pop--align-left::before, +.tox .tox-pop.tox-pop--align-left::after { + left: 20px; +} +.tox .tox-pop.tox-pop--align-right::before, +.tox .tox-pop.tox-pop--align-right::after { + left: calc(100% - 20px); +} +.tox .tox-sidebar-wrap { + display: flex; + flex-direction: row; + flex-grow: 1; + -ms-flex-preferred-size: 0; + min-height: 0; +} +.tox .tox-sidebar { + background-color: #fff; + display: flex; + flex-direction: row; + justify-content: flex-end; +} +.tox .tox-sidebar__slider { + display: flex; + overflow: hidden; +} +.tox .tox-sidebar__pane-container { + display: flex; +} +.tox .tox-sidebar__pane { + display: flex; +} +.tox .tox-sidebar--sliding-closed { + opacity: 0; +} +.tox .tox-sidebar--sliding-open { + opacity: 1; +} +.tox .tox-sidebar--sliding-growing, +.tox .tox-sidebar--sliding-shrinking { + transition: width 0.5s ease, opacity 0.5s ease; +} +.tox .tox-selector { + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + display: inline-block; + height: 10px; + position: absolute; + width: 10px; +} +.tox.tox-platform-touch .tox-selector { + height: 12px; + width: 12px; +} +.tox .tox-slider { + align-items: center; + display: flex; + flex: 1; + -ms-flex-preferred-size: auto; + height: 24px; + justify-content: center; + position: relative; +} +.tox .tox-slider__rail { + background-color: transparent; + border: 1px solid #cccccc; + border-radius: 3px; + height: 10px; + min-width: 120px; + width: 100%; +} +.tox .tox-slider__handle { + background-color: #207ab7; + border: 2px solid #185d8c; + border-radius: 3px; + box-shadow: none; + height: 24px; + left: 50%; + position: absolute; + top: 50%; + transform: translateX(-50%) translateY(-50%); + width: 14px; +} +.tox .tox-source-code { + overflow: auto; +} +.tox .tox-spinner { + display: flex; +} +.tox .tox-spinner > div { + animation: tam-bouncing-dots 1.5s ease-in-out 0s infinite both; + background-color: rgba(34, 47, 62, 0.7); + border-radius: 100%; + height: 8px; + width: 8px; +} +.tox .tox-spinner > div:nth-child(1) { + animation-delay: -0.32s; +} +.tox .tox-spinner > div:nth-child(2) { + animation-delay: -0.16s; +} +@keyframes tam-bouncing-dots { + 0%, + 80%, + 100% { + transform: scale(0); + } + 40% { + transform: scale(1); + } +} +.tox:not([dir=rtl]) .tox-spinner > div:not(:first-child) { + margin-left: 4px; +} +.tox[dir=rtl] .tox-spinner > div:not(:first-child) { + margin-right: 4px; +} +.tox .tox-statusbar { + align-items: center; + background-color: #fff; + border-top: 1px solid #cccccc; + color: rgba(34, 47, 62, 0.7); + display: flex; + flex: 0 0 auto; + font-size: 12px; + font-weight: normal; + height: 18px; + overflow: hidden; + padding: 0 8px; + position: relative; + text-transform: uppercase; +} +.tox .tox-statusbar__text-container { + display: flex; + flex: 1 1 auto; + justify-content: flex-end; + overflow: hidden; +} +.tox .tox-statusbar__path { + display: flex; + flex: 1 1 auto; + margin-right: auto; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.tox .tox-statusbar__path > * { + display: inline; + white-space: nowrap; +} +.tox .tox-statusbar__wordcount { + flex: 0 0 auto; + margin-left: 1ch; +} +.tox .tox-statusbar a, +.tox .tox-statusbar__path-item, +.tox .tox-statusbar__wordcount { + color: rgba(34, 47, 62, 0.7); + text-decoration: none; +} +.tox .tox-statusbar a:hover:not(:disabled):not([aria-disabled=true]), +.tox .tox-statusbar__path-item:hover:not(:disabled):not([aria-disabled=true]), +.tox .tox-statusbar__wordcount:hover:not(:disabled):not([aria-disabled=true]), +.tox .tox-statusbar a:focus:not(:disabled):not([aria-disabled=true]), +.tox .tox-statusbar__path-item:focus:not(:disabled):not([aria-disabled=true]), +.tox .tox-statusbar__wordcount:focus:not(:disabled):not([aria-disabled=true]) { + cursor: pointer; + text-decoration: underline; +} +.tox .tox-statusbar__resize-handle { + align-items: flex-end; + align-self: stretch; + cursor: nwse-resize; + display: flex; + flex: 0 0 auto; + justify-content: flex-end; + margin-left: auto; + margin-right: -8px; + padding-left: 1ch; +} +.tox .tox-statusbar__resize-handle svg { + display: block; + fill: rgba(34, 47, 62, 0.7); +} +.tox .tox-statusbar__resize-handle:focus svg { + background-color: #dee0e2; + border-radius: 1px; + box-shadow: 0 0 0 2px #dee0e2; +} +.tox:not([dir=rtl]) .tox-statusbar__path > * { + margin-right: 4px; +} +.tox:not([dir=rtl]) .tox-statusbar__branding { + margin-left: 1ch; +} +.tox[dir=rtl] .tox-statusbar { + flex-direction: row-reverse; +} +.tox[dir=rtl] .tox-statusbar__path > * { + margin-left: 4px; +} +.tox .tox-throbber { + z-index: 1299; +} +.tox .tox-throbber__busy-spinner { + align-items: center; + background-color: rgba(255, 255, 255, 0.6); + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: absolute; + right: 0; + top: 0; +} +.tox .tox-tbtn { + align-items: center; + background: transparent; + border: 0; + border-radius: 3px; + box-shadow: none; + color: #222f3e; + display: flex; + flex: 0 0 auto; + font-size: 14px; + font-style: normal; + font-weight: normal; + height: 34px; + justify-content: center; + margin: 2px 0 3px 0; + outline: none; + overflow: hidden; + padding: 0; + text-transform: none; + width: 34px; +} +.tox .tox-tbtn svg { + display: block; + fill: #222f3e; +} +.tox .tox-tbtn.tox-tbtn-more { + padding-left: 5px; + padding-right: 5px; + width: inherit; +} +.tox .tox-tbtn:focus { + background: #dee0e2; + border: 0; + box-shadow: none; +} +.tox .tox-tbtn:hover { + background: #dee0e2; + border: 0; + box-shadow: none; + color: #222f3e; +} +.tox .tox-tbtn:hover svg { + fill: #222f3e; +} +.tox .tox-tbtn:active { + background: #c8cbcf; + border: 0; + box-shadow: none; + color: #222f3e; +} +.tox .tox-tbtn:active svg { + fill: #222f3e; +} +.tox .tox-tbtn--disabled, +.tox .tox-tbtn--disabled:hover, +.tox .tox-tbtn:disabled, +.tox .tox-tbtn:disabled:hover { + background: transparent; + border: 0; + box-shadow: none; + color: rgba(34, 47, 62, 0.5); + cursor: not-allowed; +} +.tox .tox-tbtn--disabled svg, +.tox .tox-tbtn--disabled:hover svg, +.tox .tox-tbtn:disabled svg, +.tox .tox-tbtn:disabled:hover svg { + /* stylelint-disable-line no-descending-specificity */ + fill: rgba(34, 47, 62, 0.5); +} +.tox .tox-tbtn--enabled, +.tox .tox-tbtn--enabled:hover { + background: #c8cbcf; + border: 0; + box-shadow: none; + color: #222f3e; +} +.tox .tox-tbtn--enabled > *, +.tox .tox-tbtn--enabled:hover > * { + transform: none; +} +.tox .tox-tbtn--enabled svg, +.tox .tox-tbtn--enabled:hover svg { + /* stylelint-disable-line no-descending-specificity */ + fill: #222f3e; +} +.tox .tox-tbtn:focus:not(.tox-tbtn--disabled) { + color: #222f3e; +} +.tox .tox-tbtn:focus:not(.tox-tbtn--disabled) svg { + fill: #222f3e; +} +.tox .tox-tbtn:active > * { + transform: none; +} +.tox .tox-tbtn--md { + height: 51px; + width: 51px; +} +.tox .tox-tbtn--lg { + flex-direction: column; + height: 68px; + width: 68px; +} +.tox .tox-tbtn--return { + -ms-grid-row-align: stretch; + align-self: stretch; + height: unset; + width: 16px; +} +.tox .tox-tbtn--labeled { + padding: 0 4px; + width: unset; +} +.tox .tox-tbtn__vlabel { + display: block; + font-size: 10px; + font-weight: normal; + letter-spacing: -0.025em; + margin-bottom: 4px; + white-space: nowrap; +} +.tox .tox-tbtn--select { + margin: 2px 0 3px 0; + padding: 0 4px; + width: auto; +} +.tox .tox-tbtn__select-label { + cursor: default; + font-weight: normal; + margin: 0 4px; +} +.tox .tox-tbtn__select-chevron { + align-items: center; + display: flex; + justify-content: center; + width: 16px; +} +.tox .tox-tbtn__select-chevron svg { + fill: rgba(34, 47, 62, 0.5); +} +.tox .tox-tbtn--bespoke .tox-tbtn__select-label { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + width: 7em; +} +.tox .tox-split-button { + border: 0; + border-radius: 3px; + box-sizing: border-box; + display: flex; + margin: 2px 0 3px 0; + overflow: hidden; +} +.tox .tox-split-button:hover { + box-shadow: 0 0 0 1px #dee0e2 inset; +} +.tox .tox-split-button:focus { + background: #dee0e2; + box-shadow: none; + color: #222f3e; +} +.tox .tox-split-button > * { + border-radius: 0; +} +.tox .tox-split-button__chevron { + width: 16px; +} +.tox .tox-split-button__chevron svg { + fill: rgba(34, 47, 62, 0.5); +} +.tox .tox-split-button .tox-tbtn { + margin: 0; +} +.tox.tox-platform-touch .tox-split-button .tox-tbtn:first-child { + width: 30px; +} +.tox.tox-platform-touch .tox-split-button__chevron { + width: 20px; +} +.tox .tox-split-button.tox-tbtn--disabled:hover, +.tox .tox-split-button.tox-tbtn--disabled:focus, +.tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:hover, +.tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:focus { + background: transparent; + box-shadow: none; + color: rgba(34, 47, 62, 0.5); +} +.tox .tox-toolbar-overlord { + background-color: #fff; +} +.tox .tox-toolbar, +.tox .tox-toolbar__primary, +.tox .tox-toolbar__overflow { + background: url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23cccccc'/%3E%3C/svg%3E") left 0 top 0 #fff; + background-color: #fff; + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: wrap; + padding: 0 0; +} +.tox .tox-toolbar__overflow.tox-toolbar__overflow--closed { + height: 0; + opacity: 0; + padding-bottom: 0; + padding-top: 0; + visibility: hidden; +} +.tox .tox-toolbar__overflow--growing { + transition: height 0.3s ease, opacity 0.2s linear 0.1s; +} +.tox .tox-toolbar__overflow--shrinking { + transition: opacity 0.3s ease, height 0.2s linear 0.1s, visibility 0s linear 0.3s; +} +.tox .tox-menubar + .tox-toolbar, +.tox .tox-menubar + .tox-toolbar-overlord .tox-toolbar__primary { + border-top: 1px solid #cccccc; + margin-top: -1px; +} +.tox .tox-toolbar--scrolling { + flex-wrap: nowrap; + overflow-x: auto; +} +.tox .tox-pop .tox-toolbar { + border-width: 0; +} +.tox .tox-toolbar--no-divider { + background-image: none; +} +.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar:first-child, +.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar-overlord:first-child .tox-toolbar__primary { + border-top: 1px solid #cccccc; +} +.tox.tox-tinymce-aux .tox-toolbar__overflow { + background-color: #fff; + border: 1px solid #cccccc; + border-radius: 3px; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15); +} +.tox[dir=rtl] .tox-tbtn__icon-rtl svg { + transform: rotateY(180deg); +} +.tox .tox-toolbar__group { + align-items: center; + display: flex; + flex-wrap: wrap; + margin: 0 0; + padding: 0 4px 0 4px; +} +.tox .tox-toolbar__group--pull-right { + margin-left: auto; +} +.tox .tox-toolbar--scrolling .tox-toolbar__group { + flex-shrink: 0; + flex-wrap: nowrap; +} +.tox:not([dir=rtl]) .tox-toolbar__group:not(:last-of-type) { + border-right: 1px solid #cccccc; +} +.tox[dir=rtl] .tox-toolbar__group:not(:last-of-type) { + border-left: 1px solid #cccccc; +} +.tox .tox-tooltip { + display: inline-block; + padding: 8px; + position: relative; +} +.tox .tox-tooltip__body { + background-color: #222f3e; + border-radius: 3px; + box-shadow: 0 2px 4px rgba(34, 47, 62, 0.3); + color: rgba(255, 255, 255, 0.75); + font-size: 14px; + font-style: normal; + font-weight: normal; + padding: 4px 8px; + text-transform: none; +} +.tox .tox-tooltip__arrow { + position: absolute; +} +.tox .tox-tooltip--down .tox-tooltip__arrow { + border-left: 8px solid transparent; + border-right: 8px solid transparent; + border-top: 8px solid #222f3e; + bottom: 0; + left: 50%; + position: absolute; + transform: translateX(-50%); +} +.tox .tox-tooltip--up .tox-tooltip__arrow { + border-bottom: 8px solid #222f3e; + border-left: 8px solid transparent; + border-right: 8px solid transparent; + left: 50%; + position: absolute; + top: 0; + transform: translateX(-50%); +} +.tox .tox-tooltip--right .tox-tooltip__arrow { + border-bottom: 8px solid transparent; + border-left: 8px solid #222f3e; + border-top: 8px solid transparent; + position: absolute; + right: 0; + top: 50%; + transform: translateY(-50%); +} +.tox .tox-tooltip--left .tox-tooltip__arrow { + border-bottom: 8px solid transparent; + border-right: 8px solid #222f3e; + border-top: 8px solid transparent; + left: 0; + position: absolute; + top: 50%; + transform: translateY(-50%); +} +.tox .tox-well { + border: 1px solid #cccccc; + border-radius: 3px; + padding: 8px; + width: 100%; +} +.tox .tox-well > *:first-child { + margin-top: 0; +} +.tox .tox-well > *:last-child { + margin-bottom: 0; +} +.tox .tox-well > *:only-child { + margin: 0; +} +.tox .tox-custom-editor { + border: 1px solid #cccccc; + border-radius: 3px; + display: flex; + flex: 1; + position: relative; +} +/* stylelint-disable */ +.tox { + /* stylelint-enable */ +} +.tox .tox-dialog-loading::before { + background-color: rgba(0, 0, 0, 0.5); + content: ""; + height: 100%; + position: absolute; + width: 100%; + z-index: 1000; +} +.tox .tox-tab { + cursor: pointer; +} +.tox .tox-dialog__content-js { + display: flex; + flex: 1; + -ms-flex-preferred-size: auto; +} +.tox .tox-dialog__body-content .tox-collection { + display: flex; + flex: 1; + -ms-flex-preferred-size: auto; +} +.tox .tox-image-tools-edit-panel { + height: 60px; +} +.tox .tox-image-tools__sidebar { + height: 60px; +} diff --git a/public/tinymce/skins/ui/oxide/skin.min.css b/public/tinymce/skins/ui/oxide/skin.min.css new file mode 100644 index 00000000..2a00fac8 --- /dev/null +++ b/public/tinymce/skins/ui/oxide/skin.min.css @@ -0,0 +1,7 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +.tox{box-shadow:none;box-sizing:content-box;color:#222f3e;cursor:auto;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:normal;-webkit-tap-highlight-color:transparent;text-decoration:none;text-shadow:none;text-transform:none;vertical-align:initial;white-space:normal}.tox :not(svg):not(rect){box-sizing:inherit;color:inherit;cursor:inherit;direction:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;line-height:inherit;-webkit-tap-highlight-color:inherit;text-align:inherit;text-decoration:inherit;text-shadow:inherit;text-transform:inherit;vertical-align:inherit;white-space:inherit}.tox :not(svg):not(rect){background:0 0;border:0;box-shadow:none;float:none;height:auto;margin:0;max-width:none;outline:0;padding:0;position:static;width:auto}.tox:not([dir=rtl]){direction:ltr;text-align:left}.tox[dir=rtl]{direction:rtl;text-align:right}.tox-tinymce{border:1px solid #ccc;border-radius:0;box-shadow:none;box-sizing:border-box;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;overflow:hidden;position:relative;visibility:inherit!important}.tox-tinymce-inline{border:none;box-shadow:none}.tox-tinymce-inline .tox-editor-header{background-color:transparent;border:1px solid #ccc;border-radius:0;box-shadow:none}.tox-tinymce-aux{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;z-index:1300}.tox-tinymce :focus,.tox-tinymce-aux :focus{outline:0}button::-moz-focus-inner{border:0}.tox .accessibility-issue__header{align-items:center;display:flex;margin-bottom:4px}.tox .accessibility-issue__description{align-items:stretch;border:1px solid #ccc;border-radius:3px;display:flex;justify-content:space-between}.tox .accessibility-issue__description>div{padding-bottom:4px}.tox .accessibility-issue__description>div>div{align-items:center;display:flex;margin-bottom:4px}.tox .accessibility-issue__description>:last-child:not(:only-child){border-color:#ccc;border-style:solid}.tox .accessibility-issue__repair{margin-top:16px}.tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description{background-color:rgba(32,122,183,.1);border-color:rgba(32,122,183,.4);color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description>:last-child{border-color:rgba(32,122,183,.4)}.tox .tox-dialog__body-content .accessibility-issue--info .tox-form__group h2{color:#207ab7}.tox .tox-dialog__body-content .accessibility-issue--info .tox-icon svg{fill:#207ab7}.tox .tox-dialog__body-content .accessibility-issue--info a .tox-icon{color:#207ab7}.tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description{background-color:rgba(255,165,0,.1);border-color:rgba(255,165,0,.5);color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description>:last-child{border-color:rgba(255,165,0,.5)}.tox .tox-dialog__body-content .accessibility-issue--warn .tox-form__group h2{color:#cc8500}.tox .tox-dialog__body-content .accessibility-issue--warn .tox-icon svg{fill:#cc8500}.tox .tox-dialog__body-content .accessibility-issue--warn a .tox-icon{color:#cc8500}.tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description{background-color:rgba(204,0,0,.1);border-color:rgba(204,0,0,.4);color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description>:last-child{border-color:rgba(204,0,0,.4)}.tox .tox-dialog__body-content .accessibility-issue--error .tox-form__group h2{color:#c00}.tox .tox-dialog__body-content .accessibility-issue--error .tox-icon svg{fill:#c00}.tox .tox-dialog__body-content .accessibility-issue--error a .tox-icon{color:#c00}.tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description{background-color:rgba(120,171,70,.1);border-color:rgba(120,171,70,.4);color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description>:last-child{border-color:rgba(120,171,70,.4)}.tox .tox-dialog__body-content .accessibility-issue--success .tox-form__group h2{color:#78ab46}.tox .tox-dialog__body-content .accessibility-issue--success .tox-icon svg{fill:#78ab46}.tox .tox-dialog__body-content .accessibility-issue--success a .tox-icon{color:#78ab46}.tox .tox-dialog__body-content .accessibility-issue__header h1,.tox .tox-dialog__body-content .tox-form__group .accessibility-issue__description h2{margin-top:0}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__header .tox-button{margin-left:4px}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__header>:nth-last-child(2){margin-left:auto}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__description{padding:4px 4px 4px 8px}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__description>:last-child{border-left-width:1px;padding-left:4px}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__header .tox-button{margin-right:4px}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__header>:nth-last-child(2){margin-right:auto}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__description{padding:4px 8px 4px 4px}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__description>:last-child{border-right-width:1px;padding-right:4px}.tox .tox-anchorbar{display:flex;flex:0 0 auto}.tox .tox-bar{display:flex;flex:0 0 auto}.tox .tox-button{background-color:#207ab7;background-image:none;background-position:0 0;background-repeat:repeat;border-color:#207ab7;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;font-style:normal;font-weight:700;letter-spacing:normal;line-height:24px;margin:0;outline:0;padding:4px 16px;text-align:center;text-decoration:none;text-transform:none;white-space:nowrap}.tox .tox-button[disabled]{background-color:#207ab7;background-image:none;border-color:#207ab7;box-shadow:none;color:rgba(255,255,255,.5);cursor:not-allowed}.tox .tox-button:focus:not(:disabled){background-color:#1c6ca1;background-image:none;border-color:#1c6ca1;box-shadow:none;color:#fff}.tox .tox-button:hover:not(:disabled){background-color:#1c6ca1;background-image:none;border-color:#1c6ca1;box-shadow:none;color:#fff}.tox .tox-button:active:not(:disabled){background-color:#185d8c;background-image:none;border-color:#185d8c;box-shadow:none;color:#fff}.tox .tox-button--secondary{background-color:#f0f0f0;background-image:none;background-position:0 0;background-repeat:repeat;border-color:#f0f0f0;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;color:#222f3e;font-size:14px;font-style:normal;font-weight:700;letter-spacing:normal;outline:0;padding:4px 16px;text-decoration:none;text-transform:none}.tox .tox-button--secondary[disabled]{background-color:#f0f0f0;background-image:none;border-color:#f0f0f0;box-shadow:none;color:rgba(34,47,62,.5)}.tox .tox-button--secondary:focus:not(:disabled){background-color:#e3e3e3;background-image:none;border-color:#e3e3e3;box-shadow:none;color:#222f3e}.tox .tox-button--secondary:hover:not(:disabled){background-color:#e3e3e3;background-image:none;border-color:#e3e3e3;box-shadow:none;color:#222f3e}.tox .tox-button--secondary:active:not(:disabled){background-color:#d6d6d6;background-image:none;border-color:#d6d6d6;box-shadow:none;color:#222f3e}.tox .tox-button--icon,.tox .tox-button.tox-button--icon,.tox .tox-button.tox-button--secondary.tox-button--icon{padding:4px}.tox .tox-button--icon .tox-icon svg,.tox .tox-button.tox-button--icon .tox-icon svg,.tox .tox-button.tox-button--secondary.tox-button--icon .tox-icon svg{display:block;fill:currentColor}.tox .tox-button-link{background:0;border:none;box-sizing:border-box;cursor:pointer;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;font-weight:400;line-height:1.3;margin:0;padding:0;white-space:nowrap}.tox .tox-button-link--sm{font-size:14px}.tox .tox-button--naked{background-color:transparent;border-color:transparent;box-shadow:unset;color:#222f3e}.tox .tox-button--naked[disabled]{background-color:#f0f0f0;border-color:#f0f0f0;box-shadow:none;color:rgba(34,47,62,.5)}.tox .tox-button--naked:hover:not(:disabled){background-color:#e3e3e3;border-color:#e3e3e3;box-shadow:none;color:#222f3e}.tox .tox-button--naked:focus:not(:disabled){background-color:#e3e3e3;border-color:#e3e3e3;box-shadow:none;color:#222f3e}.tox .tox-button--naked:active:not(:disabled){background-color:#d6d6d6;border-color:#d6d6d6;box-shadow:none;color:#222f3e}.tox .tox-button--naked .tox-icon svg{fill:currentColor}.tox .tox-button--naked.tox-button--icon:hover:not(:disabled){color:#222f3e}.tox .tox-checkbox{align-items:center;border-radius:3px;cursor:pointer;display:flex;height:36px;min-width:36px}.tox .tox-checkbox__input{height:1px;overflow:hidden;position:absolute;top:auto;width:1px}.tox .tox-checkbox__icons{align-items:center;border-radius:3px;box-shadow:0 0 0 2px transparent;box-sizing:content-box;display:flex;height:24px;justify-content:center;padding:calc(4px - 1px);width:24px}.tox .tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:block;fill:rgba(34,47,62,.3)}.tox .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{display:none;fill:#207ab7}.tox .tox-checkbox__icons .tox-checkbox-icon__checked svg{display:none;fill:#207ab7}.tox .tox-checkbox--disabled{color:rgba(34,47,62,.5);cursor:not-allowed}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__checked svg{fill:rgba(34,47,62,.5)}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__unchecked svg{fill:rgba(34,47,62,.5)}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{fill:rgba(34,47,62,.5)}.tox input.tox-checkbox__input:checked+.tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:none}.tox input.tox-checkbox__input:checked+.tox-checkbox__icons .tox-checkbox-icon__checked svg{display:block}.tox input.tox-checkbox__input:indeterminate+.tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:none}.tox input.tox-checkbox__input:indeterminate+.tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{display:block}.tox input.tox-checkbox__input:focus+.tox-checkbox__icons{border-radius:3px;box-shadow:inset 0 0 0 1px #207ab7;padding:calc(4px - 1px)}.tox:not([dir=rtl]) .tox-checkbox__label{margin-left:4px}.tox:not([dir=rtl]) .tox-checkbox__input{left:-10000px}.tox:not([dir=rtl]) .tox-bar .tox-checkbox{margin-left:4px}.tox[dir=rtl] .tox-checkbox__label{margin-right:4px}.tox[dir=rtl] .tox-checkbox__input{right:-10000px}.tox[dir=rtl] .tox-bar .tox-checkbox{margin-right:4px}.tox .tox-collection--toolbar .tox-collection__group{display:flex;padding:0}.tox .tox-collection--grid .tox-collection__group{display:flex;flex-wrap:wrap;max-height:208px;overflow-x:hidden;overflow-y:auto;padding:0}.tox .tox-collection--list .tox-collection__group{border-bottom-width:0;border-color:#ccc;border-left-width:0;border-right-width:0;border-style:solid;border-top-width:1px;padding:4px 0}.tox .tox-collection--list .tox-collection__group:first-child{border-top-width:0}.tox .tox-collection__group-heading{background-color:#e6e6e6;color:rgba(34,47,62,.7);cursor:default;font-size:12px;font-style:normal;font-weight:400;margin-bottom:4px;margin-top:-4px;padding:4px 8px;text-transform:none;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tox .tox-collection__item{align-items:center;color:#222f3e;cursor:pointer;display:flex;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tox .tox-collection--list .tox-collection__item{padding:4px 8px}.tox .tox-collection--toolbar .tox-collection__item{border-radius:3px;padding:4px}.tox .tox-collection--grid .tox-collection__item{border-radius:3px;padding:4px}.tox .tox-collection--list .tox-collection__item--enabled{background-color:#fff;color:#222f3e}.tox .tox-collection--list .tox-collection__item--active{background-color:#dee0e2}.tox .tox-collection--toolbar .tox-collection__item--enabled{background-color:#c8cbcf;color:#222f3e}.tox .tox-collection--toolbar .tox-collection__item--active{background-color:#dee0e2}.tox .tox-collection--grid .tox-collection__item--enabled{background-color:#c8cbcf;color:#222f3e}.tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled){background-color:#dee0e2;color:#222f3e}.tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled){color:#222f3e}.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled){color:#222f3e}.tox .tox-collection__item--state-disabled{background-color:transparent;color:rgba(34,47,62,.5);cursor:not-allowed}.tox .tox-collection__item-checkmark,.tox .tox-collection__item-icon{align-items:center;display:flex;height:24px;justify-content:center;width:24px}.tox .tox-collection__item-checkmark svg,.tox .tox-collection__item-icon svg{fill:currentColor}.tox .tox-collection--toolbar-lg .tox-collection__item-icon{height:48px;width:48px}.tox .tox-collection__item-label{color:currentColor;display:inline-block;flex:1;-ms-flex-preferred-size:auto;font-size:14px;font-style:normal;font-weight:400;line-height:24px;text-transform:none;word-break:break-all}.tox .tox-collection__item-accessory{color:rgba(34,47,62,.7);display:inline-block;font-size:14px;height:24px;line-height:24px;text-transform:none}.tox .tox-collection__item-caret{align-items:center;display:flex;min-height:24px}.tox .tox-collection__item-caret::after{content:'';font-size:0;min-height:inherit}.tox .tox-collection__item-caret svg{fill:#222f3e}.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-checkmark svg{display:none}.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-accessory+.tox-collection__item-checkmark{display:none}.tox .tox-collection--horizontal{background-color:#fff;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.15);display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:nowrap;margin-bottom:0;overflow-x:auto;padding:0}.tox .tox-collection--horizontal .tox-collection__group{align-items:center;display:flex;flex-wrap:nowrap;margin:0;padding:0 4px}.tox .tox-collection--horizontal .tox-collection__item{height:34px;margin:2px 0 3px 0;padding:0 4px}.tox .tox-collection--horizontal .tox-collection__item-label{white-space:nowrap}.tox .tox-collection--horizontal .tox-collection__item-caret{margin-left:4px}.tox .tox-collection__item-container{display:flex}.tox .tox-collection__item-container--row{align-items:center;flex:1 1 auto;flex-direction:row}.tox .tox-collection__item-container--row.tox-collection__item-container--align-left{margin-right:auto}.tox .tox-collection__item-container--row.tox-collection__item-container--align-right{justify-content:flex-end;margin-left:auto}.tox .tox-collection__item-container--row.tox-collection__item-container--valign-top{align-items:flex-start;margin-bottom:auto}.tox .tox-collection__item-container--row.tox-collection__item-container--valign-middle{align-items:center}.tox .tox-collection__item-container--row.tox-collection__item-container--valign-bottom{align-items:flex-end;margin-top:auto}.tox .tox-collection__item-container--column{-ms-grid-row-align:center;align-self:center;flex:1 1 auto;flex-direction:column}.tox .tox-collection__item-container--column.tox-collection__item-container--align-left{align-items:flex-start}.tox .tox-collection__item-container--column.tox-collection__item-container--align-right{align-items:flex-end}.tox .tox-collection__item-container--column.tox-collection__item-container--valign-top{align-self:flex-start}.tox .tox-collection__item-container--column.tox-collection__item-container--valign-middle{-ms-grid-row-align:center;align-self:center}.tox .tox-collection__item-container--column.tox-collection__item-container--valign-bottom{align-self:flex-end}.tox:not([dir=rtl]) .tox-collection--horizontal .tox-collection__group:not(:last-of-type){border-right:1px solid #ccc}.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item>:not(:first-child){margin-left:8px}.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item>.tox-collection__item-label:first-child{margin-left:4px}.tox:not([dir=rtl]) .tox-collection__item-accessory{margin-left:16px;text-align:right}.tox:not([dir=rtl]) .tox-collection .tox-collection__item-caret{margin-left:16px}.tox[dir=rtl] .tox-collection--horizontal .tox-collection__group:not(:last-of-type){border-left:1px solid #ccc}.tox[dir=rtl] .tox-collection--list .tox-collection__item>:not(:first-child){margin-right:8px}.tox[dir=rtl] .tox-collection--list .tox-collection__item>.tox-collection__item-label:first-child{margin-right:4px}.tox[dir=rtl] .tox-collection__item-icon-rtl .tox-collection__item-icon svg{transform:rotateY(180deg)}.tox[dir=rtl] .tox-collection__item-accessory{margin-right:16px;text-align:left}.tox[dir=rtl] .tox-collection .tox-collection__item-caret{margin-right:16px;transform:rotateY(180deg)}.tox[dir=rtl] .tox-collection--horizontal .tox-collection__item-caret{margin-right:4px}.tox .tox-color-picker-container{display:flex;flex-direction:row;height:225px;margin:0}.tox .tox-sv-palette{box-sizing:border-box;display:flex;height:100%}.tox .tox-sv-palette-spectrum{height:100%}.tox .tox-sv-palette,.tox .tox-sv-palette-spectrum{width:225px}.tox .tox-sv-palette-thumb{background:0 0;border:1px solid #000;border-radius:50%;box-sizing:content-box;height:12px;position:absolute;width:12px}.tox .tox-sv-palette-inner-thumb{border:1px solid #fff;border-radius:50%;height:10px;position:absolute;width:10px}.tox .tox-hue-slider{box-sizing:border-box;height:100%;width:25px}.tox .tox-hue-slider-spectrum{background:linear-gradient(to bottom,red,#ff0080,#f0f,#8000ff,#00f,#0080ff,#0ff,#00ff80,#0f0,#80ff00,#ff0,#ff8000,red);height:100%;width:100%}.tox .tox-hue-slider,.tox .tox-hue-slider-spectrum{width:20px}.tox .tox-hue-slider-thumb{background:#fff;border:1px solid #000;box-sizing:content-box;height:4px;width:100%}.tox .tox-rgb-form{display:flex;flex-direction:column;justify-content:space-between}.tox .tox-rgb-form div{align-items:center;display:flex;justify-content:space-between;margin-bottom:5px;width:inherit}.tox .tox-rgb-form input{width:6em}.tox .tox-rgb-form input.tox-invalid{border:1px solid red!important}.tox .tox-rgb-form .tox-rgba-preview{border:1px solid #000;flex-grow:2;margin-bottom:0}.tox:not([dir=rtl]) .tox-sv-palette{margin-right:15px}.tox:not([dir=rtl]) .tox-hue-slider{margin-right:15px}.tox:not([dir=rtl]) .tox-hue-slider-thumb{margin-left:-1px}.tox:not([dir=rtl]) .tox-rgb-form label{margin-right:.5em}.tox[dir=rtl] .tox-sv-palette{margin-left:15px}.tox[dir=rtl] .tox-hue-slider{margin-left:15px}.tox[dir=rtl] .tox-hue-slider-thumb{margin-right:-1px}.tox[dir=rtl] .tox-rgb-form label{margin-left:.5em}.tox .tox-toolbar .tox-swatches,.tox .tox-toolbar__overflow .tox-swatches,.tox .tox-toolbar__primary .tox-swatches{margin:2px 0 3px 4px}.tox .tox-collection--list .tox-collection__group .tox-swatches-menu{border:0;margin:-4px 0}.tox .tox-swatches__row{display:flex}.tox .tox-swatch{height:30px;transition:transform .15s,box-shadow .15s;width:30px}.tox .tox-swatch:focus,.tox .tox-swatch:hover{box-shadow:0 0 0 1px rgba(127,127,127,.3) inset;transform:scale(.8)}.tox .tox-swatch--remove{align-items:center;display:flex;justify-content:center}.tox .tox-swatch--remove svg path{stroke:#e74c3c}.tox .tox-swatches__picker-btn{align-items:center;background-color:transparent;border:0;cursor:pointer;display:flex;height:30px;justify-content:center;outline:0;padding:0;width:30px}.tox .tox-swatches__picker-btn svg{height:24px;width:24px}.tox .tox-swatches__picker-btn:hover{background:#dee0e2}.tox:not([dir=rtl]) .tox-swatches__picker-btn{margin-left:auto}.tox[dir=rtl] .tox-swatches__picker-btn{margin-right:auto}.tox .tox-comment-thread{background:#fff;position:relative}.tox .tox-comment-thread>:not(:first-child){margin-top:8px}.tox .tox-comment{background:#fff;border:1px solid #ccc;border-radius:3px;box-shadow:0 4px 8px 0 rgba(34,47,62,.1);padding:8px 8px 16px 8px;position:relative}.tox .tox-comment__header{align-items:center;color:#222f3e;display:flex;justify-content:space-between}.tox .tox-comment__date{color:rgba(34,47,62,.7);font-size:12px}.tox .tox-comment__body{color:#222f3e;font-size:14px;font-style:normal;font-weight:400;line-height:1.3;margin-top:8px;position:relative;text-transform:initial}.tox .tox-comment__body textarea{resize:none;white-space:normal;width:100%}.tox .tox-comment__expander{padding-top:8px}.tox .tox-comment__expander p{color:rgba(34,47,62,.7);font-size:14px;font-style:normal}.tox .tox-comment__body p{margin:0}.tox .tox-comment__buttonspacing{padding-top:16px;text-align:center}.tox .tox-comment-thread__overlay::after{background:#fff;bottom:0;content:"";display:flex;left:0;opacity:.9;position:absolute;right:0;top:0;z-index:5}.tox .tox-comment__reply{display:flex;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;margin-top:8px}.tox .tox-comment__reply>:first-child{margin-bottom:8px;width:100%}.tox .tox-comment__edit{display:flex;flex-wrap:wrap;justify-content:flex-end;margin-top:16px}.tox .tox-comment__gradient::after{background:linear-gradient(rgba(255,255,255,0),#fff);bottom:0;content:"";display:block;height:5em;margin-top:-40px;position:absolute;width:100%}.tox .tox-comment__overlay{background:#fff;bottom:0;display:flex;flex-direction:column;flex-grow:1;left:0;opacity:.9;position:absolute;right:0;text-align:center;top:0;z-index:5}.tox .tox-comment__loading-text{align-items:center;color:#222f3e;display:flex;flex-direction:column;position:relative}.tox .tox-comment__loading-text>div{padding-bottom:16px}.tox .tox-comment__overlaytext{bottom:0;flex-direction:column;font-size:14px;left:0;padding:1em;position:absolute;right:0;top:0;z-index:10}.tox .tox-comment__overlaytext p{background-color:#fff;box-shadow:0 0 8px 8px #fff;color:#222f3e;text-align:center}.tox .tox-comment__overlaytext div:nth-of-type(2){font-size:.8em}.tox .tox-comment__busy-spinner{align-items:center;background-color:#fff;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:20}.tox .tox-comment__scroll{display:flex;flex-direction:column;flex-shrink:1;overflow:auto}.tox .tox-conversations{margin:8px}.tox:not([dir=rtl]) .tox-comment__edit{margin-left:8px}.tox:not([dir=rtl]) .tox-comment__buttonspacing>:last-child,.tox:not([dir=rtl]) .tox-comment__edit>:last-child,.tox:not([dir=rtl]) .tox-comment__reply>:last-child{margin-left:8px}.tox[dir=rtl] .tox-comment__edit{margin-right:8px}.tox[dir=rtl] .tox-comment__buttonspacing>:last-child,.tox[dir=rtl] .tox-comment__edit>:last-child,.tox[dir=rtl] .tox-comment__reply>:last-child{margin-right:8px}.tox .tox-user{align-items:center;display:flex}.tox .tox-user__avatar svg{fill:rgba(34,47,62,.7)}.tox .tox-user__name{color:rgba(34,47,62,.7);font-size:12px;font-style:normal;font-weight:700;text-transform:uppercase}.tox:not([dir=rtl]) .tox-user__avatar svg{margin-right:8px}.tox:not([dir=rtl]) .tox-user__avatar+.tox-user__name{margin-left:8px}.tox[dir=rtl] .tox-user__avatar svg{margin-left:8px}.tox[dir=rtl] .tox-user__avatar+.tox-user__name{margin-right:8px}.tox .tox-dialog-wrap{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1100}.tox .tox-dialog-wrap__backdrop{background-color:rgba(255,255,255,.75);bottom:0;left:0;position:absolute;right:0;top:0;z-index:1}.tox .tox-dialog-wrap__backdrop--opaque{background-color:#fff}.tox .tox-dialog{background-color:#fff;border-color:#ccc;border-radius:3px;border-style:solid;border-width:1px;box-shadow:0 16px 16px -10px rgba(34,47,62,.15),0 0 40px 1px rgba(34,47,62,.15);display:flex;flex-direction:column;max-height:100%;max-width:480px;overflow:hidden;position:relative;width:95vw;z-index:2}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog{align-self:flex-start;margin:8px auto;width:calc(100vw - 16px)}}.tox .tox-dialog-inline{z-index:1100}.tox .tox-dialog__header{align-items:center;background-color:#fff;border-bottom:none;color:#222f3e;display:flex;font-size:16px;justify-content:space-between;padding:8px 16px 0 16px;position:relative}.tox .tox-dialog__header .tox-button{z-index:1}.tox .tox-dialog__draghandle{cursor:grab;height:100%;left:0;position:absolute;top:0;width:100%}.tox .tox-dialog__draghandle:active{cursor:grabbing}.tox .tox-dialog__dismiss{margin-left:auto}.tox .tox-dialog__title{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:20px;font-style:normal;font-weight:400;line-height:1.3;margin:0;text-transform:none}.tox .tox-dialog__body{color:#222f3e;display:flex;flex:1;-ms-flex-preferred-size:auto;font-size:16px;font-style:normal;font-weight:400;line-height:1.3;min-width:0;text-align:left;text-transform:none}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog__body{flex-direction:column}}.tox .tox-dialog__body-nav{align-items:flex-start;display:flex;flex-direction:column;padding:16px 16px}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog__body-nav{flex-direction:row;-webkit-overflow-scrolling:touch;overflow-x:auto;padding-bottom:0}}.tox .tox-dialog__body-nav-item{border-bottom:2px solid transparent;color:rgba(34,47,62,.7);display:inline-block;font-size:14px;line-height:1.3;margin-bottom:8px;text-decoration:none;white-space:nowrap}.tox .tox-dialog__body-nav-item:focus{background-color:rgba(32,122,183,.1)}.tox .tox-dialog__body-nav-item--active{border-bottom:2px solid #207ab7;color:#207ab7}.tox .tox-dialog__body-content{box-sizing:border-box;display:flex;flex:1;flex-direction:column;-ms-flex-preferred-size:auto;max-height:650px;overflow:auto;-webkit-overflow-scrolling:touch;padding:16px 16px}.tox .tox-dialog__body-content>*{margin-bottom:0;margin-top:16px}.tox .tox-dialog__body-content>:first-child{margin-top:0}.tox .tox-dialog__body-content>:last-child{margin-bottom:0}.tox .tox-dialog__body-content>:only-child{margin-bottom:0;margin-top:0}.tox .tox-dialog__body-content a{color:#207ab7;cursor:pointer;text-decoration:none}.tox .tox-dialog__body-content a:focus,.tox .tox-dialog__body-content a:hover{color:#185d8c;text-decoration:none}.tox .tox-dialog__body-content a:active{color:#185d8c;text-decoration:none}.tox .tox-dialog__body-content svg{fill:#222f3e}.tox .tox-dialog__body-content ul{display:block;list-style-type:disc;margin-bottom:16px;-webkit-margin-end:0;margin-inline-end:0;-webkit-margin-start:0;margin-inline-start:0;-webkit-padding-start:2.5rem;padding-inline-start:2.5rem}.tox .tox-dialog__body-content .tox-form__group h1{color:#222f3e;font-size:20px;font-style:normal;font-weight:700;letter-spacing:normal;margin-bottom:16px;margin-top:2rem;text-transform:none}.tox .tox-dialog__body-content .tox-form__group h2{color:#222f3e;font-size:16px;font-style:normal;font-weight:700;letter-spacing:normal;margin-bottom:16px;margin-top:2rem;text-transform:none}.tox .tox-dialog__body-content .tox-form__group p{margin-bottom:16px}.tox .tox-dialog__body-content .tox-form__group h1:first-child,.tox .tox-dialog__body-content .tox-form__group h2:first-child,.tox .tox-dialog__body-content .tox-form__group p:first-child{margin-top:0}.tox .tox-dialog__body-content .tox-form__group h1:last-child,.tox .tox-dialog__body-content .tox-form__group h2:last-child,.tox .tox-dialog__body-content .tox-form__group p:last-child{margin-bottom:0}.tox .tox-dialog__body-content .tox-form__group h1:only-child,.tox .tox-dialog__body-content .tox-form__group h2:only-child,.tox .tox-dialog__body-content .tox-form__group p:only-child{margin-bottom:0;margin-top:0}.tox .tox-dialog--width-lg{height:650px;max-width:1200px}.tox .tox-dialog--width-md{max-width:800px}.tox .tox-dialog--width-md .tox-dialog__body-content{overflow:auto}.tox .tox-dialog__body-content--centered{text-align:center}.tox .tox-dialog__footer{align-items:center;background-color:#fff;border-top:1px solid #ccc;display:flex;justify-content:space-between;padding:8px 16px}.tox .tox-dialog__footer-end,.tox .tox-dialog__footer-start{display:flex}.tox .tox-dialog__busy-spinner{align-items:center;background-color:rgba(255,255,255,.75);bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:3}.tox .tox-dialog__table{border-collapse:collapse;width:100%}.tox .tox-dialog__table thead th{font-weight:700;padding-bottom:8px}.tox .tox-dialog__table tbody tr{border-bottom:1px solid #ccc}.tox .tox-dialog__table tbody tr:last-child{border-bottom:none}.tox .tox-dialog__table td{padding-bottom:8px;padding-top:8px}.tox .tox-dialog__popups{position:absolute;width:100%;z-index:1100}.tox .tox-dialog__body-iframe{display:flex;flex:1;flex-direction:column;-ms-flex-preferred-size:auto}.tox .tox-dialog__body-iframe .tox-navobj{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-dialog__body-iframe .tox-navobj :nth-child(2){flex:1;-ms-flex-preferred-size:auto;height:100%}.tox .tox-dialog-dock-fadeout{opacity:0;visibility:hidden}.tox .tox-dialog-dock-fadein{opacity:1;visibility:visible}.tox .tox-dialog-dock-transition{transition:visibility 0s linear .3s,opacity .3s ease}.tox .tox-dialog-dock-transition.tox-dialog-dock-fadein{transition-delay:0s}.tox.tox-platform-ie .tox-dialog-wrap{position:-ms-device-fixed}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav{margin-right:0}}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav-item:not(:first-child){margin-left:8px}}.tox:not([dir=rtl]) .tox-dialog__footer .tox-dialog__footer-end>*,.tox:not([dir=rtl]) .tox-dialog__footer .tox-dialog__footer-start>*{margin-left:8px}.tox[dir=rtl] .tox-dialog__body{text-align:right}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav{margin-left:0}}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav-item:not(:first-child){margin-right:8px}}.tox[dir=rtl] .tox-dialog__footer .tox-dialog__footer-end>*,.tox[dir=rtl] .tox-dialog__footer .tox-dialog__footer-start>*{margin-right:8px}body.tox-dialog__disable-scroll{overflow:hidden}.tox .tox-dropzone-container{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-dropzone{align-items:center;background:#fff;border:2px dashed #ccc;box-sizing:border-box;display:flex;flex-direction:column;flex-grow:1;justify-content:center;min-height:100px;padding:10px}.tox .tox-dropzone p{color:rgba(34,47,62,.7);margin:0 0 16px 0}.tox .tox-edit-area{display:flex;flex:1;-ms-flex-preferred-size:auto;overflow:hidden;position:relative}.tox .tox-edit-area__iframe{background-color:#fff;border:0;box-sizing:border-box;flex:1;-ms-flex-preferred-size:auto;height:100%;position:absolute;width:100%}.tox.tox-inline-edit-area{border:1px dotted #ccc}.tox .tox-editor-container{display:flex;flex:1 1 auto;flex-direction:column;overflow:hidden}.tox .tox-editor-header{z-index:1}.tox:not(.tox-tinymce-inline) .tox-editor-header{box-shadow:none;transition:box-shadow .5s}.tox.tox-tinymce--toolbar-bottom .tox-editor-header,.tox.tox-tinymce-inline .tox-editor-header{margin-bottom:-1px}.tox.tox-tinymce--toolbar-sticky-on .tox-editor-header{background-color:transparent;box-shadow:0 4px 4px -3px rgba(0,0,0,.25)}.tox-editor-dock-fadeout{opacity:0;visibility:hidden}.tox-editor-dock-fadein{opacity:1;visibility:visible}.tox-editor-dock-transition{transition:visibility 0s linear .25s,opacity .25s ease}.tox-editor-dock-transition.tox-editor-dock-fadein{transition-delay:0s}.tox .tox-control-wrap{flex:1;position:relative}.tox .tox-control-wrap:not(.tox-control-wrap--status-invalid) .tox-control-wrap__status-icon-invalid,.tox .tox-control-wrap:not(.tox-control-wrap--status-unknown) .tox-control-wrap__status-icon-unknown,.tox .tox-control-wrap:not(.tox-control-wrap--status-valid) .tox-control-wrap__status-icon-valid{display:none}.tox .tox-control-wrap svg{display:block}.tox .tox-control-wrap__status-icon-wrap{position:absolute;top:50%;transform:translateY(-50%)}.tox .tox-control-wrap__status-icon-invalid svg{fill:#c00}.tox .tox-control-wrap__status-icon-unknown svg{fill:orange}.tox .tox-control-wrap__status-icon-valid svg{fill:green}.tox:not([dir=rtl]) .tox-control-wrap--status-invalid .tox-textfield,.tox:not([dir=rtl]) .tox-control-wrap--status-unknown .tox-textfield,.tox:not([dir=rtl]) .tox-control-wrap--status-valid .tox-textfield{padding-right:32px}.tox:not([dir=rtl]) .tox-control-wrap__status-icon-wrap{right:4px}.tox[dir=rtl] .tox-control-wrap--status-invalid .tox-textfield,.tox[dir=rtl] .tox-control-wrap--status-unknown .tox-textfield,.tox[dir=rtl] .tox-control-wrap--status-valid .tox-textfield{padding-left:32px}.tox[dir=rtl] .tox-control-wrap__status-icon-wrap{left:4px}.tox .tox-autocompleter{max-width:25em}.tox .tox-autocompleter .tox-menu{max-width:25em}.tox .tox-autocompleter .tox-autocompleter-highlight{font-weight:700}.tox .tox-color-input{display:flex;position:relative;z-index:1}.tox .tox-color-input .tox-textfield{z-index:-1}.tox .tox-color-input span{border-color:rgba(34,47,62,.2);border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;height:24px;position:absolute;top:6px;width:24px}.tox .tox-color-input span:focus:not([aria-disabled=true]),.tox .tox-color-input span:hover:not([aria-disabled=true]){border-color:#207ab7;cursor:pointer}.tox .tox-color-input span::before{background-image:linear-gradient(45deg,rgba(0,0,0,.25) 25%,transparent 25%),linear-gradient(-45deg,rgba(0,0,0,.25) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(0,0,0,.25) 75%),linear-gradient(-45deg,transparent 75%,rgba(0,0,0,.25) 75%);background-position:0 0,0 6px,6px -6px,-6px 0;background-size:12px 12px;border:1px solid #fff;border-radius:3px;box-sizing:border-box;content:'';height:24px;left:-1px;position:absolute;top:-1px;width:24px;z-index:-1}.tox .tox-color-input span[aria-disabled=true]{cursor:not-allowed}.tox:not([dir=rtl]) .tox-color-input .tox-textfield{padding-left:36px}.tox:not([dir=rtl]) .tox-color-input span{left:6px}.tox[dir=rtl] .tox-color-input .tox-textfield{padding-right:36px}.tox[dir=rtl] .tox-color-input span{right:6px}.tox .tox-label,.tox .tox-toolbar-label{color:rgba(34,47,62,.7);display:block;font-size:14px;font-style:normal;font-weight:400;line-height:1.3;padding:0 8px 0 0;text-transform:none;white-space:nowrap}.tox .tox-toolbar-label{padding:0 8px}.tox[dir=rtl] .tox-label{padding:0 0 0 8px}.tox .tox-form{display:flex;flex:1;flex-direction:column;-ms-flex-preferred-size:auto}.tox .tox-form__group{box-sizing:border-box;margin-bottom:4px}.tox .tox-form-group--maximize{flex:1}.tox .tox-form__group--error{color:#c00}.tox .tox-form__group--collection{display:flex}.tox .tox-form__grid{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between}.tox .tox-form__grid--2col>.tox-form__group{width:calc(50% - (8px / 2))}.tox .tox-form__grid--3col>.tox-form__group{width:calc(100% / 3 - (8px / 2))}.tox .tox-form__grid--4col>.tox-form__group{width:calc(25% - (8px / 2))}.tox .tox-form__controls-h-stack{align-items:center;display:flex}.tox .tox-form__group--inline{align-items:center;display:flex}.tox .tox-form__group--stretched{display:flex;flex:1;flex-direction:column;-ms-flex-preferred-size:auto}.tox .tox-form__group--stretched .tox-textarea{flex:1;-ms-flex-preferred-size:auto}.tox .tox-form__group--stretched .tox-navobj{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-form__group--stretched .tox-navobj :nth-child(2){flex:1;-ms-flex-preferred-size:auto;height:100%}.tox:not([dir=rtl]) .tox-form__controls-h-stack>:not(:first-child){margin-left:4px}.tox[dir=rtl] .tox-form__controls-h-stack>:not(:first-child){margin-right:4px}.tox .tox-lock.tox-locked .tox-lock-icon__unlock,.tox .tox-lock:not(.tox-locked) .tox-lock-icon__lock{display:none}.tox .tox-listboxfield .tox-listbox--select,.tox .tox-textarea,.tox .tox-textfield,.tox .tox-toolbar-textfield{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#ccc;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#222f3e;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;line-height:24px;margin:0;min-height:34px;outline:0;padding:5px 4.75px;resize:none;width:100%}.tox .tox-textarea[disabled],.tox .tox-textfield[disabled]{background-color:#f2f2f2;color:rgba(34,47,62,.85);cursor:not-allowed}.tox .tox-listboxfield .tox-listbox--select:focus,.tox .tox-textarea:focus,.tox .tox-textfield:focus{background-color:#fff;border-color:#207ab7;box-shadow:none;outline:0}.tox .tox-toolbar-textfield{border-width:0;margin-bottom:3px;margin-top:2px;max-width:250px}.tox .tox-naked-btn{background-color:transparent;border:0;border-color:transparent;box-shadow:unset;color:#207ab7;cursor:pointer;display:block;margin:0;padding:0}.tox .tox-naked-btn svg{display:block;fill:#222f3e}.tox:not([dir=rtl]) .tox-toolbar-textfield+*{margin-left:4px}.tox[dir=rtl] .tox-toolbar-textfield+*{margin-right:4px}.tox .tox-listboxfield{cursor:pointer;position:relative}.tox .tox-listboxfield .tox-listbox--select[disabled]{background-color:#f2f2f2;color:rgba(34,47,62,.85);cursor:not-allowed}.tox .tox-listbox__select-label{cursor:default;flex:1;margin:0 4px}.tox .tox-listbox__select-chevron{align-items:center;display:flex;justify-content:center;width:16px}.tox .tox-listbox__select-chevron svg{fill:#222f3e}.tox .tox-listboxfield .tox-listbox--select{align-items:center;display:flex}.tox:not([dir=rtl]) .tox-listboxfield svg{right:8px}.tox[dir=rtl] .tox-listboxfield svg{left:8px}.tox .tox-selectfield{cursor:pointer;position:relative}.tox .tox-selectfield select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#ccc;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#222f3e;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;line-height:24px;margin:0;min-height:34px;outline:0;padding:5px 4.75px;resize:none;width:100%}.tox .tox-selectfield select[disabled]{background-color:#f2f2f2;color:rgba(34,47,62,.85);cursor:not-allowed}.tox .tox-selectfield select::-ms-expand{display:none}.tox .tox-selectfield select:focus{background-color:#fff;border-color:#207ab7;box-shadow:none;outline:0}.tox .tox-selectfield svg{pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.tox:not([dir=rtl]) .tox-selectfield select[size="0"],.tox:not([dir=rtl]) .tox-selectfield select[size="1"]{padding-right:24px}.tox:not([dir=rtl]) .tox-selectfield svg{right:8px}.tox[dir=rtl] .tox-selectfield select[size="0"],.tox[dir=rtl] .tox-selectfield select[size="1"]{padding-left:24px}.tox[dir=rtl] .tox-selectfield svg{left:8px}.tox .tox-textarea{-webkit-appearance:textarea;-moz-appearance:textarea;appearance:textarea;white-space:pre-wrap}.tox-fullscreen{border:0;height:100%;left:0;margin:0;overflow:hidden;-ms-scroll-chaining:none;overscroll-behavior:none;padding:0;position:fixed;top:0;touch-action:pinch-zoom;width:100%}.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle{display:none}.tox.tox-tinymce.tox-fullscreen{background-color:transparent;z-index:1200}.tox-shadowhost.tox-fullscreen{z-index:1200}.tox-fullscreen .tox.tox-tinymce-aux,.tox-fullscreen~.tox.tox-tinymce-aux{z-index:1201}.tox .tox-help__more-link{list-style:none;margin-top:1em}.tox .tox-image-tools{width:100%}.tox .tox-image-tools__toolbar{align-items:center;display:flex;justify-content:center}.tox .tox-image-tools__image{background-color:#666;height:380px;overflow:auto;position:relative;width:100%}.tox .tox-image-tools__image,.tox .tox-image-tools__image+.tox-image-tools__toolbar{margin-top:8px}.tox .tox-image-tools__image-bg{background:url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==)}.tox .tox-image-tools__toolbar>.tox-spacer{flex:1;-ms-flex-preferred-size:auto}.tox .tox-croprect-block{background:#000;opacity:.5;position:absolute;zoom:1}.tox .tox-croprect-handle{border:2px solid #fff;height:20px;left:0;position:absolute;top:0;width:20px}.tox .tox-croprect-handle-move{border:0;cursor:move;position:absolute}.tox .tox-croprect-handle-nw{border-width:2px 0 0 2px;cursor:nw-resize;left:100px;margin:-2px 0 0 -2px;top:100px}.tox .tox-croprect-handle-ne{border-width:2px 2px 0 0;cursor:ne-resize;left:200px;margin:-2px 0 0 -20px;top:100px}.tox .tox-croprect-handle-sw{border-width:0 0 2px 2px;cursor:sw-resize;left:100px;margin:-20px 2px 0 -2px;top:200px}.tox .tox-croprect-handle-se{border-width:0 2px 2px 0;cursor:se-resize;left:200px;margin:-20px 0 0 -20px;top:200px}.tox:not([dir=rtl]) .tox-image-tools__toolbar>.tox-slider:not(:first-of-type){margin-left:8px}.tox:not([dir=rtl]) .tox-image-tools__toolbar>.tox-button+.tox-slider{margin-left:32px}.tox:not([dir=rtl]) .tox-image-tools__toolbar>.tox-slider+.tox-button{margin-left:32px}.tox[dir=rtl] .tox-image-tools__toolbar>.tox-slider:not(:first-of-type){margin-right:8px}.tox[dir=rtl] .tox-image-tools__toolbar>.tox-button+.tox-slider{margin-right:32px}.tox[dir=rtl] .tox-image-tools__toolbar>.tox-slider+.tox-button{margin-right:32px}.tox .tox-insert-table-picker{display:flex;flex-wrap:wrap;width:170px}.tox .tox-insert-table-picker>div{border-color:#ccc;border-style:solid;border-width:0 1px 1px 0;box-sizing:border-box;height:17px;width:17px}.tox .tox-collection--list .tox-collection__group .tox-insert-table-picker{margin:-4px 0}.tox .tox-insert-table-picker .tox-insert-table-picker__selected{background-color:rgba(32,122,183,.5);border-color:rgba(32,122,183,.5)}.tox .tox-insert-table-picker__label{color:rgba(34,47,62,.7);display:block;font-size:14px;padding:4px;text-align:center;width:100%}.tox:not([dir=rtl]) .tox-insert-table-picker>div:nth-child(10n){border-right:0}.tox[dir=rtl] .tox-insert-table-picker>div:nth-child(10n+1){border-right:0}.tox .tox-menu{background-color:#fff;border:1px solid #ccc;border-radius:3px;box-shadow:0 4px 8px 0 rgba(34,47,62,.1);display:inline-block;overflow:hidden;vertical-align:top;z-index:1150}.tox .tox-menu.tox-collection.tox-collection--list{padding:0}.tox .tox-menu.tox-collection.tox-collection--toolbar{padding:4px}.tox .tox-menu.tox-collection.tox-collection--grid{padding:4px}.tox .tox-menu__label blockquote,.tox .tox-menu__label code,.tox .tox-menu__label h1,.tox .tox-menu__label h2,.tox .tox-menu__label h3,.tox .tox-menu__label h4,.tox .tox-menu__label h5,.tox .tox-menu__label h6,.tox .tox-menu__label p{margin:0}.tox .tox-menubar{background:url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23cccccc'/%3E%3C/svg%3E") left 0 top 0 #fff;background-color:#fff;display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:wrap;padding:0 4px 0 4px}.tox.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-menubar{border-top:1px solid #ccc}.tox .tox-mbtn{align-items:center;background:0 0;border:0;border-radius:3px;box-shadow:none;color:#222f3e;display:flex;flex:0 0 auto;font-size:14px;font-style:normal;font-weight:400;height:34px;justify-content:center;margin:2px 0 3px 0;outline:0;overflow:hidden;padding:0 4px;text-transform:none;width:auto}.tox .tox-mbtn[disabled]{background-color:transparent;border:0;box-shadow:none;color:rgba(34,47,62,.5);cursor:not-allowed}.tox .tox-mbtn:focus:not(:disabled){background:#dee0e2;border:0;box-shadow:none;color:#222f3e}.tox .tox-mbtn--active{background:#c8cbcf;border:0;box-shadow:none;color:#222f3e}.tox .tox-mbtn:hover:not(:disabled):not(.tox-mbtn--active){background:#dee0e2;border:0;box-shadow:none;color:#222f3e}.tox .tox-mbtn__select-label{cursor:default;font-weight:400;margin:0 4px}.tox .tox-mbtn[disabled] .tox-mbtn__select-label{cursor:not-allowed}.tox .tox-mbtn__select-chevron{align-items:center;display:flex;justify-content:center;width:16px;display:none}.tox .tox-notification{border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;display:-ms-grid;display:grid;font-size:14px;font-weight:400;-ms-grid-columns:minmax(40px,1fr) auto minmax(40px,1fr);grid-template-columns:minmax(40px,1fr) auto minmax(40px,1fr);margin-top:4px;opacity:0;padding:4px;transition:transform .1s ease-in,opacity 150ms ease-in}.tox .tox-notification p{font-size:14px;font-weight:400}.tox .tox-notification a{text-decoration:underline}.tox .tox-notification--in{opacity:1}.tox .tox-notification--success{background-color:#e4eeda;border-color:#d7e6c8;color:#222f3e}.tox .tox-notification--success p{color:#222f3e}.tox .tox-notification--success a{color:#547831}.tox .tox-notification--success svg{fill:#222f3e}.tox .tox-notification--error{background-color:#f8dede;border-color:#f2bfbf;color:#222f3e}.tox .tox-notification--error p{color:#222f3e}.tox .tox-notification--error a{color:#c00}.tox .tox-notification--error svg{fill:#222f3e}.tox .tox-notification--warn,.tox .tox-notification--warning{background-color:#fffaea;border-color:#ffe89d;color:#222f3e}.tox .tox-notification--warn p,.tox .tox-notification--warning p{color:#222f3e}.tox .tox-notification--warn a,.tox .tox-notification--warning a{color:#222f3e}.tox .tox-notification--warn svg,.tox .tox-notification--warning svg{fill:#222f3e}.tox .tox-notification--info{background-color:#d9edf7;border-color:#779ecb;color:#222f3e}.tox .tox-notification--info p{color:#222f3e}.tox .tox-notification--info a{color:#222f3e}.tox .tox-notification--info svg{fill:#222f3e}.tox .tox-notification__body{-ms-grid-row-align:center;align-self:center;color:#222f3e;font-size:14px;-ms-grid-column-span:1;grid-column-end:3;-ms-grid-column:2;grid-column-start:2;-ms-grid-row-span:1;grid-row-end:2;-ms-grid-row:1;grid-row-start:1;text-align:center;white-space:normal;word-break:break-all;word-break:break-word}.tox .tox-notification__body>*{margin:0}.tox .tox-notification__body>*+*{margin-top:1rem}.tox .tox-notification__icon{-ms-grid-row-align:center;align-self:center;-ms-grid-column-span:1;grid-column-end:2;-ms-grid-column:1;grid-column-start:1;-ms-grid-row-span:1;grid-row-end:2;-ms-grid-row:1;grid-row-start:1;-ms-grid-column-align:end;justify-self:end}.tox .tox-notification__icon svg{display:block}.tox .tox-notification__dismiss{-ms-grid-row-align:start;align-self:start;-ms-grid-column-span:1;grid-column-end:4;-ms-grid-column:3;grid-column-start:3;-ms-grid-row-span:1;grid-row-end:2;-ms-grid-row:1;grid-row-start:1;-ms-grid-column-align:end;justify-self:end}.tox .tox-notification .tox-progress-bar{-ms-grid-column-span:3;grid-column-end:4;-ms-grid-column:1;grid-column-start:1;-ms-grid-row-span:1;grid-row-end:3;-ms-grid-row:2;grid-row-start:2;-ms-grid-column-align:center;justify-self:center}.tox .tox-pop{display:inline-block;position:relative}.tox .tox-pop--resizing{transition:width .1s ease}.tox .tox-pop--resizing .tox-toolbar{flex-wrap:nowrap}.tox .tox-pop__dialog{background-color:#fff;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.15);min-width:0;overflow:hidden}.tox .tox-pop__dialog>:not(.tox-toolbar){margin:4px 4px 4px 8px}.tox .tox-pop__dialog .tox-toolbar{background-color:transparent;margin-bottom:-1px}.tox .tox-pop::after,.tox .tox-pop::before{border-style:solid;content:'';display:block;height:0;position:absolute;width:0}.tox .tox-pop.tox-pop--bottom::after,.tox .tox-pop.tox-pop--bottom::before{left:50%;top:100%}.tox .tox-pop.tox-pop--bottom::after{border-color:#fff transparent transparent transparent;border-width:8px;margin-left:-8px;margin-top:-1px}.tox .tox-pop.tox-pop--bottom::before{border-color:#ccc transparent transparent transparent;border-width:9px;margin-left:-9px}.tox .tox-pop.tox-pop--top::after,.tox .tox-pop.tox-pop--top::before{left:50%;top:0;transform:translateY(-100%)}.tox .tox-pop.tox-pop--top::after{border-color:transparent transparent #fff transparent;border-width:8px;margin-left:-8px;margin-top:1px}.tox .tox-pop.tox-pop--top::before{border-color:transparent transparent #ccc transparent;border-width:9px;margin-left:-9px}.tox .tox-pop.tox-pop--left::after,.tox .tox-pop.tox-pop--left::before{left:0;top:calc(50% - 1px);transform:translateY(-50%)}.tox .tox-pop.tox-pop--left::after{border-color:transparent #fff transparent transparent;border-width:8px;margin-left:-15px}.tox .tox-pop.tox-pop--left::before{border-color:transparent #ccc transparent transparent;border-width:10px;margin-left:-19px}.tox .tox-pop.tox-pop--right::after,.tox .tox-pop.tox-pop--right::before{left:100%;top:calc(50% + 1px);transform:translateY(-50%)}.tox .tox-pop.tox-pop--right::after{border-color:transparent transparent transparent #fff;border-width:8px;margin-left:-1px}.tox .tox-pop.tox-pop--right::before{border-color:transparent transparent transparent #ccc;border-width:10px;margin-left:-1px}.tox .tox-pop.tox-pop--align-left::after,.tox .tox-pop.tox-pop--align-left::before{left:20px}.tox .tox-pop.tox-pop--align-right::after,.tox .tox-pop.tox-pop--align-right::before{left:calc(100% - 20px)}.tox .tox-sidebar-wrap{display:flex;flex-direction:row;flex-grow:1;-ms-flex-preferred-size:0;min-height:0}.tox .tox-sidebar{background-color:#fff;display:flex;flex-direction:row;justify-content:flex-end}.tox .tox-sidebar__slider{display:flex;overflow:hidden}.tox .tox-sidebar__pane-container{display:flex}.tox .tox-sidebar__pane{display:flex}.tox .tox-sidebar--sliding-closed{opacity:0}.tox .tox-sidebar--sliding-open{opacity:1}.tox .tox-sidebar--sliding-growing,.tox .tox-sidebar--sliding-shrinking{transition:width .5s ease,opacity .5s ease}.tox .tox-selector{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;display:inline-block;height:10px;position:absolute;width:10px}.tox.tox-platform-touch .tox-selector{height:12px;width:12px}.tox .tox-slider{align-items:center;display:flex;flex:1;-ms-flex-preferred-size:auto;height:24px;justify-content:center;position:relative}.tox .tox-slider__rail{background-color:transparent;border:1px solid #ccc;border-radius:3px;height:10px;min-width:120px;width:100%}.tox .tox-slider__handle{background-color:#207ab7;border:2px solid #185d8c;border-radius:3px;box-shadow:none;height:24px;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%);width:14px}.tox .tox-source-code{overflow:auto}.tox .tox-spinner{display:flex}.tox .tox-spinner>div{animation:tam-bouncing-dots 1.5s ease-in-out 0s infinite both;background-color:rgba(34,47,62,.7);border-radius:100%;height:8px;width:8px}.tox .tox-spinner>div:nth-child(1){animation-delay:-.32s}.tox .tox-spinner>div:nth-child(2){animation-delay:-.16s}@keyframes tam-bouncing-dots{0%,100%,80%{transform:scale(0)}40%{transform:scale(1)}}.tox:not([dir=rtl]) .tox-spinner>div:not(:first-child){margin-left:4px}.tox[dir=rtl] .tox-spinner>div:not(:first-child){margin-right:4px}.tox .tox-statusbar{align-items:center;background-color:#fff;border-top:1px solid #ccc;color:rgba(34,47,62,.7);display:flex;flex:0 0 auto;font-size:12px;font-weight:400;height:18px;overflow:hidden;padding:0 8px;position:relative;text-transform:uppercase}.tox .tox-statusbar__text-container{display:flex;flex:1 1 auto;justify-content:flex-end;overflow:hidden}.tox .tox-statusbar__path{display:flex;flex:1 1 auto;margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tox .tox-statusbar__path>*{display:inline;white-space:nowrap}.tox .tox-statusbar__wordcount{flex:0 0 auto;margin-left:1ch}.tox .tox-statusbar a,.tox .tox-statusbar__path-item,.tox .tox-statusbar__wordcount{color:rgba(34,47,62,.7);text-decoration:none}.tox .tox-statusbar a:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar a:hover:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__path-item:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__path-item:hover:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__wordcount:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__wordcount:hover:not(:disabled):not([aria-disabled=true]){cursor:pointer;text-decoration:underline}.tox .tox-statusbar__resize-handle{align-items:flex-end;align-self:stretch;cursor:nwse-resize;display:flex;flex:0 0 auto;justify-content:flex-end;margin-left:auto;margin-right:-8px;padding-left:1ch}.tox .tox-statusbar__resize-handle svg{display:block;fill:rgba(34,47,62,.7)}.tox .tox-statusbar__resize-handle:focus svg{background-color:#dee0e2;border-radius:1px;box-shadow:0 0 0 2px #dee0e2}.tox:not([dir=rtl]) .tox-statusbar__path>*{margin-right:4px}.tox:not([dir=rtl]) .tox-statusbar__branding{margin-left:1ch}.tox[dir=rtl] .tox-statusbar{flex-direction:row-reverse}.tox[dir=rtl] .tox-statusbar__path>*{margin-left:4px}.tox .tox-throbber{z-index:1299}.tox .tox-throbber__busy-spinner{align-items:center;background-color:rgba(255,255,255,.6);bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0}.tox .tox-tbtn{align-items:center;background:0 0;border:0;border-radius:3px;box-shadow:none;color:#222f3e;display:flex;flex:0 0 auto;font-size:14px;font-style:normal;font-weight:400;height:34px;justify-content:center;margin:2px 0 3px 0;outline:0;overflow:hidden;padding:0;text-transform:none;width:34px}.tox .tox-tbtn svg{display:block;fill:#222f3e}.tox .tox-tbtn.tox-tbtn-more{padding-left:5px;padding-right:5px;width:inherit}.tox .tox-tbtn:focus{background:#dee0e2;border:0;box-shadow:none}.tox .tox-tbtn:hover{background:#dee0e2;border:0;box-shadow:none;color:#222f3e}.tox .tox-tbtn:hover svg{fill:#222f3e}.tox .tox-tbtn:active{background:#c8cbcf;border:0;box-shadow:none;color:#222f3e}.tox .tox-tbtn:active svg{fill:#222f3e}.tox .tox-tbtn--disabled,.tox .tox-tbtn--disabled:hover,.tox .tox-tbtn:disabled,.tox .tox-tbtn:disabled:hover{background:0 0;border:0;box-shadow:none;color:rgba(34,47,62,.5);cursor:not-allowed}.tox .tox-tbtn--disabled svg,.tox .tox-tbtn--disabled:hover svg,.tox .tox-tbtn:disabled svg,.tox .tox-tbtn:disabled:hover svg{fill:rgba(34,47,62,.5)}.tox .tox-tbtn--enabled,.tox .tox-tbtn--enabled:hover{background:#c8cbcf;border:0;box-shadow:none;color:#222f3e}.tox .tox-tbtn--enabled:hover>*,.tox .tox-tbtn--enabled>*{transform:none}.tox .tox-tbtn--enabled svg,.tox .tox-tbtn--enabled:hover svg{fill:#222f3e}.tox .tox-tbtn:focus:not(.tox-tbtn--disabled){color:#222f3e}.tox .tox-tbtn:focus:not(.tox-tbtn--disabled) svg{fill:#222f3e}.tox .tox-tbtn:active>*{transform:none}.tox .tox-tbtn--md{height:51px;width:51px}.tox .tox-tbtn--lg{flex-direction:column;height:68px;width:68px}.tox .tox-tbtn--return{-ms-grid-row-align:stretch;align-self:stretch;height:unset;width:16px}.tox .tox-tbtn--labeled{padding:0 4px;width:unset}.tox .tox-tbtn__vlabel{display:block;font-size:10px;font-weight:400;letter-spacing:-.025em;margin-bottom:4px;white-space:nowrap}.tox .tox-tbtn--select{margin:2px 0 3px 0;padding:0 4px;width:auto}.tox .tox-tbtn__select-label{cursor:default;font-weight:400;margin:0 4px}.tox .tox-tbtn__select-chevron{align-items:center;display:flex;justify-content:center;width:16px}.tox .tox-tbtn__select-chevron svg{fill:rgba(34,47,62,.5)}.tox .tox-tbtn--bespoke .tox-tbtn__select-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:7em}.tox .tox-split-button{border:0;border-radius:3px;box-sizing:border-box;display:flex;margin:2px 0 3px 0;overflow:hidden}.tox .tox-split-button:hover{box-shadow:0 0 0 1px #dee0e2 inset}.tox .tox-split-button:focus{background:#dee0e2;box-shadow:none;color:#222f3e}.tox .tox-split-button>*{border-radius:0}.tox .tox-split-button__chevron{width:16px}.tox .tox-split-button__chevron svg{fill:rgba(34,47,62,.5)}.tox .tox-split-button .tox-tbtn{margin:0}.tox.tox-platform-touch .tox-split-button .tox-tbtn:first-child{width:30px}.tox.tox-platform-touch .tox-split-button__chevron{width:20px}.tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:focus,.tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:hover,.tox .tox-split-button.tox-tbtn--disabled:focus,.tox .tox-split-button.tox-tbtn--disabled:hover{background:0 0;box-shadow:none;color:rgba(34,47,62,.5)}.tox .tox-toolbar-overlord{background-color:#fff}.tox .tox-toolbar,.tox .tox-toolbar__overflow,.tox .tox-toolbar__primary{background:url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23cccccc'/%3E%3C/svg%3E") left 0 top 0 #fff;background-color:#fff;display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:wrap;padding:0 0}.tox .tox-toolbar__overflow.tox-toolbar__overflow--closed{height:0;opacity:0;padding-bottom:0;padding-top:0;visibility:hidden}.tox .tox-toolbar__overflow--growing{transition:height .3s ease,opacity .2s linear .1s}.tox .tox-toolbar__overflow--shrinking{transition:opacity .3s ease,height .2s linear .1s,visibility 0s linear .3s}.tox .tox-menubar+.tox-toolbar,.tox .tox-menubar+.tox-toolbar-overlord .tox-toolbar__primary{border-top:1px solid #ccc;margin-top:-1px}.tox .tox-toolbar--scrolling{flex-wrap:nowrap;overflow-x:auto}.tox .tox-pop .tox-toolbar{border-width:0}.tox .tox-toolbar--no-divider{background-image:none}.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar-overlord:first-child .tox-toolbar__primary,.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar:first-child{border-top:1px solid #ccc}.tox.tox-tinymce-aux .tox-toolbar__overflow{background-color:#fff;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.15)}.tox[dir=rtl] .tox-tbtn__icon-rtl svg{transform:rotateY(180deg)}.tox .tox-toolbar__group{align-items:center;display:flex;flex-wrap:wrap;margin:0 0;padding:0 4px 0 4px}.tox .tox-toolbar__group--pull-right{margin-left:auto}.tox .tox-toolbar--scrolling .tox-toolbar__group{flex-shrink:0;flex-wrap:nowrap}.tox:not([dir=rtl]) .tox-toolbar__group:not(:last-of-type){border-right:1px solid #ccc}.tox[dir=rtl] .tox-toolbar__group:not(:last-of-type){border-left:1px solid #ccc}.tox .tox-tooltip{display:inline-block;padding:8px;position:relative}.tox .tox-tooltip__body{background-color:#222f3e;border-radius:3px;box-shadow:0 2px 4px rgba(34,47,62,.3);color:rgba(255,255,255,.75);font-size:14px;font-style:normal;font-weight:400;padding:4px 8px;text-transform:none}.tox .tox-tooltip__arrow{position:absolute}.tox .tox-tooltip--down .tox-tooltip__arrow{border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #222f3e;bottom:0;left:50%;position:absolute;transform:translateX(-50%)}.tox .tox-tooltip--up .tox-tooltip__arrow{border-bottom:8px solid #222f3e;border-left:8px solid transparent;border-right:8px solid transparent;left:50%;position:absolute;top:0;transform:translateX(-50%)}.tox .tox-tooltip--right .tox-tooltip__arrow{border-bottom:8px solid transparent;border-left:8px solid #222f3e;border-top:8px solid transparent;position:absolute;right:0;top:50%;transform:translateY(-50%)}.tox .tox-tooltip--left .tox-tooltip__arrow{border-bottom:8px solid transparent;border-right:8px solid #222f3e;border-top:8px solid transparent;left:0;position:absolute;top:50%;transform:translateY(-50%)}.tox .tox-well{border:1px solid #ccc;border-radius:3px;padding:8px;width:100%}.tox .tox-well>:first-child{margin-top:0}.tox .tox-well>:last-child{margin-bottom:0}.tox .tox-well>:only-child{margin:0}.tox .tox-custom-editor{border:1px solid #ccc;border-radius:3px;display:flex;flex:1;position:relative}.tox .tox-dialog-loading::before{background-color:rgba(0,0,0,.5);content:"";height:100%;position:absolute;width:100%;z-index:1000}.tox .tox-tab{cursor:pointer}.tox .tox-dialog__content-js{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-dialog__body-content .tox-collection{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-image-tools-edit-panel{height:60px}.tox .tox-image-tools__sidebar{height:60px} diff --git a/public/tinymce/skins/ui/oxide/skin.mobile.css b/public/tinymce/skins/ui/oxide/skin.mobile.css new file mode 100644 index 00000000..875721a2 --- /dev/null +++ b/public/tinymce/skins/ui/oxide/skin.mobile.css @@ -0,0 +1,673 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +/* RESET all the things! */ +.tinymce-mobile-outer-container { + all: initial; + display: block; +} +.tinymce-mobile-outer-container * { + border: 0; + box-sizing: initial; + cursor: inherit; + float: none; + line-height: 1; + margin: 0; + outline: 0; + padding: 0; + -webkit-tap-highlight-color: transparent; + /* TBIO-3691, stop the gray flicker on touch. */ + text-shadow: none; + white-space: nowrap; +} +.tinymce-mobile-icon-arrow-back::before { + content: "\e5cd"; +} +.tinymce-mobile-icon-image::before { + content: "\e412"; +} +.tinymce-mobile-icon-cancel-circle::before { + content: "\e5c9"; +} +.tinymce-mobile-icon-full-dot::before { + content: "\e061"; +} +.tinymce-mobile-icon-align-center::before { + content: "\e234"; +} +.tinymce-mobile-icon-align-left::before { + content: "\e236"; +} +.tinymce-mobile-icon-align-right::before { + content: "\e237"; +} +.tinymce-mobile-icon-bold::before { + content: "\e238"; +} +.tinymce-mobile-icon-italic::before { + content: "\e23f"; +} +.tinymce-mobile-icon-unordered-list::before { + content: "\e241"; +} +.tinymce-mobile-icon-ordered-list::before { + content: "\e242"; +} +.tinymce-mobile-icon-font-size::before { + content: "\e245"; +} +.tinymce-mobile-icon-underline::before { + content: "\e249"; +} +.tinymce-mobile-icon-link::before { + content: "\e157"; +} +.tinymce-mobile-icon-unlink::before { + content: "\eca2"; +} +.tinymce-mobile-icon-color::before { + content: "\e891"; +} +.tinymce-mobile-icon-previous::before { + content: "\e314"; +} +.tinymce-mobile-icon-next::before { + content: "\e315"; +} +.tinymce-mobile-icon-large-font::before, +.tinymce-mobile-icon-style-formats::before { + content: "\e264"; +} +.tinymce-mobile-icon-undo::before { + content: "\e166"; +} +.tinymce-mobile-icon-redo::before { + content: "\e15a"; +} +.tinymce-mobile-icon-removeformat::before { + content: "\e239"; +} +.tinymce-mobile-icon-small-font::before { + content: "\e906"; +} +.tinymce-mobile-icon-readonly-back::before, +.tinymce-mobile-format-matches::after { + content: "\e5ca"; +} +.tinymce-mobile-icon-small-heading::before { + content: "small"; +} +.tinymce-mobile-icon-large-heading::before { + content: "large"; +} +.tinymce-mobile-icon-small-heading::before, +.tinymce-mobile-icon-large-heading::before { + font-family: sans-serif; + font-size: 80%; +} +.tinymce-mobile-mask-edit-icon::before { + content: "\e254"; +} +.tinymce-mobile-icon-back::before { + content: "\e5c4"; +} +.tinymce-mobile-icon-heading::before { + /* TODO: Translate */ + content: "Headings"; + font-family: sans-serif; + font-size: 80%; + font-weight: bold; +} +.tinymce-mobile-icon-h1::before { + content: "H1"; + font-weight: bold; +} +.tinymce-mobile-icon-h2::before { + content: "H2"; + font-weight: bold; +} +.tinymce-mobile-icon-h3::before { + content: "H3"; + font-weight: bold; +} +.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask { + align-items: center; + display: flex; + justify-content: center; + background: rgba(51, 51, 51, 0.5); + height: 100%; + position: absolute; + top: 0; + width: 100%; +} +.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container { + align-items: center; + border-radius: 50%; + display: flex; + flex-direction: column; + font-family: sans-serif; + font-size: 1em; + justify-content: space-between; +} +.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .mixin-menu-item { + align-items: center; + display: flex; + justify-content: center; + border-radius: 50%; + height: 2.1em; + width: 2.1em; +} +.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section { + align-items: center; + display: flex; + justify-content: center; + flex-direction: column; + font-size: 1em; +} +@media only screen and (min-device-width:700px) { + .tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section { + font-size: 1.2em; + } +} +.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon { + align-items: center; + display: flex; + justify-content: center; + border-radius: 50%; + height: 2.1em; + width: 2.1em; + background-color: white; + color: #207ab7; +} +.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon::before { + content: "\e900"; + font-family: 'tinymce-mobile', sans-serif; +} +.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section:not(.tinymce-mobile-mask-tap-icon-selected) .tinymce-mobile-mask-tap-icon { + z-index: 2; +} +.tinymce-mobile-android-container.tinymce-mobile-android-maximized { + background: #ffffff; + border: none; + bottom: 0; + display: flex; + flex-direction: column; + left: 0; + position: fixed; + right: 0; + top: 0; +} +.tinymce-mobile-android-container:not(.tinymce-mobile-android-maximized) { + position: relative; +} +.tinymce-mobile-android-container .tinymce-mobile-editor-socket { + display: flex; + flex-grow: 1; +} +.tinymce-mobile-android-container .tinymce-mobile-editor-socket iframe { + display: flex !important; + flex-grow: 1; + height: auto !important; +} +.tinymce-mobile-android-scroll-reload { + overflow: hidden; +} +:not(.tinymce-mobile-readonly-mode) > .tinymce-mobile-android-selection-context-toolbar { + margin-top: 23px; +} +.tinymce-mobile-toolstrip { + background: #fff; + display: flex; + flex: 0 0 auto; + z-index: 1; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar { + align-items: center; + background-color: #fff; + border-bottom: 1px solid #cccccc; + display: flex; + flex: 1; + height: 2.5em; + width: 100%; + /* Make it no larger than the toolstrip, so that it needs to scroll */ +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group { + align-items: center; + display: flex; + height: 100%; + flex-shrink: 1; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group > div { + align-items: center; + display: flex; + height: 100%; + flex: 1; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-exit-container { + background: #f44336; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-toolbar-scrollable-group { + flex-grow: 1; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item { + padding-left: 0.5em; + padding-right: 0.5em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button { + align-items: center; + display: flex; + height: 80%; + margin-left: 2px; + margin-right: 2px; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button.tinymce-mobile-toolbar-button-selected { + background: #c8cbcf; + color: #cccccc; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:first-of-type, +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:last-of-type { + background: #207ab7; + color: #eceff1; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar { + /* Note, this file is imported inside .tinymce-mobile-context-toolbar, so that prefix is on everything here. */ +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group { + align-items: center; + display: flex; + height: 100%; + flex: 1; + padding-bottom: 0.4em; + padding-top: 0.4em; + /* Make any buttons appearing on the left and right display in the centre (e.g. color edges) */ + /* For widgets like the colour picker, use the whole height */ +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog { + display: flex; + min-height: 1.5em; + overflow: hidden; + padding-left: 0; + padding-right: 0; + position: relative; + width: 100%; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain { + display: flex; + height: 100%; + transition: left cubic-bezier(0.4, 0, 1, 1) 0.15s; + width: 100%; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen { + display: flex; + flex: 0 0 auto; + justify-content: space-between; + width: 100%; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen input { + font-family: Sans-serif; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container { + display: flex; + flex-grow: 1; + position: relative; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container .tinymce-mobile-input-container-x { + -ms-grid-row-align: center; + align-self: center; + background: inherit; + border: none; + border-radius: 50%; + color: #888; + font-size: 0.6em; + font-weight: bold; + height: 100%; + padding-right: 2px; + position: absolute; + right: 0; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container.tinymce-mobile-input-container-empty .tinymce-mobile-input-container-x { + display: none; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous, +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next { + align-items: center; + display: flex; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous::before, +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next::before { + align-items: center; + display: flex; + font-weight: bold; + height: 100%; + padding-left: 0.5em; + padding-right: 0.5em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous.tinymce-mobile-toolbar-navigation-disabled::before, +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next.tinymce-mobile-toolbar-navigation-disabled::before { + visibility: hidden; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item { + color: #cccccc; + font-size: 10px; + line-height: 10px; + margin: 0 2px; + padding-top: 3px; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item.tinymce-mobile-dot-active { + color: #c8cbcf; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-font::before, +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-heading::before { + margin-left: 0.5em; + margin-right: 0.9em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-font::before, +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-heading::before { + margin-left: 0.9em; + margin-right: 0.5em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider { + display: flex; + flex: 1; + margin-left: 0; + margin-right: 0; + padding: 0.28em 0; + position: relative; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container { + align-items: center; + display: flex; + flex-grow: 1; + height: 100%; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container .tinymce-mobile-slider-size-line { + background: #cccccc; + display: flex; + flex: 1; + height: 0.2em; + margin-bottom: 0.3em; + margin-top: 0.3em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container { + padding-left: 2em; + padding-right: 2em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container { + align-items: center; + display: flex; + flex-grow: 1; + height: 100%; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container .tinymce-mobile-slider-gradient { + background: linear-gradient(to right, hsl(0, 100%, 50%) 0%, hsl(60, 100%, 50%) 17%, hsl(120, 100%, 50%) 33%, hsl(180, 100%, 50%) 50%, hsl(240, 100%, 50%) 67%, hsl(300, 100%, 50%) 83%, hsl(0, 100%, 50%) 100%); + display: flex; + flex: 1; + height: 0.2em; + margin-bottom: 0.3em; + margin-top: 0.3em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-black { + /* Not part of theming */ + background: black; + height: 0.2em; + margin-bottom: 0.3em; + margin-top: 0.3em; + width: 1.2em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-white { + /* Not part of theming */ + background: white; + height: 0.2em; + margin-bottom: 0.3em; + margin-top: 0.3em; + width: 1.2em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb { + /* vertically centering trick (margin: auto, top: 0, bottom: 0). On iOS and Safari, if you leave + * out these values, then it shows the thumb at the top of the spectrum. This is probably because it is + * absolutely positioned with only a left value, and not a top. Note, on Chrome it seems to be fine without + * this approach. + */ + align-items: center; + background-clip: padding-box; + background-color: #455a64; + border: 0.5em solid rgba(136, 136, 136, 0); + border-radius: 3em; + bottom: 0; + color: #fff; + display: flex; + height: 0.5em; + justify-content: center; + left: -10px; + margin: auto; + position: absolute; + top: 0; + transition: border 120ms cubic-bezier(0.39, 0.58, 0.57, 1); + width: 0.5em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb.tinymce-mobile-thumb-active { + border: 0.5em solid rgba(136, 136, 136, 0.39); +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper, +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group > div { + align-items: center; + display: flex; + height: 100%; + flex: 1; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper { + flex-direction: column; + justify-content: center; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item { + align-items: center; + display: flex; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item:not(.tinymce-mobile-serialised-dialog) { + height: 100%; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-container { + display: flex; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input { + background: #ffffff; + border: none; + border-radius: 0; + color: #455a64; + flex-grow: 1; + font-size: 0.85em; + padding-bottom: 0.1em; + padding-left: 5px; + padding-top: 0.1em; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::-webkit-input-placeholder { + /* WebKit, Blink, Edge */ + color: #888; +} +.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::placeholder { + /* WebKit, Blink, Edge */ + color: #888; +} +/* dropup */ +.tinymce-mobile-dropup { + background: white; + display: flex; + overflow: hidden; + width: 100%; +} +.tinymce-mobile-dropup.tinymce-mobile-dropup-shrinking { + transition: height 0.3s ease-out; +} +.tinymce-mobile-dropup.tinymce-mobile-dropup-growing { + transition: height 0.3s ease-in; +} +.tinymce-mobile-dropup.tinymce-mobile-dropup-closed { + flex-grow: 0; +} +.tinymce-mobile-dropup.tinymce-mobile-dropup-open:not(.tinymce-mobile-dropup-growing) { + flex-grow: 1; +} +/* TODO min-height for device size and orientation */ +.tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed) { + min-height: 200px; +} +@media only screen and (orientation: landscape) { + .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed) { + min-height: 200px; + } +} +@media only screen and (min-device-width : 320px) and (max-device-width : 568px) and (orientation : landscape) { + .tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed) { + min-height: 150px; + } +} +/* styles menu */ +.tinymce-mobile-styles-menu { + font-family: sans-serif; + outline: 4px solid black; + overflow: hidden; + position: relative; + width: 100%; +} +.tinymce-mobile-styles-menu [role="menu"] { + display: flex; + flex-direction: column; + height: 100%; + position: absolute; + width: 100%; +} +.tinymce-mobile-styles-menu [role="menu"].transitioning { + transition: transform 0.5s ease-in-out; +} +.tinymce-mobile-styles-menu .tinymce-mobile-styles-item { + border-bottom: 1px solid #ddd; + color: #455a64; + cursor: pointer; + display: flex; + padding: 1em 1em; + position: relative; +} +.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser .tinymce-mobile-styles-collapse-icon::before { + color: #455a64; + content: "\e314"; + font-family: 'tinymce-mobile', sans-serif; +} +.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-styles-item-is-menu::after { + color: #455a64; + content: "\e315"; + font-family: 'tinymce-mobile', sans-serif; + padding-left: 1em; + padding-right: 1em; + position: absolute; + right: 0; +} +.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-format-matches::after { + font-family: 'tinymce-mobile', sans-serif; + padding-left: 1em; + padding-right: 1em; + position: absolute; + right: 0; +} +.tinymce-mobile-styles-menu .tinymce-mobile-styles-separator, +.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser { + align-items: center; + background: #fff; + border-top: #455a64; + color: #455a64; + display: flex; + min-height: 2.5em; + padding-left: 1em; + padding-right: 1em; +} +.tinymce-mobile-styles-menu [data-transitioning-destination="before"][data-transitioning-state], +.tinymce-mobile-styles-menu [data-transitioning-state="before"] { + transform: translate(-100%); +} +.tinymce-mobile-styles-menu [data-transitioning-destination="current"][data-transitioning-state], +.tinymce-mobile-styles-menu [data-transitioning-state="current"] { + transform: translate(0%); +} +.tinymce-mobile-styles-menu [data-transitioning-destination="after"][data-transitioning-state], +.tinymce-mobile-styles-menu [data-transitioning-state="after"] { + transform: translate(100%); +} +@font-face { + font-family: 'tinymce-mobile'; + font-style: normal; + font-weight: normal; + src: url('fonts/tinymce-mobile.woff?8x92w3') format('woff'); +} +@media (min-device-width: 700px) { + .tinymce-mobile-outer-container, + .tinymce-mobile-outer-container input { + font-size: 25px; + } +} +@media (max-device-width: 700px) { + .tinymce-mobile-outer-container, + .tinymce-mobile-outer-container input { + font-size: 18px; + } +} +.tinymce-mobile-icon { + font-family: 'tinymce-mobile', sans-serif; +} +.mixin-flex-and-centre { + align-items: center; + display: flex; + justify-content: center; +} +.mixin-flex-bar { + align-items: center; + display: flex; + height: 100%; +} +.tinymce-mobile-outer-container .tinymce-mobile-editor-socket iframe { + background-color: #fff; + width: 100%; +} +.tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon { + /* Note, on the iPod touch in landscape, this isn't visible when the navbar appears */ + background-color: #207ab7; + border-radius: 50%; + bottom: 1em; + color: white; + font-size: 1em; + height: 2.1em; + position: fixed; + right: 2em; + width: 2.1em; + align-items: center; + display: flex; + justify-content: center; +} +@media only screen and (min-device-width:700px) { + .tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon { + font-size: 1.2em; + } +} +.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-editor-socket { + height: 300px; + overflow: hidden; +} +.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-editor-socket iframe { + height: 100%; +} +.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-toolstrip { + display: none; +} +/* + Note, that if you don't include this (::-webkit-file-upload-button), the toolbar width gets + increased and the whole body becomes scrollable. It's important! + */ +input[type="file"]::-webkit-file-upload-button { + display: none; +} +@media only screen and (min-device-width : 320px) and (max-device-width : 568px) and (orientation : landscape) { + .tinymce-mobile-ios-container .tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon { + bottom: 50%; + } +} diff --git a/public/tinymce/skins/ui/oxide/skin.mobile.min.css b/public/tinymce/skins/ui/oxide/skin.mobile.min.css new file mode 100644 index 00000000..3a45cacf --- /dev/null +++ b/public/tinymce/skins/ui/oxide/skin.mobile.min.css @@ -0,0 +1,7 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +.tinymce-mobile-outer-container{all:initial;display:block}.tinymce-mobile-outer-container *{border:0;box-sizing:initial;cursor:inherit;float:none;line-height:1;margin:0;outline:0;padding:0;-webkit-tap-highlight-color:transparent;text-shadow:none;white-space:nowrap}.tinymce-mobile-icon-arrow-back::before{content:"\e5cd"}.tinymce-mobile-icon-image::before{content:"\e412"}.tinymce-mobile-icon-cancel-circle::before{content:"\e5c9"}.tinymce-mobile-icon-full-dot::before{content:"\e061"}.tinymce-mobile-icon-align-center::before{content:"\e234"}.tinymce-mobile-icon-align-left::before{content:"\e236"}.tinymce-mobile-icon-align-right::before{content:"\e237"}.tinymce-mobile-icon-bold::before{content:"\e238"}.tinymce-mobile-icon-italic::before{content:"\e23f"}.tinymce-mobile-icon-unordered-list::before{content:"\e241"}.tinymce-mobile-icon-ordered-list::before{content:"\e242"}.tinymce-mobile-icon-font-size::before{content:"\e245"}.tinymce-mobile-icon-underline::before{content:"\e249"}.tinymce-mobile-icon-link::before{content:"\e157"}.tinymce-mobile-icon-unlink::before{content:"\eca2"}.tinymce-mobile-icon-color::before{content:"\e891"}.tinymce-mobile-icon-previous::before{content:"\e314"}.tinymce-mobile-icon-next::before{content:"\e315"}.tinymce-mobile-icon-large-font::before,.tinymce-mobile-icon-style-formats::before{content:"\e264"}.tinymce-mobile-icon-undo::before{content:"\e166"}.tinymce-mobile-icon-redo::before{content:"\e15a"}.tinymce-mobile-icon-removeformat::before{content:"\e239"}.tinymce-mobile-icon-small-font::before{content:"\e906"}.tinymce-mobile-format-matches::after,.tinymce-mobile-icon-readonly-back::before{content:"\e5ca"}.tinymce-mobile-icon-small-heading::before{content:"small"}.tinymce-mobile-icon-large-heading::before{content:"large"}.tinymce-mobile-icon-large-heading::before,.tinymce-mobile-icon-small-heading::before{font-family:sans-serif;font-size:80%}.tinymce-mobile-mask-edit-icon::before{content:"\e254"}.tinymce-mobile-icon-back::before{content:"\e5c4"}.tinymce-mobile-icon-heading::before{content:"Headings";font-family:sans-serif;font-size:80%;font-weight:700}.tinymce-mobile-icon-h1::before{content:"H1";font-weight:700}.tinymce-mobile-icon-h2::before{content:"H2";font-weight:700}.tinymce-mobile-icon-h3::before{content:"H3";font-weight:700}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask{align-items:center;display:flex;justify-content:center;background:rgba(51,51,51,.5);height:100%;position:absolute;top:0;width:100%}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container{align-items:center;border-radius:50%;display:flex;flex-direction:column;font-family:sans-serif;font-size:1em;justify-content:space-between}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .mixin-menu-item{align-items:center;display:flex;justify-content:center;border-radius:50%;height:2.1em;width:2.1em}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section{align-items:center;display:flex;justify-content:center;flex-direction:column;font-size:1em}@media only screen and (min-device-width:700px){.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section{font-size:1.2em}}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon{align-items:center;display:flex;justify-content:center;border-radius:50%;height:2.1em;width:2.1em;background-color:#fff;color:#207ab7}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon::before{content:"\e900";font-family:tinymce-mobile,sans-serif}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section:not(.tinymce-mobile-mask-tap-icon-selected) .tinymce-mobile-mask-tap-icon{z-index:2}.tinymce-mobile-android-container.tinymce-mobile-android-maximized{background:#fff;border:none;bottom:0;display:flex;flex-direction:column;left:0;position:fixed;right:0;top:0}.tinymce-mobile-android-container:not(.tinymce-mobile-android-maximized){position:relative}.tinymce-mobile-android-container .tinymce-mobile-editor-socket{display:flex;flex-grow:1}.tinymce-mobile-android-container .tinymce-mobile-editor-socket iframe{display:flex!important;flex-grow:1;height:auto!important}.tinymce-mobile-android-scroll-reload{overflow:hidden}:not(.tinymce-mobile-readonly-mode)>.tinymce-mobile-android-selection-context-toolbar{margin-top:23px}.tinymce-mobile-toolstrip{background:#fff;display:flex;flex:0 0 auto;z-index:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar{align-items:center;background-color:#fff;border-bottom:1px solid #ccc;display:flex;flex:1;height:2.5em;width:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group{align-items:center;display:flex;height:100%;flex-shrink:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group>div{align-items:center;display:flex;height:100%;flex:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-exit-container{background:#f44336}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-toolbar-scrollable-group{flex-grow:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item{padding-left:.5em;padding-right:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button{align-items:center;display:flex;height:80%;margin-left:2px;margin-right:2px}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button.tinymce-mobile-toolbar-button-selected{background:#c8cbcf;color:#ccc}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:first-of-type,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:last-of-type{background:#207ab7;color:#eceff1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group{align-items:center;display:flex;height:100%;flex:1;padding-bottom:.4em;padding-top:.4em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog{display:flex;min-height:1.5em;overflow:hidden;padding-left:0;padding-right:0;position:relative;width:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain{display:flex;height:100%;transition:left cubic-bezier(.4,0,1,1) .15s;width:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen{display:flex;flex:0 0 auto;justify-content:space-between;width:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen input{font-family:Sans-serif}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container{display:flex;flex-grow:1;position:relative}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container .tinymce-mobile-input-container-x{-ms-grid-row-align:center;align-self:center;background:inherit;border:none;border-radius:50%;color:#888;font-size:.6em;font-weight:700;height:100%;padding-right:2px;position:absolute;right:0}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container.tinymce-mobile-input-container-empty .tinymce-mobile-input-container-x{display:none}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous{align-items:center;display:flex}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next::before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous::before{align-items:center;display:flex;font-weight:700;height:100%;padding-left:.5em;padding-right:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next.tinymce-mobile-toolbar-navigation-disabled::before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous.tinymce-mobile-toolbar-navigation-disabled::before{visibility:hidden}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item{color:#ccc;font-size:10px;line-height:10px;margin:0 2px;padding-top:3px}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item.tinymce-mobile-dot-active{color:#c8cbcf}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-font::before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-heading::before{margin-left:.5em;margin-right:.9em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-font::before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-heading::before{margin-left:.9em;margin-right:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider{display:flex;flex:1;margin-left:0;margin-right:0;padding:.28em 0;position:relative}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container{align-items:center;display:flex;flex-grow:1;height:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container .tinymce-mobile-slider-size-line{background:#ccc;display:flex;flex:1;height:.2em;margin-bottom:.3em;margin-top:.3em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container{padding-left:2em;padding-right:2em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container{align-items:center;display:flex;flex-grow:1;height:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container .tinymce-mobile-slider-gradient{background:linear-gradient(to right,red 0,#feff00 17%,#0f0 33%,#00feff 50%,#00f 67%,#ff00fe 83%,red 100%);display:flex;flex:1;height:.2em;margin-bottom:.3em;margin-top:.3em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-black{background:#000;height:.2em;margin-bottom:.3em;margin-top:.3em;width:1.2em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-white{background:#fff;height:.2em;margin-bottom:.3em;margin-top:.3em;width:1.2em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb{align-items:center;background-clip:padding-box;background-color:#455a64;border:.5em solid rgba(136,136,136,0);border-radius:3em;bottom:0;color:#fff;display:flex;height:.5em;justify-content:center;left:-10px;margin:auto;position:absolute;top:0;transition:border 120ms cubic-bezier(.39,.58,.57,1);width:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb.tinymce-mobile-thumb-active{border:.5em solid rgba(136,136,136,.39)}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group>div{align-items:center;display:flex;height:100%;flex:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper{flex-direction:column;justify-content:center}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item{align-items:center;display:flex}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item:not(.tinymce-mobile-serialised-dialog){height:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-container{display:flex}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input{background:#fff;border:none;border-radius:0;color:#455a64;flex-grow:1;font-size:.85em;padding-bottom:.1em;padding-left:5px;padding-top:.1em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::-webkit-input-placeholder{color:#888}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::placeholder{color:#888}.tinymce-mobile-dropup{background:#fff;display:flex;overflow:hidden;width:100%}.tinymce-mobile-dropup.tinymce-mobile-dropup-shrinking{transition:height .3s ease-out}.tinymce-mobile-dropup.tinymce-mobile-dropup-growing{transition:height .3s ease-in}.tinymce-mobile-dropup.tinymce-mobile-dropup-closed{flex-grow:0}.tinymce-mobile-dropup.tinymce-mobile-dropup-open:not(.tinymce-mobile-dropup-growing){flex-grow:1}.tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed){min-height:200px}@media only screen and (orientation:landscape){.tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed){min-height:200px}}@media only screen and (min-device-width :320px) and (max-device-width :568px) and (orientation :landscape){.tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed){min-height:150px}}.tinymce-mobile-styles-menu{font-family:sans-serif;outline:4px solid #000;overflow:hidden;position:relative;width:100%}.tinymce-mobile-styles-menu [role=menu]{display:flex;flex-direction:column;height:100%;position:absolute;width:100%}.tinymce-mobile-styles-menu [role=menu].transitioning{transition:transform .5s ease-in-out}.tinymce-mobile-styles-menu .tinymce-mobile-styles-item{border-bottom:1px solid #ddd;color:#455a64;cursor:pointer;display:flex;padding:1em 1em;position:relative}.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser .tinymce-mobile-styles-collapse-icon::before{color:#455a64;content:"\e314";font-family:tinymce-mobile,sans-serif}.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-styles-item-is-menu::after{color:#455a64;content:"\e315";font-family:tinymce-mobile,sans-serif;padding-left:1em;padding-right:1em;position:absolute;right:0}.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-format-matches::after{font-family:tinymce-mobile,sans-serif;padding-left:1em;padding-right:1em;position:absolute;right:0}.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser,.tinymce-mobile-styles-menu .tinymce-mobile-styles-separator{align-items:center;background:#fff;border-top:#455a64;color:#455a64;display:flex;min-height:2.5em;padding-left:1em;padding-right:1em}.tinymce-mobile-styles-menu [data-transitioning-destination=before][data-transitioning-state],.tinymce-mobile-styles-menu [data-transitioning-state=before]{transform:translate(-100%)}.tinymce-mobile-styles-menu [data-transitioning-destination=current][data-transitioning-state],.tinymce-mobile-styles-menu [data-transitioning-state=current]{transform:translate(0)}.tinymce-mobile-styles-menu [data-transitioning-destination=after][data-transitioning-state],.tinymce-mobile-styles-menu [data-transitioning-state=after]{transform:translate(100%)}@font-face{font-family:tinymce-mobile;font-style:normal;font-weight:400;src:url(fonts/tinymce-mobile.woff?8x92w3) format('woff')}@media (min-device-width:700px){.tinymce-mobile-outer-container,.tinymce-mobile-outer-container input{font-size:25px}}@media (max-device-width:700px){.tinymce-mobile-outer-container,.tinymce-mobile-outer-container input{font-size:18px}}.tinymce-mobile-icon{font-family:tinymce-mobile,sans-serif}.mixin-flex-and-centre{align-items:center;display:flex;justify-content:center}.mixin-flex-bar{align-items:center;display:flex;height:100%}.tinymce-mobile-outer-container .tinymce-mobile-editor-socket iframe{background-color:#fff;width:100%}.tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon{background-color:#207ab7;border-radius:50%;bottom:1em;color:#fff;font-size:1em;height:2.1em;position:fixed;right:2em;width:2.1em;align-items:center;display:flex;justify-content:center}@media only screen and (min-device-width:700px){.tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon{font-size:1.2em}}.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-editor-socket{height:300px;overflow:hidden}.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-editor-socket iframe{height:100%}.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-toolstrip{display:none}input[type=file]::-webkit-file-upload-button{display:none}@media only screen and (min-device-width :320px) and (max-device-width :568px) and (orientation :landscape){.tinymce-mobile-ios-container .tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon{bottom:50%}} diff --git a/public/tinymce/skins/ui/oxide/skin.shadowdom.css b/public/tinymce/skins/ui/oxide/skin.shadowdom.css new file mode 100644 index 00000000..715978b5 --- /dev/null +++ b/public/tinymce/skins/ui/oxide/skin.shadowdom.css @@ -0,0 +1,37 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +body.tox-dialog__disable-scroll { + overflow: hidden; +} +.tox-fullscreen { + border: 0; + height: 100%; + left: 0; + margin: 0; + overflow: hidden; + -ms-scroll-chaining: none; + overscroll-behavior: none; + padding: 0; + position: fixed; + top: 0; + touch-action: pinch-zoom; + width: 100%; +} +.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle { + display: none; +} +.tox.tox-tinymce.tox-fullscreen { + background-color: transparent; + z-index: 1200; +} +.tox-shadowhost.tox-fullscreen { + z-index: 1200; +} +.tox-fullscreen .tox.tox-tinymce-aux, +.tox-fullscreen ~ .tox.tox-tinymce-aux { + z-index: 1201; +} diff --git a/public/tinymce/skins/ui/oxide/skin.shadowdom.min.css b/public/tinymce/skins/ui/oxide/skin.shadowdom.min.css new file mode 100644 index 00000000..9ba6e02c --- /dev/null +++ b/public/tinymce/skins/ui/oxide/skin.shadowdom.min.css @@ -0,0 +1,7 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +body.tox-dialog__disable-scroll{overflow:hidden}.tox-fullscreen{border:0;height:100%;left:0;margin:0;overflow:hidden;-ms-scroll-chaining:none;overscroll-behavior:none;padding:0;position:fixed;top:0;touch-action:pinch-zoom;width:100%}.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle{display:none}.tox.tox-tinymce.tox-fullscreen{background-color:transparent;z-index:1200}.tox-shadowhost.tox-fullscreen{z-index:1200}.tox-fullscreen .tox.tox-tinymce-aux,.tox-fullscreen~.tox.tox-tinymce-aux{z-index:1201} diff --git a/scss.template.hbs b/scss.template.hbs new file mode 100644 index 00000000..7821aed7 --- /dev/null +++ b/scss.template.hbs @@ -0,0 +1,66 @@ +{ + // Default options + 'functions': true, + 'variableNameTransforms': ['dasherize'] +} + +{{#block "sprites"}} +{{#each sprites}} +${{../spritesheet_info.strings.name}}-sprite-{{strings.name}}: ({{px.x}}, {{px.y}}, {{px.offset_x}}, {{px.offset_y}}, {{px.width}}, {{px.height}}, {{px.total_width}}, {{px.total_height}}, '{{{escaped_image}}}', '{{name}}'); +{{/each}} + +${{spritesheet_info.strings.name}}-sprites: ( +{{#each sprites}} + {{strings.name}}: ${{../spritesheet_info.strings.name}}-sprite-{{strings.name}}, +{{/each}} +); +{{/block}} + +{{#block "sprite-functions"}} +{{#if options.functions}} +@mixin {{spritesheet_info.strings.name}}-sprite-width($sprite) { + width: nth($sprite, 5); +} + +@mixin {{spritesheet_info.strings.name}}-sprite-height($sprite) { + height: nth($sprite, 6); +} + +@mixin {{spritesheet_info.strings.name}}-sprite-position($sprite) { + $sprite-offset-x: nth($sprite, 3); + $sprite-offset-y: nth($sprite, 4); + background-position: $sprite-offset-x $sprite-offset-y; +} + +@mixin {{spritesheet_info.strings.name}}-sprite-size($sprite) { + background-size: nth($sprite, 7) nth($sprite, 8); +} + +@mixin {{spritesheet_info.strings.name}}-sprite-image($sprite) { + $sprite-image: nth($sprite, 9); + background-image: url(#{$sprite-image}); +} + +@mixin {{spritesheet_info.strings.name}}-sprite($name) { + @include {{spritesheet_info.strings.name}}-sprite-image(map-get(${{spritesheet_info.strings.name}}-sprites, #{$name})); + @include {{spritesheet_info.strings.name}}-sprite-position(map-get(${{spritesheet_info.strings.name}}-sprites, #{$name})); + @include {{spritesheet_info.strings.name}}-sprite-size(map-get(${{spritesheet_info.strings.name}}-sprites, #{$name})); + @include {{spritesheet_info.strings.name}}-sprite-width(map-get(${{spritesheet_info.strings.name}}-sprites, #{$name})); + @include {{spritesheet_info.strings.name}}-sprite-height(map-get(${{spritesheet_info.strings.name}}-sprites, #{$name})); + background-repeat: no-repeat; +} +{{/if}} +{{/block}} + +{{#block "spritesheet-functions"}} +{{#if options.functions}} +@mixin all-{{spritesheet_info.strings.name}}-sprites() { + @each $key, $val in ${{spritesheet_info.strings.name}}-sprites { + $sprite-name: nth($val, 10); + .{{spritesheet_info.strings.name}}-#{$sprite-name}-sprites { + @include {{spritesheet_info.strings.name}}-sprite($key); + } + } +} +{{/if}} +{{/block}} diff --git a/src/App.vue b/src/App.vue new file mode 100644 index 00000000..581c620c --- /dev/null +++ b/src/App.vue @@ -0,0 +1,80 @@ + + + diff --git a/src/api/index.js b/src/api/index.js new file mode 100644 index 00000000..65bcbfb0 --- /dev/null +++ b/src/api/index.js @@ -0,0 +1,95 @@ +import axios from 'axios' +// import Qs from 'qs' +import router from '@/router/index' +import store from '@/store/index' +import { ElMessage } from 'element-plus' + +const toLogin = () => { + router.push({ + path: '/login', + query: { + redirect: router.currentRoute.fullPath + } + }) +} + +const api = axios.create({ + baseURL: import.meta.env.DEV ? '/proxy/' : import.meta.env.VITE_APP_API_BASEURL, + timeout: 10000, + responseType: 'json' +}) + +api.interceptors.request.use( + request => { + /** + * 全局拦截请求发送前提交的参数 + * 以下代码为示例,在登录状态下,分别对 post 和 get 请求加上 token 参数 + */ + if (request.method == 'post') { + if (request.data instanceof FormData) { + if (store.getters['token/isLogin']) { + // 如果是 FormData 类型(上传图片) + request.data.append('token', store.state.token.token) + } + } else { + // 带上 token + if (request.data == undefined) { + request.data = {} + } + if (store.getters['token/isLogin']) { + request.data.token = store.state.token.token + } + // request.data = Qs.stringify(request.data) + } + } else { + // 带上 token + if (request.params == undefined) { + request.params = {} + } + if (store.getters['token/isLogin']) { + request.params.token = store.state.token.token + } + } + return request + } +) + +api.interceptors.response.use( + response => { + /** + * 全局拦截请求发送后返回的数据,如果数据有报错则在这做全局的错误提示 + * 假设返回数据格式为:{ status: 1, error: '', data: '' } + * 规则是当 status 为 1 时表示请求成功,为 0 时表示接口需要登录或者登录状态失效,需要重新登录 + * 请求出错时 error 会返回错误信息 + */ + if (response.data.status === 1) { + if (response.data.error === '') { + // 请求成功并且没有报错 + return Promise.resolve(response.data) + } else { + // 这里做错误提示 + // ElMessage.error(options) + return Promise.reject(response.data) + } + } else { + toLogin() + } + }, + error => { + let message = error.message + if (message == 'Network Error') { + message = '后端网络故障' + } else if (message.includes('timeout')) { + message = '接口请求超时' + } else if (message.includes('Request failed with status code')) { + message = '接口' + message.substr(message.length - 3) + '异常' + } + ElMessage({ + message, + type: 'error' + }) + return Promise.reject(error) + } +) + +export default api diff --git a/src/assets/icons/404.svg b/src/assets/icons/404.svg new file mode 100644 index 00000000..9044899d --- /dev/null +++ b/src/assets/icons/404.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/captcha.svg b/src/assets/icons/captcha.svg new file mode 100644 index 00000000..7d77e50f --- /dev/null +++ b/src/assets/icons/captcha.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/example-crown.svg b/src/assets/icons/example-crown.svg new file mode 100644 index 00000000..2e27e3bf --- /dev/null +++ b/src/assets/icons/example-crown.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/example-emotion-laugh-line.svg b/src/assets/icons/example-emotion-laugh-line.svg new file mode 100644 index 00000000..e7e6ea2f --- /dev/null +++ b/src/assets/icons/example-emotion-laugh-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/example-emotion-line.svg b/src/assets/icons/example-emotion-line.svg new file mode 100644 index 00000000..6572a838 --- /dev/null +++ b/src/assets/icons/example-emotion-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/example-emotion-unhappy-line.svg b/src/assets/icons/example-emotion-unhappy-line.svg new file mode 100644 index 00000000..7cbb3773 --- /dev/null +++ b/src/assets/icons/example-emotion-unhappy-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/example-star.svg b/src/assets/icons/example-star.svg new file mode 100644 index 00000000..c9683720 --- /dev/null +++ b/src/assets/icons/example-star.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/example-vip.svg b/src/assets/icons/example-vip.svg new file mode 100644 index 00000000..6e112d56 --- /dev/null +++ b/src/assets/icons/example-vip.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/eye-open.svg b/src/assets/icons/eye-open.svg new file mode 100644 index 00000000..b80fd2b6 --- /dev/null +++ b/src/assets/icons/eye-open.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/eye.svg b/src/assets/icons/eye.svg new file mode 100644 index 00000000..16ed2d87 --- /dev/null +++ b/src/assets/icons/eye.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/fixed-right-buy.svg b/src/assets/icons/fixed-right-buy.svg new file mode 100644 index 00000000..923984d6 --- /dev/null +++ b/src/assets/icons/fixed-right-buy.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/fixed-right-chat.svg b/src/assets/icons/fixed-right-chat.svg new file mode 100644 index 00000000..37b6cbce --- /dev/null +++ b/src/assets/icons/fixed-right-chat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/fixed-right-code.svg b/src/assets/icons/fixed-right-code.svg new file mode 100644 index 00000000..6e0f1481 --- /dev/null +++ b/src/assets/icons/fixed-right-code.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/fixed-right-doc.svg b/src/assets/icons/fixed-right-doc.svg new file mode 100644 index 00000000..0ad61471 --- /dev/null +++ b/src/assets/icons/fixed-right-doc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/fixed-right-qq.svg b/src/assets/icons/fixed-right-qq.svg new file mode 100644 index 00000000..969c4612 --- /dev/null +++ b/src/assets/icons/fixed-right-qq.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/fullscreen-exit.svg b/src/assets/icons/fullscreen-exit.svg new file mode 100644 index 00000000..ea412f9b --- /dev/null +++ b/src/assets/icons/fullscreen-exit.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/fullscreen.svg b/src/assets/icons/fullscreen.svg new file mode 100644 index 00000000..e1f6b07b --- /dev/null +++ b/src/assets/icons/fullscreen.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/image-load-fail.svg b/src/assets/icons/image-load-fail.svg new file mode 100644 index 00000000..66a1a865 --- /dev/null +++ b/src/assets/icons/image-load-fail.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/password.svg b/src/assets/icons/password.svg new file mode 100644 index 00000000..e291d85d --- /dev/null +++ b/src/assets/icons/password.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/pro.svg b/src/assets/icons/pro.svg new file mode 100644 index 00000000..35ba55fa --- /dev/null +++ b/src/assets/icons/pro.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/search-down.svg b/src/assets/icons/search-down.svg new file mode 100644 index 00000000..ebc50186 --- /dev/null +++ b/src/assets/icons/search-down.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/search-enter.svg b/src/assets/icons/search-enter.svg new file mode 100644 index 00000000..710cc0ee --- /dev/null +++ b/src/assets/icons/search-enter.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/search-up.svg b/src/assets/icons/search-up.svg new file mode 100644 index 00000000..000ed07d --- /dev/null +++ b/src/assets/icons/search-up.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/search.svg b/src/assets/icons/search.svg new file mode 100644 index 00000000..5a884a4b --- /dev/null +++ b/src/assets/icons/search.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/sidebar-breadcrumb.svg b/src/assets/icons/sidebar-breadcrumb.svg new file mode 100644 index 00000000..69469eec --- /dev/null +++ b/src/assets/icons/sidebar-breadcrumb.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/sidebar-component.svg b/src/assets/icons/sidebar-component.svg new file mode 100644 index 00000000..1a5a45ae --- /dev/null +++ b/src/assets/icons/sidebar-component.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/sidebar-default.svg b/src/assets/icons/sidebar-default.svg new file mode 100644 index 00000000..cd686a91 --- /dev/null +++ b/src/assets/icons/sidebar-default.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/sidebar-element.svg b/src/assets/icons/sidebar-element.svg new file mode 100644 index 00000000..6965ced0 --- /dev/null +++ b/src/assets/icons/sidebar-element.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/sidebar-external-link.svg b/src/assets/icons/sidebar-external-link.svg new file mode 100644 index 00000000..a70b6b76 --- /dev/null +++ b/src/assets/icons/sidebar-external-link.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/sidebar-keep-alive.svg b/src/assets/icons/sidebar-keep-alive.svg new file mode 100644 index 00000000..adf95ebc --- /dev/null +++ b/src/assets/icons/sidebar-keep-alive.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/sidebar-menu.svg b/src/assets/icons/sidebar-menu.svg new file mode 100644 index 00000000..ced1a685 --- /dev/null +++ b/src/assets/icons/sidebar-menu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/sidebar-mock.svg b/src/assets/icons/sidebar-mock.svg new file mode 100644 index 00000000..724f5642 --- /dev/null +++ b/src/assets/icons/sidebar-mock.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/sidebar-permission.svg b/src/assets/icons/sidebar-permission.svg new file mode 100644 index 00000000..2f812c4f --- /dev/null +++ b/src/assets/icons/sidebar-permission.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/sidebar-videos.svg b/src/assets/icons/sidebar-videos.svg new file mode 100644 index 00000000..1dc80344 --- /dev/null +++ b/src/assets/icons/sidebar-videos.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/toolbar-collapse.svg b/src/assets/icons/toolbar-collapse.svg new file mode 100644 index 00000000..dd767331 --- /dev/null +++ b/src/assets/icons/toolbar-collapse.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/toolbar-reload.svg b/src/assets/icons/toolbar-reload.svg new file mode 100644 index 00000000..c2abcedc --- /dev/null +++ b/src/assets/icons/toolbar-reload.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/toolbar-theme.svg b/src/assets/icons/toolbar-theme.svg new file mode 100644 index 00000000..6c34a303 --- /dev/null +++ b/src/assets/icons/toolbar-theme.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/user.svg b/src/assets/icons/user.svg new file mode 100644 index 00000000..0ba0716a --- /dev/null +++ b/src/assets/icons/user.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/login-banner.jpg b/src/assets/images/login-banner.jpg new file mode 100644 index 00000000..f209d3fc Binary files /dev/null and b/src/assets/images/login-banner.jpg differ diff --git a/src/assets/images/login-bg.jpg b/src/assets/images/login-bg.jpg new file mode 100644 index 00000000..f713cba9 Binary files /dev/null and b/src/assets/images/login-bg.jpg differ diff --git a/src/assets/images/logo.png b/src/assets/images/logo.png new file mode 100644 index 00000000..47d879d6 Binary files /dev/null and b/src/assets/images/logo.png differ diff --git a/src/assets/sprites/example/address.png b/src/assets/sprites/example/address.png new file mode 100644 index 00000000..2b5d1db3 Binary files /dev/null and b/src/assets/sprites/example/address.png differ diff --git a/src/assets/sprites/example/feedback.png b/src/assets/sprites/example/feedback.png new file mode 100644 index 00000000..065b55dd Binary files /dev/null and b/src/assets/sprites/example/feedback.png differ diff --git a/src/assets/sprites/example/payment.png b/src/assets/sprites/example/payment.png new file mode 100644 index 00000000..1c2f680a Binary files /dev/null and b/src/assets/sprites/example/payment.png differ diff --git a/src/assets/styles/globals.scss b/src/assets/styles/globals.scss new file mode 100644 index 00000000..c0969623 --- /dev/null +++ b/src/assets/styles/globals.scss @@ -0,0 +1,86 @@ +// 全局样式 +::-webkit-scrollbar { + width: 13px; + height: 13px; +} +::-webkit-scrollbar-thumb { + background-color: rgba(0, 0, 0, 0.4); + background-clip: padding-box; + border: 3px solid transparent; + border-radius: 7px; +} +::-webkit-scrollbar-thumb:hover { + background-color: rgba(0, 0, 0, 0.5); +} +::-webkit-scrollbar-track { + background-color: transparent; +} +::-webkit-scrollbar-track:hover { + background-color: #f8fafc; +} +html, +body { + height: 100%; +} +body { + margin: 0; + color: #333; + box-sizing: border-box; + font-family: Lato, PingFang SC, Microsoft YaHei, sans-serif; + -webkit-tap-highlight-color: transparent; + &.hidden { + overflow: hidden; + } +} +* { + box-sizing: inherit; +} +// 右侧内容区针对fixed元素,有横向铺满的需求,可在fixed元素上设置 [data-fixed-calc-width] +[data-fixed-calc-width] { + position: fixed; + left: 50%; + right: 0; + width: calc(100% - #{$g-main-sidebar-width} - #{$g-sub-sidebar-width}); +} +[data-sidebar-no-collapse] { + [data-fixed-calc-width] { + transform: translateX(-50%) translateX(division($g-main-sidebar-width, 2)) translateX(division($g-sub-sidebar-width, 2)); + } + &[data-menu-mode=head], + &[data-menu-mode=single] { + [data-fixed-calc-width] { + width: calc(100% - #{$g-sub-sidebar-width}); + transform: translateX(-50%) translateX(division($g-sub-sidebar-width, 2)); + } + } +} +[data-sidebar-collapse] { + [data-fixed-calc-width] { + width: calc(100% - #{$g-main-sidebar-width} - 64px); + transform: translateX(-50%) translateX(division($g-main-sidebar-width, 2)) translateX(32px); + } + &[data-menu-mode=head], + &[data-menu-mode=single] { + [data-fixed-calc-width] { + width: calc(100% - 64px); + transform: translateX(-50%) translateX(32px); + } + } +} +[data-mode=mobile] { + [data-fixed-calc-width] { + width: 100% !important; + transform: translateX(-50%) !important; + } +} +// textarea 字体跟随系统 +textarea { + font-family: inherit; +} +// 列表页全局样式 +.el-table.list-table { + margin: 20px 0; + .el-button + .el-dropdown { + margin-left: 10px; + } +} diff --git a/src/assets/styles/resources/layout.scss b/src/assets/styles/resources/layout.scss new file mode 100644 index 00000000..bbc73509 --- /dev/null +++ b/src/assets/styles/resources/layout.scss @@ -0,0 +1,15 @@ +// 全局变量 + +// 头部宽度(默认自适应宽度,可固定宽度,固定宽度后为居中显示) +$g-header-width: 100%; +// 头部高度 +$g-header-height: 70px; +// 侧边栏宽度 +$g-main-sidebar-width: 70px; +$g-sub-sidebar-width: 220px; +// 侧边栏Logo高度 +$g-sidebar-logo-height: 50px; +// 标签栏高度 +$g-tabbar-height: 40px; +// 顶部导航栏高度 +$g-topbar-height: 50px; diff --git a/src/assets/styles/resources/themes.scss b/src/assets/styles/resources/themes.scss new file mode 100644 index 00000000..7c976487 --- /dev/null +++ b/src/assets/styles/resources/themes.scss @@ -0,0 +1,68 @@ +// 【主区域】 +// 背景色 +$g-main-bg: #f0f2f5; +// 【头部】 +// 背景色 +$g-header-bg: #222b45; +// 文字颜色 +$g-header-color: #fff; +// 导航文字颜色 +$g-header-menu-color: #ccc; +// 导航鼠标悬浮文字颜色 +$g-header-menu-hover-color: #fff; +// 导航鼠标悬浮背景色 +$g-header-menu-hover-bg: #334067; +// 导航选中文字颜色 +$g-header-menu-active-color: #fff; +// 导航选中背景色 +$g-header-menu-active-bg: #334067; +// 【主侧边栏】 +// 背景色 +$g-main-sidebar-bg: #222b45; +// 菜单文字颜色 +$g-main-sidebar-menu-color: #ccc; +// 菜单鼠标悬浮文字颜色 +$g-main-sidebar-menu-hover-color: #fff; +// 菜单鼠标悬浮背景色 +$g-main-sidebar-menu-hover-bg: #334067; +// 菜单选中文字颜色 +$g-main-sidebar-menu-active-color: #fff; +// 菜单选中背景色 +$g-main-sidebar-menu-active-bg: #334067; +// 【次侧边栏】 +// 背景色 +$g-sub-sidebar-bg: #fafafa; +// 菜单背景色 +$g-sub-sidebar-menu-bg: darken(#fafafa, 7); +// 菜单文字颜色 +$g-sub-sidebar-menu-color: #37414b; +// 菜单鼠标悬浮文字颜色 +$g-sub-sidebar-menu-hover-color: #37414b; +// 菜单鼠标悬浮背景色 +$g-sub-sidebar-menu-hover-bg: darken(#fafafa, 10); +// 菜单选中文字颜色 +$g-sub-sidebar-menu-active-color: #e7f4ff; +// 菜单选中背景色 +$g-sub-sidebar-menu-active-bg: #5482ee; +// 【导航标记】 +// 背景色 +$g-badge-bg: #f56c6c; +// 文字颜色 +$g-badge-color: #fff; +// 边框颜色 +$g-badge-border-color:#fff; +// 【标签栏】 +// 背景色 +$g-tabbar-bg: #f0f2f5; +// 分割线颜色 +$g-tabbar-dividers-bg: #a9adb0; +// 标签文字颜色 +$g-tabbar-tab-color: #999; +// 标签鼠标悬浮文字颜色 +$g-tabbar-tab-hover-color: #999; +// 标签鼠标悬浮背景色 +$g-tabbar-tab-hover-bg: #dee1e6; +// 标签选中文字颜色 +$g-tabbar-tab-active-color: #97a8be; +// 标签选中背景色 +$g-tabbar-tab-active-bg: #fff; diff --git a/src/assets/styles/resources/utils.scss b/src/assets/styles/resources/utils.scss new file mode 100644 index 00000000..29424a54 --- /dev/null +++ b/src/assets/styles/resources/utils.scss @@ -0,0 +1,57 @@ +@use 'sass:math'; + +// @mixin 通过 @include 调用使用 +// % 通过 @extend 调用使用 +@function division($a, $b) { + @return math.div($a, $b); +} + +// 文字超出隐藏,默认为单行超出隐藏,可设置多行 +@mixin text-overflow($line: 1, $fixed-width: true) { + @if ($line==1 and $fixed-width==true) { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + @else { + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: $line; + overflow: hidden; + } +} + +// 定位居中,默认水平居中,可选择垂直居中,或者水平垂直都居中 +@mixin position-center($type: x) { + position: absolute; + @if ($type==x) { + left: 50%; + transform: translateX(-50%); + } + @if ($type==y) { + top: 50%; + transform: translateY(-50%); + } + @if ($type==xy) { + left: 50%; + top: 50%; + transform: translateX(-50%) translateY(-50%); + } +} + +// 文字两端对齐 +%justify-align { + text-align: justify; + text-align-last: justify; +} + +// 清除浮动 +%clearfix { + zoom: 1; + &::before, + &::after { + content: ''; + display: block; + clear: both; + } +} diff --git a/src/assets/styles/resources/variables.scss b/src/assets/styles/resources/variables.scss new file mode 100644 index 00000000..d314af3c --- /dev/null +++ b/src/assets/styles/resources/variables.scss @@ -0,0 +1 @@ +// 全局变量 diff --git a/src/components/AbsoluteContainer/index.vue b/src/components/AbsoluteContainer/index.vue new file mode 100644 index 00000000..846d5535 --- /dev/null +++ b/src/components/AbsoluteContainer/index.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/components/Auth/index.vue b/src/components/Auth/index.vue new file mode 100644 index 00000000..b508ea19 --- /dev/null +++ b/src/components/Auth/index.vue @@ -0,0 +1,25 @@ + + + diff --git a/src/components/AuthAll/index.vue b/src/components/AuthAll/index.vue new file mode 100644 index 00000000..2aa834eb --- /dev/null +++ b/src/components/AuthAll/index.vue @@ -0,0 +1,25 @@ + + + diff --git a/src/components/BatchActionBar/index.vue b/src/components/BatchActionBar/index.vue new file mode 100644 index 00000000..d580a5d7 --- /dev/null +++ b/src/components/BatchActionBar/index.vue @@ -0,0 +1,81 @@ + + + + + diff --git a/src/components/CascaderArea/index.vue b/src/components/CascaderArea/index.vue new file mode 100644 index 00000000..6722d236 --- /dev/null +++ b/src/components/CascaderArea/index.vue @@ -0,0 +1,95 @@ + + + + + diff --git a/src/components/Copyright/index.vue b/src/components/Copyright/index.vue new file mode 100644 index 00000000..6fcb8709 --- /dev/null +++ b/src/components/Copyright/index.vue @@ -0,0 +1,31 @@ + + + + + diff --git a/src/components/Editor/index.vue b/src/components/Editor/index.vue new file mode 100644 index 00000000..a9fc9043 --- /dev/null +++ b/src/components/Editor/index.vue @@ -0,0 +1,103 @@ + + + + + diff --git a/src/components/FileUpload/index.vue b/src/components/FileUpload/index.vue new file mode 100644 index 00000000..c1af6114 --- /dev/null +++ b/src/components/FileUpload/index.vue @@ -0,0 +1,106 @@ + + + + + diff --git a/src/components/FixedActionBar/index.vue b/src/components/FixedActionBar/index.vue new file mode 100644 index 00000000..f9df51fc --- /dev/null +++ b/src/components/FixedActionBar/index.vue @@ -0,0 +1,61 @@ + + + + + diff --git a/src/components/ImagePreview/index.vue b/src/components/ImagePreview/index.vue new file mode 100644 index 00000000..b8bb04b8 --- /dev/null +++ b/src/components/ImagePreview/index.vue @@ -0,0 +1,69 @@ + + + + + diff --git a/src/components/ImageUpload/index.vue b/src/components/ImageUpload/index.vue new file mode 100644 index 00000000..0365aa0a --- /dev/null +++ b/src/components/ImageUpload/index.vue @@ -0,0 +1,229 @@ + + + + + diff --git a/src/components/ImagesUpload/index.vue b/src/components/ImagesUpload/index.vue new file mode 100644 index 00000000..0d614ceb --- /dev/null +++ b/src/components/ImagesUpload/index.vue @@ -0,0 +1,262 @@ + + + + + diff --git a/src/components/PageHeader/index.vue b/src/components/PageHeader/index.vue new file mode 100644 index 00000000..a26df720 --- /dev/null +++ b/src/components/PageHeader/index.vue @@ -0,0 +1,52 @@ + + + + + diff --git a/src/components/PageMain/index.vue b/src/components/PageMain/index.vue new file mode 100644 index 00000000..ce814615 --- /dev/null +++ b/src/components/PageMain/index.vue @@ -0,0 +1,82 @@ + + + + + diff --git a/src/components/Result/index.vue b/src/components/Result/index.vue new file mode 100644 index 00000000..bff30e1f --- /dev/null +++ b/src/components/Result/index.vue @@ -0,0 +1,87 @@ + + + + + diff --git a/src/components/SearchBar/index.vue b/src/components/SearchBar/index.vue new file mode 100644 index 00000000..bcef5624 --- /dev/null +++ b/src/components/SearchBar/index.vue @@ -0,0 +1,69 @@ + + + + + diff --git a/src/components/SvgIcon/index.vue b/src/components/SvgIcon/index.vue new file mode 100644 index 00000000..d459e750 --- /dev/null +++ b/src/components/SvgIcon/index.vue @@ -0,0 +1,65 @@ + + + + + diff --git a/src/components/Trend/index.vue b/src/components/Trend/index.vue new file mode 100644 index 00000000..8f7727bc --- /dev/null +++ b/src/components/Trend/index.vue @@ -0,0 +1,61 @@ + + + + + diff --git a/src/components/registerGlobalComponent.js b/src/components/registerGlobalComponent.js new file mode 100644 index 00000000..908c9e20 --- /dev/null +++ b/src/components/registerGlobalComponent.js @@ -0,0 +1,7 @@ +export default function registerGlobalComponent(app) { + const componentsContext = import.meta.globEager('./**/index.vue') + for (const path in componentsContext) { + const component = componentsContext[path].default + app.component(component.name, component) + } +} diff --git a/src/layout/components/BuyIt/index.vue b/src/layout/components/BuyIt/index.vue new file mode 100644 index 00000000..8a97fb6a --- /dev/null +++ b/src/layout/components/BuyIt/index.vue @@ -0,0 +1,111 @@ + + + + + diff --git a/src/layout/components/Header/index.vue b/src/layout/components/Header/index.vue new file mode 100644 index 00000000..a45a3130 --- /dev/null +++ b/src/layout/components/Header/index.vue @@ -0,0 +1,132 @@ + + + + + diff --git a/src/layout/components/Logo/index.vue b/src/layout/components/Logo/index.vue new file mode 100644 index 00000000..3eab0f42 --- /dev/null +++ b/src/layout/components/Logo/index.vue @@ -0,0 +1,76 @@ + + + + + diff --git a/src/layout/components/MainSidebar/index.vue b/src/layout/components/MainSidebar/index.vue new file mode 100644 index 00000000..1dd1969a --- /dev/null +++ b/src/layout/components/MainSidebar/index.vue @@ -0,0 +1,95 @@ + + + + + diff --git a/src/layout/components/Search/index.vue b/src/layout/components/Search/index.vue new file mode 100644 index 00000000..a0962f8a --- /dev/null +++ b/src/layout/components/Search/index.vue @@ -0,0 +1,364 @@ + + + + + diff --git a/src/layout/components/SidebarItem/index.vue b/src/layout/components/SidebarItem/index.vue new file mode 100644 index 00000000..b6707ae2 --- /dev/null +++ b/src/layout/components/SidebarItem/index.vue @@ -0,0 +1,269 @@ + + + + + + + diff --git a/src/layout/components/SubSidebar/index.vue b/src/layout/components/SubSidebar/index.vue new file mode 100644 index 00000000..7bf70128 --- /dev/null +++ b/src/layout/components/SubSidebar/index.vue @@ -0,0 +1,148 @@ + + + + + diff --git a/src/layout/components/ThemeSetting/index.vue b/src/layout/components/ThemeSetting/index.vue new file mode 100644 index 00000000..62a4ec82 --- /dev/null +++ b/src/layout/components/ThemeSetting/index.vue @@ -0,0 +1,417 @@ + + + + + diff --git a/src/layout/components/Topbar/index.vue b/src/layout/components/Topbar/index.vue new file mode 100644 index 00000000..2e081f58 --- /dev/null +++ b/src/layout/components/Topbar/index.vue @@ -0,0 +1,151 @@ + + + + + diff --git a/src/layout/components/UserMenu/index.vue b/src/layout/components/UserMenu/index.vue new file mode 100644 index 00000000..87cf8d69 --- /dev/null +++ b/src/layout/components/UserMenu/index.vue @@ -0,0 +1,154 @@ + + + + + diff --git a/src/layout/index.vue b/src/layout/index.vue new file mode 100644 index 00000000..e549ffdd --- /dev/null +++ b/src/layout/index.vue @@ -0,0 +1,311 @@ + + + + + diff --git a/src/main.js b/src/main.js new file mode 100644 index 00000000..a567ba76 --- /dev/null +++ b/src/main.js @@ -0,0 +1,34 @@ +import { createApp } from 'vue' +import App from './App.vue' +const app = createApp(App) + +import store from './store' +app.use(store) + +import router from './router' +app.use(router) + +import ElementPlus from 'element-plus' +import 'element-plus/dist/index.css' +app.use(ElementPlus, { + size: store.state.settings.elementSize +}) + +import globalProperties from '@/util/global.properties' +globalProperties(app) + +// 自定义指令 +import directive from '@/util/directive' +directive(app) + +// 全局组件自动注册 +import registerGlobalComponent from '@/components/registerGlobalComponent' +registerGlobalComponent(app) + +// 加载 svg 图标 +import 'vite-plugin-svg-icons/register' + +// 全局样式 +import '@/assets/styles/globals.scss' + +app.mount('#app') diff --git a/src/mixins/pagination.js b/src/mixins/pagination.js new file mode 100644 index 00000000..f7e2309a --- /dev/null +++ b/src/mixins/pagination.js @@ -0,0 +1,48 @@ +export default { + data() { + return { + loading: false, + sort: null, + order: null, + pagination: { + page: 1, + size: 10, + total: 0, + sizes: [10, 20, 50, 100], + layout: 'total, sizes, ->, prev, pager, next, jumper' + } + } + }, + methods: { + getParams(params = {}) { + const baseParams = { + from: (this.pagination.page - 1) * this.pagination.size, + limit: this.pagination.size + } + if (this.sort && this.order) { + baseParams.sort = this.sort + baseParams.order = this.order + } + Object.assign(baseParams, params) + return baseParams + }, + onSizeChange(size) { + this.pagination.size = size + this.getDataList() + }, + onCurrentChange(page) { + this.pagination.page = page + this.getDataList() + }, + onSortChange(params) { + if (params.order) { + this.sort = params.prop + this.order = params.order === 'ascending' ? 'asc' : 'desc' + } else { + this.sort = null + this.order = null + } + this.getDataList() + } + } +} diff --git a/src/mock/member.js b/src/mock/member.js new file mode 100644 index 00000000..b515e2ae --- /dev/null +++ b/src/mock/member.js @@ -0,0 +1,43 @@ +export default [ + { + url: '/mock/member/login', + method: 'post', + response: option => { + return { + error: '', + status: 1, + data: { + account: option.body.account, + token: '@string', + failure_time: Date.parse(new Date()) / 1000 + 24 * 60 * 60 + } + } + } + }, + { + url: '/mock/member/permission', + method: 'get', + response: option => { + let permissions = [] + if (option.query.account == 'admin') { + permissions = [ + 'permission.browse', + 'permission.create', + 'permission.edit', + 'permission.remove' + ] + } else if (option.query.account == 'test') { + permissions = [ + 'permission.browse' + ] + } + return { + error: '', + status: 1, + data: { + permissions + } + } + } + } +] diff --git a/src/mock/route.js b/src/mock/route.js new file mode 100644 index 00000000..051e2a91 --- /dev/null +++ b/src/mock/route.js @@ -0,0 +1,86 @@ +export default [ + { + url: '/mock/route/list', + method: 'get', + response: () => { + return { + error: '', + status: 1, + data: [ + { + meta: { + title: '演示', + icon: 'sidebar-default' + }, + children: [ + { + path: '/multilevel_menu_example', + component: 'Layout', + redirect: '/multilevel_menu_example/page', + name: 'multilevelMenuExample', + meta: { + title: '多级导航', + icon: 'sidebar-menu' + }, + children: [ + { + path: 'page', + name: 'multilevelMenuExample1', + component: 'multilevel_menu_example/page.vue', + meta: { + title: '导航1' + } + }, + { + path: 'level2', + name: 'multilevelMenuExample2', + redirect: '/multilevel_menu_example/level2/page', + meta: { + title: '导航2' + }, + children: [ + { + path: 'page', + name: 'multilevelMenuExample2-1', + component: 'multilevel_menu_example/level2/page.vue', + meta: { + title: '导航2-1' + } + }, + { + path: 'level3', + name: 'multilevelMenuExample2-2', + redirect: '/multilevel_menu_example/level2/level3/page1', + meta: { + title: '导航2-2' + }, + children: [ + { + path: 'page1', + name: 'multilevelMenuExample2-2-1', + component: 'multilevel_menu_example/level2/level3/page1.vue', + meta: { + title: '导航2-2-1' + } + }, + { + path: 'page2', + name: 'multilevelMenuExample2-2-2', + component: 'multilevel_menu_example/level2/level3/page2.vue', + meta: { + title: '导航2-2-2' + } + } + ] + } + ] + } + ] + } + ] + } + ] + } + } + } +] diff --git a/src/mockProdServer.js b/src/mockProdServer.js new file mode 100644 index 00000000..84271fa8 --- /dev/null +++ b/src/mockProdServer.js @@ -0,0 +1,11 @@ +import { createProdMockServer } from 'vite-plugin-mock/es/createProdMockServer' + +const mocks = [] +const mockContext = import.meta.globEager('./mock/*.js') +Object.keys(mockContext).forEach(v => { + mocks.push(...mockContext[v].default) +}) + +export function setupProdMockServer() { + createProdMockServer(mocks) +} diff --git a/src/router/index.js b/src/router/index.js new file mode 100644 index 00000000..6139c0c2 --- /dev/null +++ b/src/router/index.js @@ -0,0 +1,255 @@ +import { createRouter, createWebHashHistory } from 'vue-router' +import store from '@/store' +import NProgress from 'nprogress' +import 'nprogress/nprogress.css' // progress bar style +import path from 'path-browserify' + +// 固定路由 +const constantRoutes = [ + { + path: '/login', + name: 'login', + component: () => import('@/views/login.vue'), + meta: { + title: '登录' + } + }, + { + path: '/', + component: () => import('@/layout/index.vue'), + redirect: '/dashboard', + children: [ + { + path: 'dashboard', + name: 'dashboard', + component: () => import('@/views/index.vue'), + meta: { + title: () => store.state.settings.dashboardTitle + } + }, + { + path: 'personal/setting', + name: 'personalSetting', + component: () => import('@/views/personal/setting.vue'), + meta: { + title: '个人设置', + breadcrumbNeste: [ + { title: '个人设置', path: '/personal/setting' } + ] + } + }, + { + path: 'personal/edit/password', + name: 'personalEditPassword', + component: () => import('@/views/personal/edit.password.vue'), + meta: { + title: '修改密码', + breadcrumbNeste: [ + { title: '修改密码', path: '/personal/edit/password' } + ] + } + }, + { + path: 'reload', + name: 'reload', + component: () => import('@/views/reload.vue') + } + ] + } +] + +import MultilevelMenuExample from './modules/multilevel.menu.example' +import BreadcrumbExample from './modules/breadcrumb.example' +import KeepAliveExample from './modules/keep.alive.example' +import ComponentBasicExample from './modules/component.basic.example' +import ComponentExtendExample from './modules/component.extend.example' +import PermissionExample from './modules/permission.example' +import MockExample from './modules/mock.example' +import ExternalLinkExample from './modules/external.link.example' +import VideosExample from './modules/videos.example' + +// 动态路由(异步路由、导航栏路由) +const asyncRoutes = [ + { + meta: { + title: '演示', + icon: 'sidebar-default' + }, + children: [ + MultilevelMenuExample, + BreadcrumbExample, + KeepAliveExample, + ComponentBasicExample, + ComponentExtendExample, + PermissionExample, + MockExample, + ExternalLinkExample + ] + }, + { + meta: { + title: '教程', + icon: 'sidebar-videos' + }, + children: [ + ...VideosExample + ] + } +] + +const lastRoute = { + path: '/:pathMatch(.*)*', + component: () => import('@/views/404.vue'), + meta: { + title: '找不到页面' + } +} + +const router = createRouter({ + history: createWebHashHistory(), + routes: constantRoutes +}) + +router.beforeEach(async(to, from, next) => { + store.state.settings.enableProgress && NProgress.start() + // 已经登录,但还没根据权限动态生成并挂载路由 + if (store.getters['user/isLogin'] && !store.state.menu.isGenerate) { + let accessRoutes = [] + if (!store.state.settings.enableBackendReturnRoute) { + accessRoutes = await store.dispatch('menu/generateRoutesAtFront', { + asyncRoutes, + currentPath: to.path + }) + } else { + accessRoutes = await store.dispatch('menu/generateRoutesAtBack', { + currentPath: to.path + }) + } + accessRoutes.push(lastRoute) + let removeRoutes = [] + accessRoutes.forEach(route => { + removeRoutes.push(router.addRoute(route)) + }) + // 记录的 accessRoutes 路由数据,在登出时会使用到,不使用 router.removeRoute 是考虑配置的路由可能不一定有设置 name ,则通过调用 router.addRoute() 返回的回调进行删除 + store.commit('menu/setCurrentRemoveRoutes', removeRoutes) + next({ ...to, replace: true }) + } else { + if (store.state.menu.isGenerate && store.state.settings.menuMode !== 'single') { + store.commit('menu/setHeaderActived', to.path) + } + if (store.getters['user/isLogin']) { + if (to.name) { + if (to.matched.length !== 0) { + // 如果已登录状态下,进入登录页会强制跳转到控制台页面 + if (to.name == 'login') { + next({ + name: 'dashboard', + replace: true + }) + } else if (!store.state.settings.enableDashboard && to.name == 'dashboard') { + // 如果未开启控制台页面,则默认进入侧边栏导航第一个模块 + if (store.getters['menu/sidebarRoutes'].length > 0) { + // 此处没有使用 store.getters['menu/sidebarRoutes'][0].path 直接进行跳转是因为会有个隐性 bug ,即当父级路由如果设置了 redirect ,而 redirect 对应的嵌套子路由由于没有权限导致没有被注册,此时则会无限进入 404 页面 + let getDeepestPath = (routes, rootPath = '') => { + let retnPath + if (routes.children) { + if ( + routes.children.some(item => { + return item.meta.sidebar != false + }) + ) { + for (let i = 0; i < routes.children.length; i++) { + if (routes.children[i].meta.sidebar != false) { + retnPath = getDeepestPath(routes.children[i], path.resolve(rootPath, routes.path)) + break + } + } + } else { + retnPath = getDeepestPath(routes.children[0], path.resolve(rootPath, routes.path)) + } + } else { + retnPath = path.resolve(rootPath, routes.path) + } + return retnPath + } + next({ + path: getDeepestPath(store.getters['menu/sidebarRoutes'][0]), + replace: true + }) + } else { + next() + } + } else { + next() + } + } else { + // 如果是通过 name 跳转,并且 name 对应的路由没有权限时,需要做这步处理,手动指向到 404 页面 + next({ + path: '/404' + }) + } + } else { + next() + } + } else { + if (to.name != 'login') { + next({ + name: 'login', + query: { + redirect: to.fullPath + } + }) + } else { + next() + } + } + } +}) + +router.afterEach((to, from) => { + store.state.settings.enableProgress && NProgress.done() + // 设置页面 title + to.meta.title && store.commit('settings/setTitle', typeof to.meta.title === 'function' ? to.meta.title() : to.meta.title) + // 判断当前页面是否开启缓存,如果开启,则将当前页面的 name 信息存入 keep-alive 全局状态 + if (to.meta.cache) { + let componentName = to.matched[to.matched.length - 1].components.default.name + if (componentName) { + to.matched.forEach(item => { + if (item.components.default.name && item.components.default.name != 'Layout') { + store.commit('keepAlive/add', item.components.default.name) + } + }) + } else { + console.warn('该页面组件未设置组件名,会导致缓存失效,请检查') + } + } + // 判断离开页面是否开启缓存,如果开启,则根据缓存规则判断是否需要清空 keep-alive 全局状态里离开页面的 name 信息 + if (from.meta.cache) { + let componentName = from.matched[from.matched.length - 1].components.default.name + // 通过 meta.cache 判断针对哪些页面进行缓存 + switch (typeof from.meta.cache) { + case 'string': + if (from.meta.cache != to.name) { + store.commit('keepAlive/remove', componentName) + } + break + case 'object': + if (!from.meta.cache.includes(to.name)) { + store.commit('keepAlive/remove', componentName) + } + break + } + // 如果进入的是 reload 页面,则也将离开页面的缓存清空 + if (to.name == 'reload') { + store.commit('keepAlive/remove', componentName) + } + } + // 百度统计代码 + if (import.meta.env.MODE == 'example') { + if (window._hmt) { + window._hmt.push(['_trackPageview', location.pathname + '#' + to.fullPath]) + } + } +}) + +export default router diff --git a/src/router/modules/breadcrumb.example.js b/src/router/modules/breadcrumb.example.js new file mode 100644 index 00000000..a81d9cd1 --- /dev/null +++ b/src/router/modules/breadcrumb.example.js @@ -0,0 +1,61 @@ +const Layout = () => import('@/layout/index.vue') + +export default { + path: '/breadcrumb_example', + component: Layout, + redirect: '/breadcrumb_example/list1', + name: 'breadcrumbExample', + meta: { + title: '面包屑导航', + icon: 'sidebar-breadcrumb' + }, + children: [ + { + path: 'list1', + name: 'breadcrumbExampleList1', + component: () => import('@/views/breadcrumb_example/list1.vue'), + meta: { + title: '列表1(平级模式)' + } + }, + { + path: 'detail1', + name: 'breadcrumbExampleDetail1', + component: () => import('@/views/breadcrumb_example/detail1.vue'), + meta: { + title: '详情1', + sidebar: false, + activeMenu: '/breadcrumb_example/list1' + } + }, + { + path: 'list2', + name: 'breadcrumbExampleList2', + redirect: '/breadcrumb_example/list2', + meta: { + title: '列表2(层级模式)' + }, + children: [ + { + path: '', + component: () => import('@/views/breadcrumb_example/list2.vue'), + meta: { + title: '列表2(层级模式)', + sidebar: false, + breadcrumb: false + } + }, + { + path: 'detail2', + name: 'breadcrumbExampleDetail2', + component: () => import('@/views/breadcrumb_example/detail2.vue'), + meta: { + title: '详情2', + sidebar: false, + activeMenu: '/breadcrumb_example/list2' + } + } + ] + } + ] +} diff --git a/src/router/modules/component.basic.example.js b/src/router/modules/component.basic.example.js new file mode 100644 index 00000000..f9426b68 --- /dev/null +++ b/src/router/modules/component.basic.example.js @@ -0,0 +1,126 @@ +const Layout = () => import('@/layout/index.vue') + +export default { + path: '/component_basic_example', + component: Layout, + redirect: '/component_basic_example/icon', + name: 'componentBasicExample', + meta: { + title: '基础组件(部分)', + icon: 'sidebar-element' + }, + children: [ + { + path: 'icon', + name: 'componentBasicExampleIcon', + component: () => import('@/views/component_basic_example/icon.vue'), + meta: { + title: '图标' + } + }, + { + path: 'button', + name: 'componentBasicExampleButton', + component: () => import('@/views/component_basic_example/button.vue'), + meta: { + title: '按钮' + } + }, + { + path: 'link', + name: 'componentBasicExampleLink', + component: () => import('@/views/component_basic_example/link.vue'), + meta: { + title: '文字链接' + } + }, + { + path: 'radio', + name: 'componentBasicExampleRadio', + component: () => import('@/views/component_basic_example/radio.vue'), + meta: { + title: '单选框' + } + }, + { + path: 'checkbox', + name: 'componentBasicExampleCheckbox', + component: () => import('@/views/component_basic_example/checkbox.vue'), + meta: { + title: '多选框' + } + }, + { + path: 'input', + name: 'componentBasicExampleInput', + component: () => import('@/views/component_basic_example/input.vue'), + meta: { + title: '输入框' + } + }, + { + path: 'inputnumber', + name: 'componentBasicExampleInputnumber', + component: () => import('@/views/component_basic_example/inputnumber.vue'), + meta: { + title: '计数器' + } + }, + { + path: 'select', + name: 'componentBasicExampleSelect', + component: () => import('@/views/component_basic_example/select.vue'), + meta: { + title: '选择器' + } + }, + { + path: 'switch', + name: 'componentBasicExampleSwitch', + component: () => import('@/views/component_basic_example/switch.vue'), + meta: { + title: '开关' + } + }, + { + path: 'slider', + name: 'componentBasicExampleSlider', + component: () => import('@/views/component_basic_example/slider.vue'), + meta: { + title: '滑块' + } + }, + { + path: 'timepicker', + name: 'componentBasicExampleTimepicker', + component: () => import('@/views/component_basic_example/timepicker.vue'), + meta: { + title: '时间选择器' + } + }, + { + path: 'datepicker', + name: 'componentBasicExampleDatepicker', + component: () => import('@/views/component_basic_example/datepicker.vue'), + meta: { + title: '日期选择器' + } + }, + { + path: 'datetimepicker', + name: 'componentBasicExampleDatetimepicker', + component: () => import('@/views/component_basic_example/datetimepicker.vue'), + meta: { + title: '日期时间选择器' + } + }, + { + path: 'rate', + name: 'componentBasicExampleRate', + component: () => import('@/views/component_basic_example/rate.vue'), + meta: { + title: '评分' + } + } + ] +} diff --git a/src/router/modules/component.extend.example.js b/src/router/modules/component.extend.example.js new file mode 100644 index 00000000..1dbb44ab --- /dev/null +++ b/src/router/modules/component.extend.example.js @@ -0,0 +1,118 @@ +const Layout = () => import('@/layout/index.vue') + +export default { + path: '/component_extend_example', + component: Layout, + redirect: '/component_extend_example/pageheader', + name: 'componentExtendExample', + meta: { + title: '扩展组件', + icon: 'sidebar-component' + }, + children: [ + { + path: 'svg', + name: 'componentExtendExampleSvg', + component: () => import('@/views/component_extend_example/svg.vue'), + meta: { + title: 'SVG Icon' + } + }, + { + path: 'pageheader', + name: 'componentExtendExamplePageheader', + component: () => import('@/views/component_extend_example/pageheader.vue'), + meta: { + title: '页头' + } + }, + { + path: 'pagemain', + name: 'componentExtendExamplePagemain', + component: () => import('@/views/component_extend_example/pagemain.vue'), + meta: { + title: '内容块' + } + }, + { + path: 'result', + name: 'componentExtendExampleResult', + component: () => import('@/views/component_extend_example/result.vue'), + meta: { + title: '处理结果' + } + }, + { + path: 'actionbar', + name: 'componentExtendExampleActionbar', + component: () => import('@/views/component_extend_example/actionbar.vue'), + meta: { + title: '固定底部操作栏' + } + }, + { + path: 'searchbar', + name: 'componentExtendExampleSearchbar', + component: () => import('@/views/component_extend_example/searchbar.vue'), + meta: { + title: '搜索面板' + } + }, + { + path: 'batchactionbar', + name: 'componentExtendExampleBatchactionbar', + component: () => import('@/views/component_extend_example/batchactionbar.vue'), + meta: { + title: '批量操作栏' + } + }, + { + path: 'tableautoheight', + name: 'componentExtendExampleTableautoheight', + component: () => import('@/views/component_extend_example/table.autoheight.vue'), + meta: { + title: '表格自适应' + } + }, + { + path: 'upload', + name: 'componentExtendExampleUpload', + component: () => import('@/views/component_extend_example/upload.vue'), + meta: { + title: '上传' + } + }, + { + path: 'imagepreview', + name: 'componentExtendExampleImagePreview', + component: () => import('@/views/component_extend_example/image.preview.vue'), + meta: { + title: '图片预览' + } + }, + { + path: 'trend', + name: 'componentExtendExampleTrend', + component: () => import('@/views/component_extend_example/trend.vue'), + meta: { + title: '趋势标记' + } + }, + { + path: 'area', + name: 'componentExtendExampleArea', + component: () => import('@/views/component_extend_example/area.vue'), + meta: { + title: '省市区联动' + } + }, + { + path: 'editor', + name: 'componentExtendExampleEditor', + component: () => import('@/views/component_extend_example/editor.vue'), + meta: { + title: '编辑器' + } + } + ] +} diff --git a/src/router/modules/external.link.example.js b/src/router/modules/external.link.example.js new file mode 100644 index 00000000..1ae9ce61 --- /dev/null +++ b/src/router/modules/external.link.example.js @@ -0,0 +1,26 @@ +const Layout = () => import('@/layout/index.vue') + +export default { + path: '/link', + component: Layout, + redirect: '/link/iframe', + name: 'externalLinkExample', + meta: { + title: '外链', + icon: 'sidebar-external-link' + }, + children: [ + { + path: 'https://gitee.com/hooray/fantastic-admin', + meta: { + title: 'Gitee 仓库' + } + }, + { + path: 'https://github.com/hooray/fantastic-admin', + meta: { + title: 'Github 仓库' + } + } + ] +} diff --git a/src/router/modules/keep.alive.example.js b/src/router/modules/keep.alive.example.js new file mode 100644 index 00000000..bb5dc359 --- /dev/null +++ b/src/router/modules/keep.alive.example.js @@ -0,0 +1,99 @@ +const Layout = () => import('@/layout/index.vue') + +export default { + path: '/keep_alive_example', + component: Layout, + redirect: '/keep_alive_example/page', + name: 'keepAliveExample', + meta: { + title: '页面缓存', + icon: 'sidebar-keep-alive' + }, + children: [ + { + path: 'page', + name: 'keepAliveExamplePage', + component: () => import('@/views/keep_alive_example/page.vue'), + meta: { + title: '二级路由缓存' + } + }, + { + path: 'detail', + name: 'keepAliveExampleDetail', + component: () => import('@/views/keep_alive_example/detail.vue'), + meta: { + title: '同级路由', + sidebar: false, + activeMenu: '/keep_alive_example/page' + } + }, + { + path: 'detail2', + redirect: '/keep_alive_example/detail2', + meta: { + title: '下级路由', + sidebar: false + }, + children: [ + { + path: '', + name: 'keepAliveExampleDetail2', + component: () => import('@/views/keep_alive_example/detail.vue'), + meta: { + title: '下级路由', + activeMenu: '/keep_alive_example/page' + } + }, + { + path: 'detail3', + redirect: '/keep_alive_example/detail2/detail3', + meta: { + title: '下下级路由', + sidebar: false + }, + children: [ + { + path: '', + name: 'keepAliveExampleDetail3', + component: () => import('@/views/keep_alive_example/detail.vue'), + meta: { + title: '下下级路由', + activeMenu: '/keep_alive_example/page' + } + } + ] + } + ] + }, + { + path: 'nested', + name: 'keepAliveExampleNested1', + component: () => import('@/views/keep_alive_example/nested/nested.vue'), + meta: { + title: '路由多级缓存(1)' + }, + children: [ + { + path: 'nested', + name: 'keepAliveExampleNested2', + component: () => import('@/views/keep_alive_example/nested/nested/nested.vue'), + meta: { + title: '路由多级缓存(1-1)' + }, + children: [ + { + path: 'test', + name: 'keepAliveExampleNestedTest', + component: () => import('@/views/keep_alive_example/nested/nested/nested/index.vue'), + meta: { + title: '测试页面(1-1-1)', + cache: true + } + } + ] + } + ] + } + ] +} diff --git a/src/router/modules/mock.example.js b/src/router/modules/mock.example.js new file mode 100644 index 00000000..2736a867 --- /dev/null +++ b/src/router/modules/mock.example.js @@ -0,0 +1,25 @@ +const Layout = () => import('@/layout/index.vue') + +export default { + path: '/mock_example', + component: Layout, + redirect: '/mock_example/index', + name: 'mockExample', + meta: { + title: 'Mock', + icon: 'sidebar-mock' + }, + children: [ + { + path: 'index', + name: 'mockExampleIndex', + component: () => import('@/views/mock_example/index.vue'), + meta: { + title: 'Mock', + sidebar: false, + breadcrumb: false, + activeMenu: '/mock_example' + } + } + ] +} diff --git a/src/router/modules/multilevel.menu.example.js b/src/router/modules/multilevel.menu.example.js new file mode 100644 index 00000000..6f632ccd --- /dev/null +++ b/src/router/modules/multilevel.menu.example.js @@ -0,0 +1,66 @@ +const Layout = () => import('@/layout/index.vue') + +export default { + path: '/multilevel_menu_example', + component: Layout, + redirect: '/multilevel_menu_example/page', + name: 'multilevelMenuExample', + meta: { + title: '多级导航', + icon: 'sidebar-menu' + }, + children: [ + { + path: 'page', + name: 'multilevelMenuExample1', + component: () => import('@/views/multilevel_menu_example/page.vue'), + meta: { + title: '导航1' + } + }, + { + path: 'level2', + name: 'multilevelMenuExample2', + redirect: '/multilevel_menu_example/level2/page', + meta: { + title: '导航2' + }, + children: [ + { + path: 'page', + name: 'multilevelMenuExample2-1', + component: () => import('@/views/multilevel_menu_example/level2/page.vue'), + meta: { + title: '导航2-1' + } + }, + { + path: 'level3', + name: 'multilevelMenuExample2-2', + redirect: '/multilevel_menu_example/level2/level3/page1', + meta: { + title: '导航2-2' + }, + children: [ + { + path: 'page1', + name: 'multilevelMenuExample2-2-1', + component: () => import('@/views/multilevel_menu_example/level2/level3/page1.vue'), + meta: { + title: '导航2-2-1' + } + }, + { + path: 'page2', + name: 'multilevelMenuExample2-2-2', + component: () => import('@/views/multilevel_menu_example/level2/level3/page2.vue'), + meta: { + title: '导航2-2-2' + } + } + ] + } + ] + } + ] +} diff --git a/src/router/modules/permission.example.js b/src/router/modules/permission.example.js new file mode 100644 index 00000000..7a2b18af --- /dev/null +++ b/src/router/modules/permission.example.js @@ -0,0 +1,26 @@ +const Layout = () => import('@/layout/index.vue') + +export default { + path: '/permission_example', + component: Layout, + redirect: '/permission_example/index', + name: 'permissionExample', + meta: { + title: '权限验证', + icon: 'sidebar-permission' + }, + children: [ + { + path: 'index', + name: 'permissionExampleIndex', + component: () => import('@/views/permission_example/index.vue'), + meta: { + title: '权限验证', + auth: ['permission.browse'], + sidebar: false, + breadcrumb: false, + activeMenu: '/permission_example' + } + } + ] +} diff --git a/src/router/modules/videos.example.js b/src/router/modules/videos.example.js new file mode 100644 index 00000000..7fbfb349 --- /dev/null +++ b/src/router/modules/videos.example.js @@ -0,0 +1,24 @@ +const Layout = () => import('@/layout/index.vue') + +export default [ + { + path: '/videos_example/coming/soon', + component: Layout, + meta: { + title: '即将推出' + }, + children: [ + { + path: '', + name: 'videosExampleVideoComingSoon', + component: () => import('@/views/videos_example/coming.soon.vue'), + meta: { + title: '即将推出', + sidebar: false, + breadcrumb: false, + activeMenu: '/videos_example/coming/soon' + } + } + ] + } +] diff --git a/src/settings.js b/src/settings.js new file mode 100644 index 00000000..f20a9ad7 --- /dev/null +++ b/src/settings.js @@ -0,0 +1,66 @@ +let globalSettings = { + /** + * 是否开启权限功能,权限功能提供以下鉴权支持: + * 1、路由鉴权 + * 2、鉴权组件:、 + * 3、鉴权指令:v-auth、v-auth-all + * 4、鉴权函数:this.$auth()、this.$authAll() + */ + enablePermission: false, + /** + * 导航栏模式 + * side 侧边栏模式(含主导航) + * head 顶部模式 + * single 侧边栏模式(无主导航) + */ + menuMode: 'side', + // Element 组件默认尺寸,支持:large、medium、small、mini + elementSize: 'large', + // 是否开启侧边栏展开收起按钮 + enableSidebarCollapse: false, + // 侧边栏是否收起 + sidebarCollapse: false, + // 切换侧边栏同时跳转页面 + switchSidebarAndPageJump: false, + // 顶栏(顶部导航栏和标签栏)是否固定 + topbarFixed: true, + // 是否开启面包屑导航 + enableBreadcrumb: true, + // 是否显示底部版权信息,同时在路由 meta 对象里可以单独设置某个路由是否显示底部版权信息 + showCopyright: true, + // 版权信息配置,格式为:Copyright © [dates] , All Rights Reserved + copyrightDates: '2020-2021', + copyrightCompany: 'Fantastic-admin', + copyrightWebsite: 'https://hooray.github.io/fantastic-admin', + // 是否开启导航搜索 + enableNavSearch: true, + // 是否开启移动端适配,开启后当页面宽度小于 992px 时自动切换为移动端展示 + enableMobileAdaptation: true, + // 是否开启全屏 + enableFullscreen: false, + // 是否开启页面刷新 + enablePageReload: false, + // 是否开启载入进度条 + enableProgress: true, + // 是否开启动态标题 + enableDynamicTitle: false, + // 是否开启控制台 + enableDashboard: true, + // 控制台名称 + dashboardTitle: '控制台', + // 是否开启后端返回路由数据 + enableBackendReturnRoute: false, + // 是否开启主题配置(建议在生产环境关闭) + enableThemeSetting: true +} + +// 演示&开发环境开启全部功能(这部分代码可删除,仅方便作者打包演示环境) +if (import.meta.env.VITE_APP_MODE === 'example' || import.meta.env.MODE === 'development') { + globalSettings.enablePermission = true + globalSettings.enableSidebarCollapse = true + globalSettings.enableFullscreen = true + globalSettings.enablePageReload = true + globalSettings.enableDynamicTitle = true +} + +export default globalSettings diff --git a/src/store/index.js b/src/store/index.js new file mode 100644 index 00000000..d780b5f4 --- /dev/null +++ b/src/store/index.js @@ -0,0 +1,13 @@ +import { createStore, createLogger } from 'vuex' + +const modules = {} +const modulesContext = import.meta.globEager('./modules/*.js') +for (const path in modulesContext) { + modules[path.slice(10, -3)] = modulesContext[path].default +} + +export default createStore({ + modules: modules, + strict: !import.meta.env.PROD, + plugins: !import.meta.env.PROD ? [createLogger()] : [] +}) diff --git a/src/store/modules/keepAlive.js b/src/store/modules/keepAlive.js new file mode 100644 index 00000000..139f096b --- /dev/null +++ b/src/store/modules/keepAlive.js @@ -0,0 +1,41 @@ +const state = () => ({ + list: [] +}) + +const getters = {} + +const actions = {} + +const mutations = { + add(state, name) { + if (typeof name === 'string') { + !state.list.includes(name) && state.list.push(name) + } else { + name.map(v => { + v && !state.list.includes(v) && state.list.push(v) + }) + } + }, + remove(state, name) { + if (typeof name === 'string') { + state.list = state.list.filter(v => { + return v != name + }) + } else { + state.list = state.list.filter(v => { + return !name.includes(v) + }) + } + }, + clean(state) { + state.list = [] + } +} + +export default { + namespaced: true, + state, + actions, + getters, + mutations +} diff --git a/src/store/modules/menu.js b/src/store/modules/menu.js new file mode 100644 index 00000000..edc045fa --- /dev/null +++ b/src/store/modules/menu.js @@ -0,0 +1,247 @@ +import { deepClone } from '@/util' +import api from '@/api' + +function hasPermission(permissions, route) { + let isAuth = false + if (route.meta && route.meta.auth) { + isAuth = permissions.some(auth => { + if (typeof route.meta.auth == 'string') { + return route.meta.auth === auth + } else { + return route.meta.auth.some(routeAuth => { + return routeAuth === auth + }) + } + }) + } else { + isAuth = true + } + return isAuth +} + +function filterAsyncRoutes(routes, permissions) { + const res = [] + routes.forEach(route => { + const tmp = { ...route } + if (hasPermission(permissions, tmp)) { + if (tmp.children) { + tmp.children = filterAsyncRoutes(tmp.children, permissions) + tmp.children.length && res.push(tmp) + } else { + res.push(tmp) + } + } + }) + return res +} + +function formatBackRoutes(routes, views = import.meta.glob('../../views/**/*.vue')) { + return routes.map(route => { + switch (route.component) { + case 'Layout': + route.component = () => import('@/layout/index.vue') + break + default: + if (route.component) { + route.component = views[`../../views/${route.component}`] + } + } + if (route.children) { + route.children = formatBackRoutes(route.children, views) + } + return route + }) +} + +// 将多层嵌套路由处理成平级 +function flatAsyncRoutes(routes, breadcrumb, baseUrl = '') { + let res = [] + routes.forEach(route => { + const tmp = { ...route } + if (tmp.children) { + let childrenBaseUrl = '' + if (baseUrl == '') { + childrenBaseUrl = tmp.path + } else if (tmp.path != '') { + childrenBaseUrl = `${baseUrl}/${tmp.path}` + } + let childrenBreadcrumb = deepClone(breadcrumb) + if (route.meta.breadcrumb !== false) { + childrenBreadcrumb.push({ + path: childrenBaseUrl, + title: route.meta.title + }) + } + let tmpRoute = deepClone(route) + tmpRoute.path = childrenBaseUrl + tmpRoute.meta.breadcrumbNeste = childrenBreadcrumb + delete tmpRoute.children + res.push(tmpRoute) + let childrenRoutes = flatAsyncRoutes(tmp.children, childrenBreadcrumb, childrenBaseUrl) + childrenRoutes.map(item => { + // 如果 path 一样则覆盖,因为子路由的 path 可能设置为空,导致和父路由一样,直接注册会提示路由重复 + if (res.some(v => v.path == item.path)) { + res.forEach((v, i) => { + if (v.path == item.path) { + res[i] = item + } + }) + } else { + res.push(item) + } + }) + } else { + if (baseUrl != '') { + if (tmp.path != '') { + tmp.path = `${baseUrl}/${tmp.path}` + } else { + tmp.path = baseUrl + } + } + // 处理面包屑导航 + let tmpBreadcrumb = deepClone(breadcrumb) + if (tmp.meta.breadcrumb !== false) { + tmpBreadcrumb.push({ + path: tmp.path, + title: tmp.meta.title + }) + } + tmp.meta.breadcrumbNeste = tmpBreadcrumb + res.push(tmp) + } + }) + return res +} + +const state = () => ({ + isGenerate: false, + routes: [], + headerActived: 0, + currentRemoveRoutes: [] +}) + +const getters = { + // 由于 getter 的结果不会被缓存,导致导航栏切换时有明显的延迟,该问题会在 Vue 3.2 版本中修复,详看 https://github.com/vuejs/vuex/pull/1883 + routes: (state, getters, rootState) => { + let routes + if (rootState.settings.menuMode === 'single') { + routes = [{children: []}] + state.routes.map(item => { + routes[0].children.push(...item.children) + }) + } else { + routes = state.routes + } + return routes + }, + sidebarRoutes: (state, getters) => { + return getters.routes.length > 0 ? getters.routes[state.headerActived].children : [] + } +} + +const actions = { + // 根据权限动态生成路由(前端生成) + generateRoutesAtFront({rootState, dispatch, commit}, data) { + // eslint-disable-next-line no-async-promise-executor + return new Promise(async resolve => { + let accessedRoutes + // 如果权限功能开启,则需要对路由数据进行筛选过滤 + if (rootState.settings.enablePermission) { + const permissions = await dispatch('user/getPermissions', null, { root: true }) + accessedRoutes = filterAsyncRoutes(data.asyncRoutes, permissions) + } else { + accessedRoutes = data.asyncRoutes + } + commit('setRoutes', accessedRoutes) + commit('setHeaderActived', data.currentPath) + let routes = [] + accessedRoutes.map(item => { + routes.push(...item.children) + }) + // 将三级及以上路由数据拍平成二级 + routes.map(item => { + if (item.children) { + item.children = flatAsyncRoutes(item.children, [{ + path: item.path, + title: item.meta.title + }]) + } + }) + resolve(routes) + }) + }, + // 生成路由(后端获取) + generateRoutesAtBack({ commit }, data) { + return new Promise(resolve => { + api.get('route/list', { + baseURL: '/mock/' + }).then(res => { + let accessedRoutes = formatBackRoutes(res.data) + commit('setRoutes', accessedRoutes) + commit('setHeaderActived', data.currentPath) + let routes = [] + accessedRoutes.map(item => { + routes.push(...item.children) + }) + // 将三级及以上路由数据拍平成二级 + routes.map(item => { + if (item.children) { + item.children = flatAsyncRoutes(item.children, [{ + path: item.path, + title: item.meta.title + }]) + } + }) + resolve(routes) + }) + }) + } +} + +const mutations = { + invalidRoutes(state) { + state.isGenerate = false + state.headerActived = 0 + }, + setRoutes(state, routes) { + state.isGenerate = true + let newRoutes = deepClone(routes) + state.routes = newRoutes.filter(item => { + return item.children.length != 0 + }) + }, + // 根据路由判断属于哪个头部导航 + setHeaderActived(state, path) { + state.routes.map((item, index) => { + if ( + item.children.some(r => { + return path.indexOf(r.path + '/') === 0 || path == r.path + }) + ) { + state.headerActived = index + } + }) + }, + // 切换头部导航 + switchHeaderActived(state, index) { + state.headerActived = index + }, + // 记录 accessRoutes 路由,用于登出时删除路由 + setCurrentRemoveRoutes(state, routes) { + state.currentRemoveRoutes = routes + }, + // 清空动态路由 + removeRoutes(state) { + state.currentRemoveRoutes.forEach(removeRoute => { + removeRoute() + }) + } +} + +export default { + namespaced: true, + state, + actions, + getters, + mutations +} diff --git a/src/store/modules/settings.js b/src/store/modules/settings.js new file mode 100644 index 00000000..9f28d537 --- /dev/null +++ b/src/store/modules/settings.js @@ -0,0 +1,54 @@ +/** + * 存放全局公用状态 + */ +import settings from '@/settings' + +const state = () => ({ + ...settings, + // 侧边栏是否收起(用于记录 pc 模式下最后的状态) + sidebarCollapseLastStatus: settings.sidebarCollapse, + // 主页面是否最大化 + mainPageMaximizeStatus: false, + // 显示模式,支持:mobile、pc + mode: 'pc', + // 页面标题 + title: '' +}) + +const getters = {} + +const actions = {} + +const mutations = { + // 设置访问模式,页面宽度小于 992px 时切换为移动端展示 + setMode(state, width) { + if (state.enableMobileAdaptation && width < 992) { + state.mode = 'mobile' + } else { + state.mode = 'pc' + } + }, + // 设置网页标题 + setTitle(state, title) { + state.title = title + }, + // 切换侧边栏导航展开/收起 + toggleSidebarCollapse(state) { + state.sidebarCollapse = !state.sidebarCollapse + if (state.mode == 'pc') { + state.sidebarCollapseLastStatus = !state.sidebarCollapseLastStatus + } + }, + // 更新主题配置 + updateThemeSetting(state, data) { + Object.assign(state, data) + } +} + +export default { + namespaced: true, + state, + actions, + getters, + mutations +} diff --git a/src/store/modules/user.js b/src/store/modules/user.js new file mode 100644 index 00000000..3f8d458f --- /dev/null +++ b/src/store/modules/user.js @@ -0,0 +1,88 @@ +import api from '@/api' + +const state = () => ({ + account: localStorage.account || '', + token: localStorage.token || '', + failure_time: localStorage.failure_time || '', + permissions: [] +}) + +const getters = { + isLogin: state => { + let retn = false + if (state.token) { + let unix = Date.parse(new Date()) + if (unix < state.failure_time * 1000) { + retn = true + } + } + return retn + } +} + +const actions = { + login({commit}, data) { + return new Promise((resolve, reject) => { + // 通过 mock 进行登录 + api.post('member/login', data, { + baseURL: '/mock/' + }).then(res => { + commit('setUserData', res.data) + resolve() + }).catch(error => { + reject(error) + }) + }) + }, + logout({commit}) { + commit('removeUserData') + commit('menu/invalidRoutes', null, {root: true}) + commit('tabbar/clean', null, {root: true}) + commit('menu/removeRoutes', null, {root: true}) + }, + // 获取我的权限 + getPermissions({state, commit}) { + return new Promise(resolve => { + // 通过 mock 获取权限 + api.get('member/permission', { + baseURL: '/mock/', + params: { + account: state.account + } + }).then(res => { + commit('setPermissions', res.data.permissions) + resolve(res.data.permissions) + }) + }) + } +} + +const mutations = { + setUserData(state, data) { + localStorage.setItem('account', data.account) + localStorage.setItem('token', data.token) + localStorage.setItem('failure_time', data.failure_time) + state.account = data.account + state.token = data.token + state.failure_time = data.failure_time + }, + removeUserData(state) { + localStorage.removeItem('account') + localStorage.removeItem('token') + localStorage.removeItem('failure_time') + state.account = '' + state.token = '' + state.failure_time = '' + }, + setPermissions(state, permissions) { + state.permissions = permissions + } +} + +export default { + namespaced: true, + state, + actions, + getters, + mutations +} diff --git a/src/util/area.js b/src/util/area.js new file mode 100644 index 00000000..904b9744 --- /dev/null +++ b/src/util/area.js @@ -0,0 +1,14010 @@ +const area = [ + { + 'name': '北京市', + 'code': '110000', + 'region': 'north', + 'provinceLevelCity': true, + 'children': [ + { + 'name': '市辖区', + 'code': '110100', + 'children': [ + { + 'name': '东城区', + 'code': '110101' + }, + { + 'name': '西城区', + 'code': '110102' + }, + { + 'name': '朝阳区', + 'code': '110105' + }, + { + 'name': '丰台区', + 'code': '110106' + }, + { + 'name': '石景山区', + 'code': '110107' + }, + { + 'name': '海淀区', + 'code': '110108' + }, + { + 'name': '门头沟区', + 'code': '110109' + }, + { + 'name': '房山区', + 'code': '110111' + }, + { + 'name': '通州区', + 'code': '110112' + }, + { + 'name': '顺义区', + 'code': '110113' + }, + { + 'name': '昌平区', + 'code': '110114' + }, + { + 'name': '大兴区', + 'code': '110115' + }, + { + 'name': '怀柔区', + 'code': '110116' + }, + { + 'name': '平谷区', + 'code': '110117' + }, + { + 'name': '密云区', + 'code': '110118' + }, + { + 'name': '延庆区', + 'code': '110119' + } + ] + } + ] + }, + { + 'name': '天津市', + 'code': '120000', + 'region': 'north', + 'provinceLevelCity': true, + 'children': [ + { + 'name': '市辖区', + 'code': '120100', + 'children': [ + { + 'name': '和平区', + 'code': '120101' + }, + { + 'name': '河东区', + 'code': '120102' + }, + { + 'name': '河西区', + 'code': '120103' + }, + { + 'name': '南开区', + 'code': '120104' + }, + { + 'name': '河北区', + 'code': '120105' + }, + { + 'name': '红桥区', + 'code': '120106' + }, + { + 'name': '东丽区', + 'code': '120110' + }, + { + 'name': '西青区', + 'code': '120111' + }, + { + 'name': '津南区', + 'code': '120112' + }, + { + 'name': '北辰区', + 'code': '120113' + }, + { + 'name': '武清区', + 'code': '120114' + }, + { + 'name': '宝坻区', + 'code': '120115' + }, + { + 'name': '滨海新区', + 'code': '120116' + }, + { + 'name': '宁河区', + 'code': '120117' + }, + { + 'name': '静海区', + 'code': '120118' + }, + { + 'name': '蓟州区', + 'code': '120119' + } + ] + } + ] + }, + { + 'name': '河北省', + 'code': '130000', + 'region': 'north', + 'children': [ + { + 'name': '石家庄市', + 'code': '130100', + 'children': [ + { + 'name': '长安区', + 'code': '130102' + }, + { + 'name': '桥西区', + 'code': '130104' + }, + { + 'name': '新华区', + 'code': '130105' + }, + { + 'name': '井陉矿区', + 'code': '130107' + }, + { + 'name': '裕华区', + 'code': '130108' + }, + { + 'name': '藁城区', + 'code': '130109' + }, + { + 'name': '鹿泉区', + 'code': '130110' + }, + { + 'name': '栾城区', + 'code': '130111' + }, + { + 'name': '井陉县', + 'code': '130121' + }, + { + 'name': '正定县', + 'code': '130123' + }, + { + 'name': '行唐县', + 'code': '130125' + }, + { + 'name': '灵寿县', + 'code': '130126' + }, + { + 'name': '高邑县', + 'code': '130127' + }, + { + 'name': '深泽县', + 'code': '130128' + }, + { + 'name': '赞皇县', + 'code': '130129' + }, + { + 'name': '无极县', + 'code': '130130' + }, + { + 'name': '平山县', + 'code': '130131' + }, + { + 'name': '元氏县', + 'code': '130132' + }, + { + 'name': '赵县', + 'code': '130133' + }, + { + 'name': '辛集市', + 'code': '130181' + }, + { + 'name': '晋州市', + 'code': '130183' + }, + { + 'name': '新乐市', + 'code': '130184' + } + ] + }, + { + 'name': '唐山市', + 'code': '130200', + 'children': [ + { + 'name': '路南区', + 'code': '130202' + }, + { + 'name': '路北区', + 'code': '130203' + }, + { + 'name': '古冶区', + 'code': '130204' + }, + { + 'name': '开平区', + 'code': '130205' + }, + { + 'name': '丰南区', + 'code': '130207' + }, + { + 'name': '丰润区', + 'code': '130208' + }, + { + 'name': '曹妃甸区', + 'code': '130209' + }, + { + 'name': '滦南县', + 'code': '130224' + }, + { + 'name': '乐亭县', + 'code': '130225' + }, + { + 'name': '迁西县', + 'code': '130227' + }, + { + 'name': '玉田县', + 'code': '130229' + }, + { + 'name': '遵化市', + 'code': '130281' + }, + { + 'name': '迁安市', + 'code': '130283' + }, + { + 'name': '滦州市', + 'code': '130284' + } + ] + }, + { + 'name': '秦皇岛市', + 'code': '130300', + 'children': [ + { + 'name': '海港区', + 'code': '130302' + }, + { + 'name': '山海关区', + 'code': '130303' + }, + { + 'name': '北戴河区', + 'code': '130304' + }, + { + 'name': '抚宁区', + 'code': '130306' + }, + { + 'name': '青龙满族自治县', + 'code': '130321' + }, + { + 'name': '昌黎县', + 'code': '130322' + }, + { + 'name': '卢龙县', + 'code': '130324' + } + ] + }, + { + 'name': '邯郸市', + 'code': '130400', + 'children': [ + { + 'name': '邯山区', + 'code': '130402' + }, + { + 'name': '丛台区', + 'code': '130403' + }, + { + 'name': '复兴区', + 'code': '130404' + }, + { + 'name': '峰峰矿区', + 'code': '130406' + }, + { + 'name': '肥乡区', + 'code': '130407' + }, + { + 'name': '永年区', + 'code': '130408' + }, + { + 'name': '临漳县', + 'code': '130423' + }, + { + 'name': '成安县', + 'code': '130424' + }, + { + 'name': '大名县', + 'code': '130425' + }, + { + 'name': '涉县', + 'code': '130426' + }, + { + 'name': '磁县', + 'code': '130427' + }, + { + 'name': '邱县', + 'code': '130430' + }, + { + 'name': '鸡泽县', + 'code': '130431' + }, + { + 'name': '广平县', + 'code': '130432' + }, + { + 'name': '馆陶县', + 'code': '130433' + }, + { + 'name': '魏县', + 'code': '130434' + }, + { + 'name': '曲周县', + 'code': '130435' + }, + { + 'name': '武安市', + 'code': '130481' + } + ] + }, + { + 'name': '邢台市', + 'code': '130500', + 'children': [ + { + 'name': '桥东区', + 'code': '130502' + }, + { + 'name': '桥西区', + 'code': '130503' + }, + { + 'name': '邢台县', + 'code': '130521' + }, + { + 'name': '临城县', + 'code': '130522' + }, + { + 'name': '内丘县', + 'code': '130523' + }, + { + 'name': '柏乡县', + 'code': '130524' + }, + { + 'name': '隆尧县', + 'code': '130525' + }, + { + 'name': '任县', + 'code': '130526' + }, + { + 'name': '南和县', + 'code': '130527' + }, + { + 'name': '宁晋县', + 'code': '130528' + }, + { + 'name': '巨鹿县', + 'code': '130529' + }, + { + 'name': '新河县', + 'code': '130530' + }, + { + 'name': '广宗县', + 'code': '130531' + }, + { + 'name': '平乡县', + 'code': '130532' + }, + { + 'name': '威县', + 'code': '130533' + }, + { + 'name': '清河县', + 'code': '130534' + }, + { + 'name': '临西县', + 'code': '130535' + }, + { + 'name': '南宫市', + 'code': '130581' + }, + { + 'name': '沙河市', + 'code': '130582' + } + ] + }, + { + 'name': '保定市', + 'code': '130600', + 'children': [ + { + 'name': '竞秀区', + 'code': '130602' + }, + { + 'name': '莲池区', + 'code': '130606' + }, + { + 'name': '满城区', + 'code': '130607' + }, + { + 'name': '清苑区', + 'code': '130608' + }, + { + 'name': '徐水区', + 'code': '130609' + }, + { + 'name': '涞水县', + 'code': '130623' + }, + { + 'name': '阜平县', + 'code': '130624' + }, + { + 'name': '定兴县', + 'code': '130626' + }, + { + 'name': '唐县', + 'code': '130627' + }, + { + 'name': '高阳县', + 'code': '130628' + }, + { + 'name': '容城县', + 'code': '130629' + }, + { + 'name': '涞源县', + 'code': '130630' + }, + { + 'name': '望都县', + 'code': '130631' + }, + { + 'name': '安新县', + 'code': '130632' + }, + { + 'name': '易县', + 'code': '130633' + }, + { + 'name': '曲阳县', + 'code': '130634' + }, + { + 'name': '蠡县', + 'code': '130635' + }, + { + 'name': '顺平县', + 'code': '130636' + }, + { + 'name': '博野县', + 'code': '130637' + }, + { + 'name': '雄县', + 'code': '130638' + }, + { + 'name': '涿州市', + 'code': '130681' + }, + { + 'name': '定州市', + 'code': '130682' + }, + { + 'name': '安国市', + 'code': '130683' + }, + { + 'name': '高碑店市', + 'code': '130684' + } + ] + }, + { + 'name': '张家口市', + 'code': '130700', + 'children': [ + { + 'name': '桥东区', + 'code': '130702' + }, + { + 'name': '桥西区', + 'code': '130703' + }, + { + 'name': '宣化区', + 'code': '130705' + }, + { + 'name': '下花园区', + 'code': '130706' + }, + { + 'name': '万全区', + 'code': '130708' + }, + { + 'name': '崇礼区', + 'code': '130709' + }, + { + 'name': '张北县', + 'code': '130722' + }, + { + 'name': '康保县', + 'code': '130723' + }, + { + 'name': '沽源县', + 'code': '130724' + }, + { + 'name': '尚义县', + 'code': '130725' + }, + { + 'name': '蔚县', + 'code': '130726' + }, + { + 'name': '阳原县', + 'code': '130727' + }, + { + 'name': '怀安县', + 'code': '130728' + }, + { + 'name': '怀来县', + 'code': '130730' + }, + { + 'name': '涿鹿县', + 'code': '130731' + }, + { + 'name': '赤城县', + 'code': '130732' + } + ] + }, + { + 'name': '承德市', + 'code': '130800', + 'children': [ + { + 'name': '双桥区', + 'code': '130802' + }, + { + 'name': '双滦区', + 'code': '130803' + }, + { + 'name': '鹰手营子矿区', + 'code': '130804' + }, + { + 'name': '承德县', + 'code': '130821' + }, + { + 'name': '兴隆县', + 'code': '130822' + }, + { + 'name': '滦平县', + 'code': '130824' + }, + { + 'name': '隆化县', + 'code': '130825' + }, + { + 'name': '丰宁满族自治县', + 'code': '130826' + }, + { + 'name': '宽城满族自治县', + 'code': '130827' + }, + { + 'name': '围场满族蒙古族自治县', + 'code': '130828' + }, + { + 'name': '平泉市', + 'code': '130881' + } + ] + }, + { + 'name': '沧州市', + 'code': '130900', + 'children': [ + { + 'name': '新华区', + 'code': '130902' + }, + { + 'name': '运河区', + 'code': '130903' + }, + { + 'name': '沧县', + 'code': '130921' + }, + { + 'name': '青县', + 'code': '130922' + }, + { + 'name': '东光县', + 'code': '130923' + }, + { + 'name': '海兴县', + 'code': '130924' + }, + { + 'name': '盐山县', + 'code': '130925' + }, + { + 'name': '肃宁县', + 'code': '130926' + }, + { + 'name': '南皮县', + 'code': '130927' + }, + { + 'name': '吴桥县', + 'code': '130928' + }, + { + 'name': '献县', + 'code': '130929' + }, + { + 'name': '孟村回族自治县', + 'code': '130930' + }, + { + 'name': '泊头市', + 'code': '130981' + }, + { + 'name': '任丘市', + 'code': '130982' + }, + { + 'name': '黄骅市', + 'code': '130983' + }, + { + 'name': '河间市', + 'code': '130984' + } + ] + }, + { + 'name': '廊坊市', + 'code': '131000', + 'children': [ + { + 'name': '安次区', + 'code': '131002' + }, + { + 'name': '广阳区', + 'code': '131003' + }, + { + 'name': '固安县', + 'code': '131022' + }, + { + 'name': '永清县', + 'code': '131023' + }, + { + 'name': '香河县', + 'code': '131024' + }, + { + 'name': '大城县', + 'code': '131025' + }, + { + 'name': '文安县', + 'code': '131026' + }, + { + 'name': '大厂回族自治县', + 'code': '131028' + }, + { + 'name': '霸州市', + 'code': '131081' + }, + { + 'name': '三河市', + 'code': '131082' + } + ] + }, + { + 'name': '衡水市', + 'code': '131100', + 'children': [ + { + 'name': '桃城区', + 'code': '131102' + }, + { + 'name': '冀州区', + 'code': '131103' + }, + { + 'name': '枣强县', + 'code': '131121' + }, + { + 'name': '武邑县', + 'code': '131122' + }, + { + 'name': '武强县', + 'code': '131123' + }, + { + 'name': '饶阳县', + 'code': '131124' + }, + { + 'name': '安平县', + 'code': '131125' + }, + { + 'name': '故城县', + 'code': '131126' + }, + { + 'name': '景县', + 'code': '131127' + }, + { + 'name': '阜城县', + 'code': '131128' + }, + { + 'name': '深州市', + 'code': '131182' + } + ] + } + ] + }, + { + 'name': '山西省', + 'code': '140000', + 'region': 'north', + 'children': [ + { + 'name': '太原市', + 'code': '140100', + 'children': [ + { + 'name': '小店区', + 'code': '140105' + }, + { + 'name': '迎泽区', + 'code': '140106' + }, + { + 'name': '杏花岭区', + 'code': '140107' + }, + { + 'name': '尖草坪区', + 'code': '140108' + }, + { + 'name': '万柏林区', + 'code': '140109' + }, + { + 'name': '晋源区', + 'code': '140110' + }, + { + 'name': '清徐县', + 'code': '140121' + }, + { + 'name': '阳曲县', + 'code': '140122' + }, + { + 'name': '娄烦县', + 'code': '140123' + }, + { + 'name': '古交市', + 'code': '140181' + } + ] + }, + { + 'name': '大同市', + 'code': '140200', + 'children': [ + { + 'name': '新荣区', + 'code': '140212' + }, + { + 'name': '平城区', + 'code': '140213' + }, + { + 'name': '云冈区', + 'code': '140214' + }, + { + 'name': '云州区', + 'code': '140215' + }, + { + 'name': '阳高县', + 'code': '140221' + }, + { + 'name': '天镇县', + 'code': '140222' + }, + { + 'name': '广灵县', + 'code': '140223' + }, + { + 'name': '灵丘县', + 'code': '140224' + }, + { + 'name': '浑源县', + 'code': '140225' + }, + { + 'name': '左云县', + 'code': '140226' + } + ] + }, + { + 'name': '阳泉市', + 'code': '140300', + 'children': [ + { + 'name': '城区', + 'code': '140302' + }, + { + 'name': '矿区', + 'code': '140303' + }, + { + 'name': '郊区', + 'code': '140311' + }, + { + 'name': '平定县', + 'code': '140321' + }, + { + 'name': '盂县', + 'code': '140322' + } + ] + }, + { + 'name': '长治市', + 'code': '140400', + 'children': [ + { + 'name': '潞州区', + 'code': '140403' + }, + { + 'name': '上党区', + 'code': '140404' + }, + { + 'name': '屯留区', + 'code': '140405' + }, + { + 'name': '潞城区', + 'code': '140406' + }, + { + 'name': '襄垣县', + 'code': '140423' + }, + { + 'name': '平顺县', + 'code': '140425' + }, + { + 'name': '黎城县', + 'code': '140426' + }, + { + 'name': '壶关县', + 'code': '140427' + }, + { + 'name': '长子县', + 'code': '140428' + }, + { + 'name': '武乡县', + 'code': '140429' + }, + { + 'name': '沁县', + 'code': '140430' + }, + { + 'name': '沁源县', + 'code': '140431' + } + ] + }, + { + 'name': '晋城市', + 'code': '140500', + 'children': [ + { + 'name': '城区', + 'code': '140502' + }, + { + 'name': '沁水县', + 'code': '140521' + }, + { + 'name': '阳城县', + 'code': '140522' + }, + { + 'name': '陵川县', + 'code': '140524' + }, + { + 'name': '泽州县', + 'code': '140525' + }, + { + 'name': '高平市', + 'code': '140581' + } + ] + }, + { + 'name': '朔州市', + 'code': '140600', + 'children': [ + { + 'name': '朔城区', + 'code': '140602' + }, + { + 'name': '平鲁区', + 'code': '140603' + }, + { + 'name': '山阴县', + 'code': '140621' + }, + { + 'name': '应县', + 'code': '140622' + }, + { + 'name': '右玉县', + 'code': '140623' + }, + { + 'name': '怀仁市', + 'code': '140681' + } + ] + }, + { + 'name': '晋中市', + 'code': '140700', + 'children': [ + { + 'name': '榆次区', + 'code': '140702' + }, + { + 'name': '榆社县', + 'code': '140721' + }, + { + 'name': '左权县', + 'code': '140722' + }, + { + 'name': '和顺县', + 'code': '140723' + }, + { + 'name': '昔阳县', + 'code': '140724' + }, + { + 'name': '寿阳县', + 'code': '140725' + }, + { + 'name': '太谷县', + 'code': '140726' + }, + { + 'name': '祁县', + 'code': '140727' + }, + { + 'name': '平遥县', + 'code': '140728' + }, + { + 'name': '灵石县', + 'code': '140729' + }, + { + 'name': '介休市', + 'code': '140781' + } + ] + }, + { + 'name': '运城市', + 'code': '140800', + 'children': [ + { + 'name': '盐湖区', + 'code': '140802' + }, + { + 'name': '临猗县', + 'code': '140821' + }, + { + 'name': '万荣县', + 'code': '140822' + }, + { + 'name': '闻喜县', + 'code': '140823' + }, + { + 'name': '稷山县', + 'code': '140824' + }, + { + 'name': '新绛县', + 'code': '140825' + }, + { + 'name': '绛县', + 'code': '140826' + }, + { + 'name': '垣曲县', + 'code': '140827' + }, + { + 'name': '夏县', + 'code': '140828' + }, + { + 'name': '平陆县', + 'code': '140829' + }, + { + 'name': '芮城县', + 'code': '140830' + }, + { + 'name': '永济市', + 'code': '140881' + }, + { + 'name': '河津市', + 'code': '140882' + } + ] + }, + { + 'name': '忻州市', + 'code': '140900', + 'children': [ + { + 'name': '忻府区', + 'code': '140902' + }, + { + 'name': '定襄县', + 'code': '140921' + }, + { + 'name': '五台县', + 'code': '140922' + }, + { + 'name': '代县', + 'code': '140923' + }, + { + 'name': '繁峙县', + 'code': '140924' + }, + { + 'name': '宁武县', + 'code': '140925' + }, + { + 'name': '静乐县', + 'code': '140926' + }, + { + 'name': '神池县', + 'code': '140927' + }, + { + 'name': '五寨县', + 'code': '140928' + }, + { + 'name': '岢岚县', + 'code': '140929' + }, + { + 'name': '河曲县', + 'code': '140930' + }, + { + 'name': '保德县', + 'code': '140931' + }, + { + 'name': '偏关县', + 'code': '140932' + }, + { + 'name': '原平市', + 'code': '140981' + } + ] + }, + { + 'name': '临汾市', + 'code': '141000', + 'children': [ + { + 'name': '尧都区', + 'code': '141002' + }, + { + 'name': '曲沃县', + 'code': '141021' + }, + { + 'name': '翼城县', + 'code': '141022' + }, + { + 'name': '襄汾县', + 'code': '141023' + }, + { + 'name': '洪洞县', + 'code': '141024' + }, + { + 'name': '古县', + 'code': '141025' + }, + { + 'name': '安泽县', + 'code': '141026' + }, + { + 'name': '浮山县', + 'code': '141027' + }, + { + 'name': '吉县', + 'code': '141028' + }, + { + 'name': '乡宁县', + 'code': '141029' + }, + { + 'name': '大宁县', + 'code': '141030' + }, + { + 'name': '隰县', + 'code': '141031' + }, + { + 'name': '永和县', + 'code': '141032' + }, + { + 'name': '蒲县', + 'code': '141033' + }, + { + 'name': '汾西县', + 'code': '141034' + }, + { + 'name': '侯马市', + 'code': '141081' + }, + { + 'name': '霍州市', + 'code': '141082' + } + ] + }, + { + 'name': '吕梁市', + 'code': '141100', + 'children': [ + { + 'name': '离石区', + 'code': '141102' + }, + { + 'name': '文水县', + 'code': '141121' + }, + { + 'name': '交城县', + 'code': '141122' + }, + { + 'name': '兴县', + 'code': '141123' + }, + { + 'name': '临县', + 'code': '141124' + }, + { + 'name': '柳林县', + 'code': '141125' + }, + { + 'name': '石楼县', + 'code': '141126' + }, + { + 'name': '岚县', + 'code': '141127' + }, + { + 'name': '方山县', + 'code': '141128' + }, + { + 'name': '中阳县', + 'code': '141129' + }, + { + 'name': '交口县', + 'code': '141130' + }, + { + 'name': '孝义市', + 'code': '141181' + }, + { + 'name': '汾阳市', + 'code': '141182' + } + ] + } + ] + }, + { + 'name': '内蒙古自治区', + 'code': '150000', + 'region': 'north', + 'autonomousRegion': true, + 'children': [ + { + 'name': '呼和浩特市', + 'code': '150100', + 'children': [ + { + 'name': '新城区', + 'code': '150102' + }, + { + 'name': '回民区', + 'code': '150103' + }, + { + 'name': '玉泉区', + 'code': '150104' + }, + { + 'name': '赛罕区', + 'code': '150105' + }, + { + 'name': '土默特左旗', + 'code': '150121' + }, + { + 'name': '托克托县', + 'code': '150122' + }, + { + 'name': '和林格尔县', + 'code': '150123' + }, + { + 'name': '清水河县', + 'code': '150124' + }, + { + 'name': '武川县', + 'code': '150125' + } + ] + }, + { + 'name': '包头市', + 'code': '150200', + 'children': [ + { + 'name': '东河区', + 'code': '150202' + }, + { + 'name': '昆都仑区', + 'code': '150203' + }, + { + 'name': '青山区', + 'code': '150204' + }, + { + 'name': '石拐区', + 'code': '150205' + }, + { + 'name': '白云鄂博矿区', + 'code': '150206' + }, + { + 'name': '九原区', + 'code': '150207' + }, + { + 'name': '土默特右旗', + 'code': '150221' + }, + { + 'name': '固阳县', + 'code': '150222' + }, + { + 'name': '达尔罕茂明安联合旗', + 'code': '150223' + } + ] + }, + { + 'name': '乌海市', + 'code': '150300', + 'children': [ + { + 'name': '海勃湾区', + 'code': '150302' + }, + { + 'name': '海南区', + 'code': '150303' + }, + { + 'name': '乌达区', + 'code': '150304' + } + ] + }, + { + 'name': '赤峰市', + 'code': '150400', + 'children': [ + { + 'name': '红山区', + 'code': '150402' + }, + { + 'name': '元宝山区', + 'code': '150403' + }, + { + 'name': '松山区', + 'code': '150404' + }, + { + 'name': '阿鲁科尔沁旗', + 'code': '150421' + }, + { + 'name': '巴林左旗', + 'code': '150422' + }, + { + 'name': '巴林右旗', + 'code': '150423' + }, + { + 'name': '林西县', + 'code': '150424' + }, + { + 'name': '克什克腾旗', + 'code': '150425' + }, + { + 'name': '翁牛特旗', + 'code': '150426' + }, + { + 'name': '喀喇沁旗', + 'code': '150428' + }, + { + 'name': '宁城县', + 'code': '150429' + }, + { + 'name': '敖汉旗', + 'code': '150430' + } + ] + }, + { + 'name': '通辽市', + 'code': '150500', + 'children': [ + { + 'name': '科尔沁区', + 'code': '150502' + }, + { + 'name': '科尔沁左翼中旗', + 'code': '150521' + }, + { + 'name': '科尔沁左翼后旗', + 'code': '150522' + }, + { + 'name': '开鲁县', + 'code': '150523' + }, + { + 'name': '库伦旗', + 'code': '150524' + }, + { + 'name': '奈曼旗', + 'code': '150525' + }, + { + 'name': '扎鲁特旗', + 'code': '150526' + }, + { + 'name': '霍林郭勒市', + 'code': '150581' + } + ] + }, + { + 'name': '鄂尔多斯市', + 'code': '150600', + 'children': [ + { + 'name': '东胜区', + 'code': '150602' + }, + { + 'name': '康巴什区', + 'code': '150603' + }, + { + 'name': '达拉特旗', + 'code': '150621' + }, + { + 'name': '准格尔旗', + 'code': '150622' + }, + { + 'name': '鄂托克前旗', + 'code': '150623' + }, + { + 'name': '鄂托克旗', + 'code': '150624' + }, + { + 'name': '杭锦旗', + 'code': '150625' + }, + { + 'name': '乌审旗', + 'code': '150626' + }, + { + 'name': '伊金霍洛旗', + 'code': '150627' + } + ] + }, + { + 'name': '呼伦贝尔市', + 'code': '150700', + 'children': [ + { + 'name': '海拉尔区', + 'code': '150702' + }, + { + 'name': '扎赉诺尔区', + 'code': '150703' + }, + { + 'name': '阿荣旗', + 'code': '150721' + }, + { + 'name': '莫力达瓦达斡尔族自治旗', + 'code': '150722' + }, + { + 'name': '鄂伦春自治旗', + 'code': '150723' + }, + { + 'name': '鄂温克族自治旗', + 'code': '150724' + }, + { + 'name': '陈巴尔虎旗', + 'code': '150725' + }, + { + 'name': '新巴尔虎左旗', + 'code': '150726' + }, + { + 'name': '新巴尔虎右旗', + 'code': '150727' + }, + { + 'name': '满洲里市', + 'code': '150781' + }, + { + 'name': '牙克石市', + 'code': '150782' + }, + { + 'name': '扎兰屯市', + 'code': '150783' + }, + { + 'name': '额尔古纳市', + 'code': '150784' + }, + { + 'name': '根河市', + 'code': '150785' + } + ] + }, + { + 'name': '巴彦淖尔市', + 'code': '150800', + 'children': [ + { + 'name': '临河区', + 'code': '150802' + }, + { + 'name': '五原县', + 'code': '150821' + }, + { + 'name': '磴口县', + 'code': '150822' + }, + { + 'name': '乌拉特前旗', + 'code': '150823' + }, + { + 'name': '乌拉特中旗', + 'code': '150824' + }, + { + 'name': '乌拉特后旗', + 'code': '150825' + }, + { + 'name': '杭锦后旗', + 'code': '150826' + } + ] + }, + { + 'name': '乌兰察布市', + 'code': '150900', + 'children': [ + { + 'name': '集宁区', + 'code': '150902' + }, + { + 'name': '卓资县', + 'code': '150921' + }, + { + 'name': '化德县', + 'code': '150922' + }, + { + 'name': '商都县', + 'code': '150923' + }, + { + 'name': '兴和县', + 'code': '150924' + }, + { + 'name': '凉城县', + 'code': '150925' + }, + { + 'name': '察哈尔右翼前旗', + 'code': '150926' + }, + { + 'name': '察哈尔右翼中旗', + 'code': '150927' + }, + { + 'name': '察哈尔右翼后旗', + 'code': '150928' + }, + { + 'name': '四子王旗', + 'code': '150929' + }, + { + 'name': '丰镇市', + 'code': '150981' + } + ] + }, + { + 'name': '兴安盟', + 'code': '152200', + 'children': [ + { + 'name': '乌兰浩特市', + 'code': '152201' + }, + { + 'name': '阿尔山市', + 'code': '152202' + }, + { + 'name': '科尔沁右翼前旗', + 'code': '152221' + }, + { + 'name': '科尔沁右翼中旗', + 'code': '152222' + }, + { + 'name': '扎赉特旗', + 'code': '152223' + }, + { + 'name': '突泉县', + 'code': '152224' + } + ] + }, + { + 'name': '锡林郭勒盟', + 'code': '152500', + 'children': [ + { + 'name': '二连浩特市', + 'code': '152501' + }, + { + 'name': '锡林浩特市', + 'code': '152502' + }, + { + 'name': '阿巴嘎旗', + 'code': '152522' + }, + { + 'name': '苏尼特左旗', + 'code': '152523' + }, + { + 'name': '苏尼特右旗', + 'code': '152524' + }, + { + 'name': '东乌珠穆沁旗', + 'code': '152525' + }, + { + 'name': '西乌珠穆沁旗', + 'code': '152526' + }, + { + 'name': '太仆寺旗', + 'code': '152527' + }, + { + 'name': '镶黄旗', + 'code': '152528' + }, + { + 'name': '正镶白旗', + 'code': '152529' + }, + { + 'name': '正蓝旗', + 'code': '152530' + }, + { + 'name': '多伦县', + 'code': '152531' + } + ] + }, + { + 'name': '阿拉善盟', + 'code': '152900', + 'children': [ + { + 'name': '阿拉善左旗', + 'code': '152921' + }, + { + 'name': '阿拉善右旗', + 'code': '152922' + }, + { + 'name': '额济纳旗', + 'code': '152923' + } + ] + } + ] + }, + { + 'name': '辽宁省', + 'code': '210000', + 'region': 'northeast', + 'children': [ + { + 'name': '沈阳市', + 'code': '210100', + 'children': [ + { + 'name': '和平区', + 'code': '210102' + }, + { + 'name': '沈河区', + 'code': '210103' + }, + { + 'name': '大东区', + 'code': '210104' + }, + { + 'name': '皇姑区', + 'code': '210105' + }, + { + 'name': '铁西区', + 'code': '210106' + }, + { + 'name': '苏家屯区', + 'code': '210111' + }, + { + 'name': '浑南区', + 'code': '210112' + }, + { + 'name': '沈北新区', + 'code': '210113' + }, + { + 'name': '于洪区', + 'code': '210114' + }, + { + 'name': '辽中区', + 'code': '210115' + }, + { + 'name': '康平县', + 'code': '210123' + }, + { + 'name': '法库县', + 'code': '210124' + }, + { + 'name': '新民市', + 'code': '210181' + } + ] + }, + { + 'name': '大连市', + 'code': '210200', + 'children': [ + { + 'name': '中山区', + 'code': '210202' + }, + { + 'name': '西岗区', + 'code': '210203' + }, + { + 'name': '沙河口区', + 'code': '210204' + }, + { + 'name': '甘井子区', + 'code': '210211' + }, + { + 'name': '旅顺口区', + 'code': '210212' + }, + { + 'name': '金州区', + 'code': '210213' + }, + { + 'name': '普兰店区', + 'code': '210214' + }, + { + 'name': '长海县', + 'code': '210224' + }, + { + 'name': '瓦房店市', + 'code': '210281' + }, + { + 'name': '庄河市', + 'code': '210283' + } + ] + }, + { + 'name': '鞍山市', + 'code': '210300', + 'children': [ + { + 'name': '铁东区', + 'code': '210302' + }, + { + 'name': '铁西区', + 'code': '210303' + }, + { + 'name': '立山区', + 'code': '210304' + }, + { + 'name': '千山区', + 'code': '210311' + }, + { + 'name': '台安县', + 'code': '210321' + }, + { + 'name': '岫岩满族自治县', + 'code': '210323' + }, + { + 'name': '海城市', + 'code': '210381' + } + ] + }, + { + 'name': '抚顺市', + 'code': '210400', + 'children': [ + { + 'name': '新抚区', + 'code': '210402' + }, + { + 'name': '东洲区', + 'code': '210403' + }, + { + 'name': '望花区', + 'code': '210404' + }, + { + 'name': '顺城区', + 'code': '210411' + }, + { + 'name': '抚顺县', + 'code': '210421' + }, + { + 'name': '新宾满族自治县', + 'code': '210422' + }, + { + 'name': '清原满族自治县', + 'code': '210423' + } + ] + }, + { + 'name': '本溪市', + 'code': '210500', + 'children': [ + { + 'name': '平山区', + 'code': '210502' + }, + { + 'name': '溪湖区', + 'code': '210503' + }, + { + 'name': '明山区', + 'code': '210504' + }, + { + 'name': '南芬区', + 'code': '210505' + }, + { + 'name': '本溪满族自治县', + 'code': '210521' + }, + { + 'name': '桓仁满族自治县', + 'code': '210522' + } + ] + }, + { + 'name': '丹东市', + 'code': '210600', + 'children': [ + { + 'name': '元宝区', + 'code': '210602' + }, + { + 'name': '振兴区', + 'code': '210603' + }, + { + 'name': '振安区', + 'code': '210604' + }, + { + 'name': '宽甸满族自治县', + 'code': '210624' + }, + { + 'name': '东港市', + 'code': '210681' + }, + { + 'name': '凤城市', + 'code': '210682' + } + ] + }, + { + 'name': '锦州市', + 'code': '210700', + 'children': [ + { + 'name': '古塔区', + 'code': '210702' + }, + { + 'name': '凌河区', + 'code': '210703' + }, + { + 'name': '太和区', + 'code': '210711' + }, + { + 'name': '黑山县', + 'code': '210726' + }, + { + 'name': '义县', + 'code': '210727' + }, + { + 'name': '凌海市', + 'code': '210781' + }, + { + 'name': '北镇市', + 'code': '210782' + } + ] + }, + { + 'name': '营口市', + 'code': '210800', + 'children': [ + { + 'name': '站前区', + 'code': '210802' + }, + { + 'name': '西市区', + 'code': '210803' + }, + { + 'name': '鲅鱼圈区', + 'code': '210804' + }, + { + 'name': '老边区', + 'code': '210811' + }, + { + 'name': '盖州市', + 'code': '210881' + }, + { + 'name': '大石桥市', + 'code': '210882' + } + ] + }, + { + 'name': '阜新市', + 'code': '210900', + 'children': [ + { + 'name': '海州区', + 'code': '210902' + }, + { + 'name': '新邱区', + 'code': '210903' + }, + { + 'name': '太平区', + 'code': '210904' + }, + { + 'name': '清河门区', + 'code': '210905' + }, + { + 'name': '细河区', + 'code': '210911' + }, + { + 'name': '阜新蒙古族自治县', + 'code': '210921' + }, + { + 'name': '彰武县', + 'code': '210922' + } + ] + }, + { + 'name': '辽阳市', + 'code': '211000', + 'children': [ + { + 'name': '白塔区', + 'code': '211002' + }, + { + 'name': '文圣区', + 'code': '211003' + }, + { + 'name': '宏伟区', + 'code': '211004' + }, + { + 'name': '弓长岭区', + 'code': '211005' + }, + { + 'name': '太子河区', + 'code': '211011' + }, + { + 'name': '辽阳县', + 'code': '211021' + }, + { + 'name': '灯塔市', + 'code': '211081' + } + ] + }, + { + 'name': '盘锦市', + 'code': '211100', + 'children': [ + { + 'name': '双台子区', + 'code': '211102' + }, + { + 'name': '兴隆台区', + 'code': '211103' + }, + { + 'name': '大洼区', + 'code': '211104' + }, + { + 'name': '盘山县', + 'code': '211122' + } + ] + }, + { + 'name': '铁岭市', + 'code': '211200', + 'children': [ + { + 'name': '银州区', + 'code': '211202' + }, + { + 'name': '清河区', + 'code': '211204' + }, + { + 'name': '铁岭县', + 'code': '211221' + }, + { + 'name': '西丰县', + 'code': '211223' + }, + { + 'name': '昌图县', + 'code': '211224' + }, + { + 'name': '调兵山市', + 'code': '211281' + }, + { + 'name': '开原市', + 'code': '211282' + } + ] + }, + { + 'name': '朝阳市', + 'code': '211300', + 'children': [ + { + 'name': '双塔区', + 'code': '211302' + }, + { + 'name': '龙城区', + 'code': '211303' + }, + { + 'name': '朝阳县', + 'code': '211321' + }, + { + 'name': '建平县', + 'code': '211322' + }, + { + 'name': '喀喇沁左翼蒙古族自治县', + 'code': '211324' + }, + { + 'name': '北票市', + 'code': '211381' + }, + { + 'name': '凌源市', + 'code': '211382' + } + ] + }, + { + 'name': '葫芦岛市', + 'code': '211400', + 'children': [ + { + 'name': '连山区', + 'code': '211402' + }, + { + 'name': '龙港区', + 'code': '211403' + }, + { + 'name': '南票区', + 'code': '211404' + }, + { + 'name': '绥中县', + 'code': '211421' + }, + { + 'name': '建昌县', + 'code': '211422' + }, + { + 'name': '兴城市', + 'code': '211481' + } + ] + } + ] + }, + { + 'name': '吉林省', + 'code': '220000', + 'region': 'northeast', + 'children': [ + { + 'name': '长春市', + 'code': '220100', + 'children': [ + { + 'name': '南关区', + 'code': '220102' + }, + { + 'name': '宽城区', + 'code': '220103' + }, + { + 'name': '朝阳区', + 'code': '220104' + }, + { + 'name': '二道区', + 'code': '220105' + }, + { + 'name': '绿园区', + 'code': '220106' + }, + { + 'name': '双阳区', + 'code': '220112' + }, + { + 'name': '九台区', + 'code': '220113' + }, + { + 'name': '农安县', + 'code': '220122' + }, + { + 'name': '榆树市', + 'code': '220182' + }, + { + 'name': '德惠市', + 'code': '220183' + } + ] + }, + { + 'name': '吉林市', + 'code': '220200', + 'children': [ + { + 'name': '昌邑区', + 'code': '220202' + }, + { + 'name': '龙潭区', + 'code': '220203' + }, + { + 'name': '船营区', + 'code': '220204' + }, + { + 'name': '丰满区', + 'code': '220211' + }, + { + 'name': '永吉县', + 'code': '220221' + }, + { + 'name': '蛟河市', + 'code': '220281' + }, + { + 'name': '桦甸市', + 'code': '220282' + }, + { + 'name': '舒兰市', + 'code': '220283' + }, + { + 'name': '磐石市', + 'code': '220284' + } + ] + }, + { + 'name': '四平市', + 'code': '220300', + 'children': [ + { + 'name': '铁西区', + 'code': '220302' + }, + { + 'name': '铁东区', + 'code': '220303' + }, + { + 'name': '梨树县', + 'code': '220322' + }, + { + 'name': '伊通满族自治县', + 'code': '220323' + }, + { + 'name': '公主岭市', + 'code': '220381' + }, + { + 'name': '双辽市', + 'code': '220382' + } + ] + }, + { + 'name': '辽源市', + 'code': '220400', + 'children': [ + { + 'name': '龙山区', + 'code': '220402' + }, + { + 'name': '西安区', + 'code': '220403' + }, + { + 'name': '东丰县', + 'code': '220421' + }, + { + 'name': '东辽县', + 'code': '220422' + } + ] + }, + { + 'name': '通化市', + 'code': '220500', + 'children': [ + { + 'name': '东昌区', + 'code': '220502' + }, + { + 'name': '二道江区', + 'code': '220503' + }, + { + 'name': '通化县', + 'code': '220521' + }, + { + 'name': '辉南县', + 'code': '220523' + }, + { + 'name': '柳河县', + 'code': '220524' + }, + { + 'name': '梅河口市', + 'code': '220581' + }, + { + 'name': '集安市', + 'code': '220582' + } + ] + }, + { + 'name': '白山市', + 'code': '220600', + 'children': [ + { + 'name': '浑江区', + 'code': '220602' + }, + { + 'name': '江源区', + 'code': '220605' + }, + { + 'name': '抚松县', + 'code': '220621' + }, + { + 'name': '靖宇县', + 'code': '220622' + }, + { + 'name': '长白朝鲜族自治县', + 'code': '220623' + }, + { + 'name': '临江市', + 'code': '220681' + } + ] + }, + { + 'name': '松原市', + 'code': '220700', + 'children': [ + { + 'name': '宁江区', + 'code': '220702' + }, + { + 'name': '前郭尔罗斯蒙古族自治县', + 'code': '220721' + }, + { + 'name': '长岭县', + 'code': '220722' + }, + { + 'name': '乾安县', + 'code': '220723' + }, + { + 'name': '扶余市', + 'code': '220781' + } + ] + }, + { + 'name': '白城市', + 'code': '220800', + 'children': [ + { + 'name': '洮北区', + 'code': '220802' + }, + { + 'name': '镇赉县', + 'code': '220821' + }, + { + 'name': '通榆县', + 'code': '220822' + }, + { + 'name': '洮南市', + 'code': '220881' + }, + { + 'name': '大安市', + 'code': '220882' + } + ] + }, + { + 'name': '延边朝鲜族自治州', + 'code': '222400', + 'children': [ + { + 'name': '延吉市', + 'code': '222401' + }, + { + 'name': '图们市', + 'code': '222402' + }, + { + 'name': '敦化市', + 'code': '222403' + }, + { + 'name': '珲春市', + 'code': '222404' + }, + { + 'name': '龙井市', + 'code': '222405' + }, + { + 'name': '和龙市', + 'code': '222406' + }, + { + 'name': '汪清县', + 'code': '222424' + }, + { + 'name': '安图县', + 'code': '222426' + } + ] + } + ] + }, + { + 'name': '黑龙江省', + 'code': '230000', + 'region': 'northeast', + 'children': [ + { + 'name': '哈尔滨市', + 'code': '230100', + 'children': [ + { + 'name': '道里区', + 'code': '230102' + }, + { + 'name': '南岗区', + 'code': '230103' + }, + { + 'name': '道外区', + 'code': '230104' + }, + { + 'name': '平房区', + 'code': '230108' + }, + { + 'name': '松北区', + 'code': '230109' + }, + { + 'name': '香坊区', + 'code': '230110' + }, + { + 'name': '呼兰区', + 'code': '230111' + }, + { + 'name': '阿城区', + 'code': '230112' + }, + { + 'name': '双城区', + 'code': '230113' + }, + { + 'name': '依兰县', + 'code': '230123' + }, + { + 'name': '方正县', + 'code': '230124' + }, + { + 'name': '宾县', + 'code': '230125' + }, + { + 'name': '巴彦县', + 'code': '230126' + }, + { + 'name': '木兰县', + 'code': '230127' + }, + { + 'name': '通河县', + 'code': '230128' + }, + { + 'name': '延寿县', + 'code': '230129' + }, + { + 'name': '尚志市', + 'code': '230183' + }, + { + 'name': '五常市', + 'code': '230184' + } + ] + }, + { + 'name': '齐齐哈尔市', + 'code': '230200', + 'children': [ + { + 'name': '龙沙区', + 'code': '230202' + }, + { + 'name': '建华区', + 'code': '230203' + }, + { + 'name': '铁锋区', + 'code': '230204' + }, + { + 'name': '昂昂溪区', + 'code': '230205' + }, + { + 'name': '富拉尔基区', + 'code': '230206' + }, + { + 'name': '碾子山区', + 'code': '230207' + }, + { + 'name': '梅里斯达斡尔族区', + 'code': '230208' + }, + { + 'name': '龙江县', + 'code': '230221' + }, + { + 'name': '依安县', + 'code': '230223' + }, + { + 'name': '泰来县', + 'code': '230224' + }, + { + 'name': '甘南县', + 'code': '230225' + }, + { + 'name': '富裕县', + 'code': '230227' + }, + { + 'name': '克山县', + 'code': '230229' + }, + { + 'name': '克东县', + 'code': '230230' + }, + { + 'name': '拜泉县', + 'code': '230231' + }, + { + 'name': '讷河市', + 'code': '230281' + } + ] + }, + { + 'name': '鸡西市', + 'code': '230300', + 'children': [ + { + 'name': '鸡冠区', + 'code': '230302' + }, + { + 'name': '恒山区', + 'code': '230303' + }, + { + 'name': '滴道区', + 'code': '230304' + }, + { + 'name': '梨树区', + 'code': '230305' + }, + { + 'name': '城子河区', + 'code': '230306' + }, + { + 'name': '麻山区', + 'code': '230307' + }, + { + 'name': '鸡东县', + 'code': '230321' + }, + { + 'name': '虎林市', + 'code': '230381' + }, + { + 'name': '密山市', + 'code': '230382' + } + ] + }, + { + 'name': '鹤岗市', + 'code': '230400', + 'children': [ + { + 'name': '向阳区', + 'code': '230402' + }, + { + 'name': '工农区', + 'code': '230403' + }, + { + 'name': '南山区', + 'code': '230404' + }, + { + 'name': '兴安区', + 'code': '230405' + }, + { + 'name': '东山区', + 'code': '230406' + }, + { + 'name': '兴山区', + 'code': '230407' + }, + { + 'name': '萝北县', + 'code': '230421' + }, + { + 'name': '绥滨县', + 'code': '230422' + } + ] + }, + { + 'name': '双鸭山市', + 'code': '230500', + 'children': [ + { + 'name': '尖山区', + 'code': '230502' + }, + { + 'name': '岭东区', + 'code': '230503' + }, + { + 'name': '四方台区', + 'code': '230505' + }, + { + 'name': '宝山区', + 'code': '230506' + }, + { + 'name': '集贤县', + 'code': '230521' + }, + { + 'name': '友谊县', + 'code': '230522' + }, + { + 'name': '宝清县', + 'code': '230523' + }, + { + 'name': '饶河县', + 'code': '230524' + } + ] + }, + { + 'name': '大庆市', + 'code': '230600', + 'children': [ + { + 'name': '萨尔图区', + 'code': '230602' + }, + { + 'name': '龙凤区', + 'code': '230603' + }, + { + 'name': '让胡路区', + 'code': '230604' + }, + { + 'name': '红岗区', + 'code': '230605' + }, + { + 'name': '大同区', + 'code': '230606' + }, + { + 'name': '肇州县', + 'code': '230621' + }, + { + 'name': '肇源县', + 'code': '230622' + }, + { + 'name': '林甸县', + 'code': '230623' + }, + { + 'name': '杜尔伯特蒙古族自治县', + 'code': '230624' + } + ] + }, + { + 'name': '伊春市', + 'code': '230700', + 'children': [ + { + 'name': '伊春区', + 'code': '230702' + }, + { + 'name': '南岔区', + 'code': '230703' + }, + { + 'name': '友好区', + 'code': '230704' + }, + { + 'name': '西林区', + 'code': '230705' + }, + { + 'name': '翠峦区', + 'code': '230706' + }, + { + 'name': '新青区', + 'code': '230707' + }, + { + 'name': '美溪区', + 'code': '230708' + }, + { + 'name': '金山屯区', + 'code': '230709' + }, + { + 'name': '五营区', + 'code': '230710' + }, + { + 'name': '乌马河区', + 'code': '230711' + }, + { + 'name': '汤旺河区', + 'code': '230712' + }, + { + 'name': '带岭区', + 'code': '230713' + }, + { + 'name': '乌伊岭区', + 'code': '230714' + }, + { + 'name': '红星区', + 'code': '230715' + }, + { + 'name': '上甘岭区', + 'code': '230716' + }, + { + 'name': '嘉荫县', + 'code': '230722' + }, + { + 'name': '铁力市', + 'code': '230781' + } + ] + }, + { + 'name': '佳木斯市', + 'code': '230800', + 'children': [ + { + 'name': '向阳区', + 'code': '230803' + }, + { + 'name': '前进区', + 'code': '230804' + }, + { + 'name': '东风区', + 'code': '230805' + }, + { + 'name': '郊区', + 'code': '230811' + }, + { + 'name': '桦南县', + 'code': '230822' + }, + { + 'name': '桦川县', + 'code': '230826' + }, + { + 'name': '汤原县', + 'code': '230828' + }, + { + 'name': '同江市', + 'code': '230881' + }, + { + 'name': '富锦市', + 'code': '230882' + }, + { + 'name': '抚远市', + 'code': '230883' + } + ] + }, + { + 'name': '七台河市', + 'code': '230900', + 'children': [ + { + 'name': '新兴区', + 'code': '230902' + }, + { + 'name': '桃山区', + 'code': '230903' + }, + { + 'name': '茄子河区', + 'code': '230904' + }, + { + 'name': '勃利县', + 'code': '230921' + } + ] + }, + { + 'name': '牡丹江市', + 'code': '231000', + 'children': [ + { + 'name': '东安区', + 'code': '231002' + }, + { + 'name': '阳明区', + 'code': '231003' + }, + { + 'name': '爱民区', + 'code': '231004' + }, + { + 'name': '西安区', + 'code': '231005' + }, + { + 'name': '林口县', + 'code': '231025' + }, + { + 'name': '绥芬河市', + 'code': '231081' + }, + { + 'name': '海林市', + 'code': '231083' + }, + { + 'name': '宁安市', + 'code': '231084' + }, + { + 'name': '穆棱市', + 'code': '231085' + }, + { + 'name': '东宁市', + 'code': '231086' + } + ] + }, + { + 'name': '黑河市', + 'code': '231100', + 'children': [ + { + 'name': '爱辉区', + 'code': '231102' + }, + { + 'name': '嫩江县', + 'code': '231121' + }, + { + 'name': '逊克县', + 'code': '231123' + }, + { + 'name': '孙吴县', + 'code': '231124' + }, + { + 'name': '北安市', + 'code': '231181' + }, + { + 'name': '五大连池市', + 'code': '231182' + } + ] + }, + { + 'name': '绥化市', + 'code': '231200', + 'children': [ + { + 'name': '北林区', + 'code': '231202' + }, + { + 'name': '望奎县', + 'code': '231221' + }, + { + 'name': '兰西县', + 'code': '231222' + }, + { + 'name': '青冈县', + 'code': '231223' + }, + { + 'name': '庆安县', + 'code': '231224' + }, + { + 'name': '明水县', + 'code': '231225' + }, + { + 'name': '绥棱县', + 'code': '231226' + }, + { + 'name': '安达市', + 'code': '231281' + }, + { + 'name': '肇东市', + 'code': '231282' + }, + { + 'name': '海伦市', + 'code': '231283' + } + ] + }, + { + 'name': '大兴安岭地区', + 'code': '232700', + 'children': [ + { + 'name': '漠河市', + 'code': '232701' + }, + { + 'name': '呼玛县', + 'code': '232721' + }, + { + 'name': '塔河县', + 'code': '232722' + } + ] + } + ] + }, + { + 'name': '上海市', + 'code': '310000', + 'region': 'east', + 'provinceLevelCity': true, + 'children': [ + { + 'name': '市辖区', + 'code': '310100', + 'children': [ + { + 'name': '黄浦区', + 'code': '310101' + }, + { + 'name': '徐汇区', + 'code': '310104' + }, + { + 'name': '长宁区', + 'code': '310105' + }, + { + 'name': '静安区', + 'code': '310106' + }, + { + 'name': '普陀区', + 'code': '310107' + }, + { + 'name': '虹口区', + 'code': '310109' + }, + { + 'name': '杨浦区', + 'code': '310110' + }, + { + 'name': '闵行区', + 'code': '310112' + }, + { + 'name': '宝山区', + 'code': '310113' + }, + { + 'name': '嘉定区', + 'code': '310114' + }, + { + 'name': '浦东新区', + 'code': '310115' + }, + { + 'name': '金山区', + 'code': '310116' + }, + { + 'name': '松江区', + 'code': '310117' + }, + { + 'name': '青浦区', + 'code': '310118' + }, + { + 'name': '奉贤区', + 'code': '310120' + }, + { + 'name': '崇明区', + 'code': '310151' + } + ] + } + ] + }, + { + 'name': '江苏省', + 'code': '320000', + 'region': 'east', + 'children': [ + { + 'name': '南京市', + 'code': '320100', + 'children': [ + { + 'name': '玄武区', + 'code': '320102' + }, + { + 'name': '秦淮区', + 'code': '320104' + }, + { + 'name': '建邺区', + 'code': '320105' + }, + { + 'name': '鼓楼区', + 'code': '320106' + }, + { + 'name': '浦口区', + 'code': '320111' + }, + { + 'name': '栖霞区', + 'code': '320113' + }, + { + 'name': '雨花台区', + 'code': '320114' + }, + { + 'name': '江宁区', + 'code': '320115' + }, + { + 'name': '六合区', + 'code': '320116' + }, + { + 'name': '溧水区', + 'code': '320117' + }, + { + 'name': '高淳区', + 'code': '320118' + } + ] + }, + { + 'name': '无锡市', + 'code': '320200', + 'children': [ + { + 'name': '锡山区', + 'code': '320205' + }, + { + 'name': '惠山区', + 'code': '320206' + }, + { + 'name': '滨湖区', + 'code': '320211' + }, + { + 'name': '梁溪区', + 'code': '320213' + }, + { + 'name': '新吴区', + 'code': '320214' + }, + { + 'name': '江阴市', + 'code': '320281' + }, + { + 'name': '宜兴市', + 'code': '320282' + } + ] + }, + { + 'name': '徐州市', + 'code': '320300', + 'children': [ + { + 'name': '鼓楼区', + 'code': '320302' + }, + { + 'name': '云龙区', + 'code': '320303' + }, + { + 'name': '贾汪区', + 'code': '320305' + }, + { + 'name': '泉山区', + 'code': '320311' + }, + { + 'name': '铜山区', + 'code': '320312' + }, + { + 'name': '丰县', + 'code': '320321' + }, + { + 'name': '沛县', + 'code': '320322' + }, + { + 'name': '睢宁县', + 'code': '320324' + }, + { + 'name': '新沂市', + 'code': '320381' + }, + { + 'name': '邳州市', + 'code': '320382' + } + ] + }, + { + 'name': '常州市', + 'code': '320400', + 'children': [ + { + 'name': '天宁区', + 'code': '320402' + }, + { + 'name': '钟楼区', + 'code': '320404' + }, + { + 'name': '新北区', + 'code': '320411' + }, + { + 'name': '武进区', + 'code': '320412' + }, + { + 'name': '金坛区', + 'code': '320413' + }, + { + 'name': '溧阳市', + 'code': '320481' + } + ] + }, + { + 'name': '苏州市', + 'code': '320500', + 'children': [ + { + 'name': '虎丘区', + 'code': '320505' + }, + { + 'name': '吴中区', + 'code': '320506' + }, + { + 'name': '相城区', + 'code': '320507' + }, + { + 'name': '姑苏区', + 'code': '320508' + }, + { + 'name': '吴江区', + 'code': '320509' + }, + { + 'name': '常熟市', + 'code': '320581' + }, + { + 'name': '张家港市', + 'code': '320582' + }, + { + 'name': '昆山市', + 'code': '320583' + }, + { + 'name': '太仓市', + 'code': '320585' + } + ] + }, + { + 'name': '南通市', + 'code': '320600', + 'children': [ + { + 'name': '崇川区', + 'code': '320602' + }, + { + 'name': '港闸区', + 'code': '320611' + }, + { + 'name': '通州区', + 'code': '320612' + }, + { + 'name': '如东县', + 'code': '320623' + }, + { + 'name': '启东市', + 'code': '320681' + }, + { + 'name': '如皋市', + 'code': '320682' + }, + { + 'name': '海门市', + 'code': '320684' + }, + { + 'name': '海安市', + 'code': '320685' + } + ] + }, + { + 'name': '连云港市', + 'code': '320700', + 'children': [ + { + 'name': '连云区', + 'code': '320703' + }, + { + 'name': '海州区', + 'code': '320706' + }, + { + 'name': '赣榆区', + 'code': '320707' + }, + { + 'name': '东海县', + 'code': '320722' + }, + { + 'name': '灌云县', + 'code': '320723' + }, + { + 'name': '灌南县', + 'code': '320724' + } + ] + }, + { + 'name': '淮安市', + 'code': '320800', + 'children': [ + { + 'name': '淮安区', + 'code': '320803' + }, + { + 'name': '淮阴区', + 'code': '320804' + }, + { + 'name': '清江浦区', + 'code': '320812' + }, + { + 'name': '洪泽区', + 'code': '320813' + }, + { + 'name': '涟水县', + 'code': '320826' + }, + { + 'name': '盱眙县', + 'code': '320830' + }, + { + 'name': '金湖县', + 'code': '320831' + } + ] + }, + { + 'name': '盐城市', + 'code': '320900', + 'children': [ + { + 'name': '亭湖区', + 'code': '320902' + }, + { + 'name': '盐都区', + 'code': '320903' + }, + { + 'name': '大丰区', + 'code': '320904' + }, + { + 'name': '响水县', + 'code': '320921' + }, + { + 'name': '滨海县', + 'code': '320922' + }, + { + 'name': '阜宁县', + 'code': '320923' + }, + { + 'name': '射阳县', + 'code': '320924' + }, + { + 'name': '建湖县', + 'code': '320925' + }, + { + 'name': '东台市', + 'code': '320981' + } + ] + }, + { + 'name': '扬州市', + 'code': '321000', + 'children': [ + { + 'name': '广陵区', + 'code': '321002' + }, + { + 'name': '邗江区', + 'code': '321003' + }, + { + 'name': '江都区', + 'code': '321012' + }, + { + 'name': '宝应县', + 'code': '321023' + }, + { + 'name': '仪征市', + 'code': '321081' + }, + { + 'name': '高邮市', + 'code': '321084' + } + ] + }, + { + 'name': '镇江市', + 'code': '321100', + 'children': [ + { + 'name': '京口区', + 'code': '321102' + }, + { + 'name': '润州区', + 'code': '321111' + }, + { + 'name': '丹徒区', + 'code': '321112' + }, + { + 'name': '丹阳市', + 'code': '321181' + }, + { + 'name': '扬中市', + 'code': '321182' + }, + { + 'name': '句容市', + 'code': '321183' + } + ] + }, + { + 'name': '泰州市', + 'code': '321200', + 'children': [ + { + 'name': '海陵区', + 'code': '321202' + }, + { + 'name': '高港区', + 'code': '321203' + }, + { + 'name': '姜堰区', + 'code': '321204' + }, + { + 'name': '兴化市', + 'code': '321281' + }, + { + 'name': '靖江市', + 'code': '321282' + }, + { + 'name': '泰兴市', + 'code': '321283' + } + ] + }, + { + 'name': '宿迁市', + 'code': '321300', + 'children': [ + { + 'name': '宿城区', + 'code': '321302' + }, + { + 'name': '宿豫区', + 'code': '321311' + }, + { + 'name': '沭阳县', + 'code': '321322' + }, + { + 'name': '泗阳县', + 'code': '321323' + }, + { + 'name': '泗洪县', + 'code': '321324' + } + ] + } + ] + }, + { + 'name': '浙江省', + 'code': '330000', + 'region': 'east', + 'children': [ + { + 'name': '杭州市', + 'code': '330100', + 'children': [ + { + 'name': '上城区', + 'code': '330102' + }, + { + 'name': '下城区', + 'code': '330103' + }, + { + 'name': '江干区', + 'code': '330104' + }, + { + 'name': '拱墅区', + 'code': '330105' + }, + { + 'name': '西湖区', + 'code': '330106' + }, + { + 'name': '滨江区', + 'code': '330108' + }, + { + 'name': '萧山区', + 'code': '330109' + }, + { + 'name': '余杭区', + 'code': '330110' + }, + { + 'name': '富阳区', + 'code': '330111' + }, + { + 'name': '临安区', + 'code': '330112' + }, + { + 'name': '桐庐县', + 'code': '330122' + }, + { + 'name': '淳安县', + 'code': '330127' + }, + { + 'name': '建德市', + 'code': '330182' + } + ] + }, + { + 'name': '宁波市', + 'code': '330200', + 'children': [ + { + 'name': '海曙区', + 'code': '330203' + }, + { + 'name': '江北区', + 'code': '330205' + }, + { + 'name': '北仑区', + 'code': '330206' + }, + { + 'name': '镇海区', + 'code': '330211' + }, + { + 'name': '鄞州区', + 'code': '330212' + }, + { + 'name': '奉化区', + 'code': '330213' + }, + { + 'name': '象山县', + 'code': '330225' + }, + { + 'name': '宁海县', + 'code': '330226' + }, + { + 'name': '余姚市', + 'code': '330281' + }, + { + 'name': '慈溪市', + 'code': '330282' + } + ] + }, + { + 'name': '温州市', + 'code': '330300', + 'children': [ + { + 'name': '鹿城区', + 'code': '330302' + }, + { + 'name': '龙湾区', + 'code': '330303' + }, + { + 'name': '瓯海区', + 'code': '330304' + }, + { + 'name': '洞头区', + 'code': '330305' + }, + { + 'name': '永嘉县', + 'code': '330324' + }, + { + 'name': '平阳县', + 'code': '330326' + }, + { + 'name': '苍南县', + 'code': '330327' + }, + { + 'name': '文成县', + 'code': '330328' + }, + { + 'name': '泰顺县', + 'code': '330329' + }, + { + 'name': '瑞安市', + 'code': '330381' + }, + { + 'name': '乐清市', + 'code': '330382' + } + ] + }, + { + 'name': '嘉兴市', + 'code': '330400', + 'children': [ + { + 'name': '南湖区', + 'code': '330402' + }, + { + 'name': '秀洲区', + 'code': '330411' + }, + { + 'name': '嘉善县', + 'code': '330421' + }, + { + 'name': '海盐县', + 'code': '330424' + }, + { + 'name': '海宁市', + 'code': '330481' + }, + { + 'name': '平湖市', + 'code': '330482' + }, + { + 'name': '桐乡市', + 'code': '330483' + } + ] + }, + { + 'name': '湖州市', + 'code': '330500', + 'children': [ + { + 'name': '吴兴区', + 'code': '330502' + }, + { + 'name': '南浔区', + 'code': '330503' + }, + { + 'name': '德清县', + 'code': '330521' + }, + { + 'name': '长兴县', + 'code': '330522' + }, + { + 'name': '安吉县', + 'code': '330523' + } + ] + }, + { + 'name': '绍兴市', + 'code': '330600', + 'children': [ + { + 'name': '越城区', + 'code': '330602' + }, + { + 'name': '柯桥区', + 'code': '330603' + }, + { + 'name': '上虞区', + 'code': '330604' + }, + { + 'name': '新昌县', + 'code': '330624' + }, + { + 'name': '诸暨市', + 'code': '330681' + }, + { + 'name': '嵊州市', + 'code': '330683' + } + ] + }, + { + 'name': '金华市', + 'code': '330700', + 'children': [ + { + 'name': '婺城区', + 'code': '330702' + }, + { + 'name': '金东区', + 'code': '330703' + }, + { + 'name': '武义县', + 'code': '330723' + }, + { + 'name': '浦江县', + 'code': '330726' + }, + { + 'name': '磐安县', + 'code': '330727' + }, + { + 'name': '兰溪市', + 'code': '330781' + }, + { + 'name': '义乌市', + 'code': '330782' + }, + { + 'name': '东阳市', + 'code': '330783' + }, + { + 'name': '永康市', + 'code': '330784' + } + ] + }, + { + 'name': '衢州市', + 'code': '330800', + 'children': [ + { + 'name': '柯城区', + 'code': '330802' + }, + { + 'name': '衢江区', + 'code': '330803' + }, + { + 'name': '常山县', + 'code': '330822' + }, + { + 'name': '开化县', + 'code': '330824' + }, + { + 'name': '龙游县', + 'code': '330825' + }, + { + 'name': '江山市', + 'code': '330881' + } + ] + }, + { + 'name': '舟山市', + 'code': '330900', + 'children': [ + { + 'name': '定海区', + 'code': '330902' + }, + { + 'name': '普陀区', + 'code': '330903' + }, + { + 'name': '岱山县', + 'code': '330921' + }, + { + 'name': '嵊泗县', + 'code': '330922' + } + ] + }, + { + 'name': '台州市', + 'code': '331000', + 'children': [ + { + 'name': '椒江区', + 'code': '331002' + }, + { + 'name': '黄岩区', + 'code': '331003' + }, + { + 'name': '路桥区', + 'code': '331004' + }, + { + 'name': '三门县', + 'code': '331022' + }, + { + 'name': '天台县', + 'code': '331023' + }, + { + 'name': '仙居县', + 'code': '331024' + }, + { + 'name': '温岭市', + 'code': '331081' + }, + { + 'name': '临海市', + 'code': '331082' + }, + { + 'name': '玉环市', + 'code': '331083' + } + ] + }, + { + 'name': '丽水市', + 'code': '331100', + 'children': [ + { + 'name': '莲都区', + 'code': '331102' + }, + { + 'name': '青田县', + 'code': '331121' + }, + { + 'name': '缙云县', + 'code': '331122' + }, + { + 'name': '遂昌县', + 'code': '331123' + }, + { + 'name': '松阳县', + 'code': '331124' + }, + { + 'name': '云和县', + 'code': '331125' + }, + { + 'name': '庆元县', + 'code': '331126' + }, + { + 'name': '景宁畲族自治县', + 'code': '331127' + }, + { + 'name': '龙泉市', + 'code': '331181' + } + ] + } + ] + }, + { + 'name': '安徽省', + 'code': '340000', + 'region': 'east', + 'children': [ + { + 'name': '合肥市', + 'code': '340100', + 'children': [ + { + 'name': '瑶海区', + 'code': '340102' + }, + { + 'name': '庐阳区', + 'code': '340103' + }, + { + 'name': '蜀山区', + 'code': '340104' + }, + { + 'name': '包河区', + 'code': '340111' + }, + { + 'name': '长丰县', + 'code': '340121' + }, + { + 'name': '肥东县', + 'code': '340122' + }, + { + 'name': '肥西县', + 'code': '340123' + }, + { + 'name': '庐江县', + 'code': '340124' + }, + { + 'name': '巢湖市', + 'code': '340181' + } + ] + }, + { + 'name': '芜湖市', + 'code': '340200', + 'children': [ + { + 'name': '镜湖区', + 'code': '340202' + }, + { + 'name': '弋江区', + 'code': '340203' + }, + { + 'name': '鸠江区', + 'code': '340207' + }, + { + 'name': '三山区', + 'code': '340208' + }, + { + 'name': '芜湖县', + 'code': '340221' + }, + { + 'name': '繁昌县', + 'code': '340222' + }, + { + 'name': '南陵县', + 'code': '340223' + }, + { + 'name': '无为县', + 'code': '340225' + } + ] + }, + { + 'name': '蚌埠市', + 'code': '340300', + 'children': [ + { + 'name': '龙子湖区', + 'code': '340302' + }, + { + 'name': '蚌山区', + 'code': '340303' + }, + { + 'name': '禹会区', + 'code': '340304' + }, + { + 'name': '淮上区', + 'code': '340311' + }, + { + 'name': '怀远县', + 'code': '340321' + }, + { + 'name': '五河县', + 'code': '340322' + }, + { + 'name': '固镇县', + 'code': '340323' + } + ] + }, + { + 'name': '淮南市', + 'code': '340400', + 'children': [ + { + 'name': '大通区', + 'code': '340402' + }, + { + 'name': '田家庵区', + 'code': '340403' + }, + { + 'name': '谢家集区', + 'code': '340404' + }, + { + 'name': '八公山区', + 'code': '340405' + }, + { + 'name': '潘集区', + 'code': '340406' + }, + { + 'name': '凤台县', + 'code': '340421' + }, + { + 'name': '寿县', + 'code': '340422' + } + ] + }, + { + 'name': '马鞍山市', + 'code': '340500', + 'children': [ + { + 'name': '花山区', + 'code': '340503' + }, + { + 'name': '雨山区', + 'code': '340504' + }, + { + 'name': '博望区', + 'code': '340506' + }, + { + 'name': '当涂县', + 'code': '340521' + }, + { + 'name': '含山县', + 'code': '340522' + }, + { + 'name': '和县', + 'code': '340523' + } + ] + }, + { + 'name': '淮北市', + 'code': '340600', + 'children': [ + { + 'name': '杜集区', + 'code': '340602' + }, + { + 'name': '相山区', + 'code': '340603' + }, + { + 'name': '烈山区', + 'code': '340604' + }, + { + 'name': '濉溪县', + 'code': '340621' + } + ] + }, + { + 'name': '铜陵市', + 'code': '340700', + 'children': [ + { + 'name': '铜官区', + 'code': '340705' + }, + { + 'name': '义安区', + 'code': '340706' + }, + { + 'name': '郊区', + 'code': '340711' + }, + { + 'name': '枞阳县', + 'code': '340722' + } + ] + }, + { + 'name': '安庆市', + 'code': '340800', + 'children': [ + { + 'name': '迎江区', + 'code': '340802' + }, + { + 'name': '大观区', + 'code': '340803' + }, + { + 'name': '宜秀区', + 'code': '340811' + }, + { + 'name': '怀宁县', + 'code': '340822' + }, + { + 'name': '太湖县', + 'code': '340825' + }, + { + 'name': '宿松县', + 'code': '340826' + }, + { + 'name': '望江县', + 'code': '340827' + }, + { + 'name': '岳西县', + 'code': '340828' + }, + { + 'name': '桐城市', + 'code': '340881' + }, + { + 'name': '潜山市', + 'code': '340882' + } + ] + }, + { + 'name': '黄山市', + 'code': '341000', + 'children': [ + { + 'name': '屯溪区', + 'code': '341002' + }, + { + 'name': '黄山区', + 'code': '341003' + }, + { + 'name': '徽州区', + 'code': '341004' + }, + { + 'name': '歙县', + 'code': '341021' + }, + { + 'name': '休宁县', + 'code': '341022' + }, + { + 'name': '黟县', + 'code': '341023' + }, + { + 'name': '祁门县', + 'code': '341024' + } + ] + }, + { + 'name': '滁州市', + 'code': '341100', + 'children': [ + { + 'name': '琅琊区', + 'code': '341102' + }, + { + 'name': '南谯区', + 'code': '341103' + }, + { + 'name': '来安县', + 'code': '341122' + }, + { + 'name': '全椒县', + 'code': '341124' + }, + { + 'name': '定远县', + 'code': '341125' + }, + { + 'name': '凤阳县', + 'code': '341126' + }, + { + 'name': '天长市', + 'code': '341181' + }, + { + 'name': '明光市', + 'code': '341182' + } + ] + }, + { + 'name': '阜阳市', + 'code': '341200', + 'children': [ + { + 'name': '颍州区', + 'code': '341202' + }, + { + 'name': '颍东区', + 'code': '341203' + }, + { + 'name': '颍泉区', + 'code': '341204' + }, + { + 'name': '临泉县', + 'code': '341221' + }, + { + 'name': '太和县', + 'code': '341222' + }, + { + 'name': '阜南县', + 'code': '341225' + }, + { + 'name': '颍上县', + 'code': '341226' + }, + { + 'name': '界首市', + 'code': '341282' + } + ] + }, + { + 'name': '宿州市', + 'code': '341300', + 'children': [ + { + 'name': '埇桥区', + 'code': '341302' + }, + { + 'name': '砀山县', + 'code': '341321' + }, + { + 'name': '萧县', + 'code': '341322' + }, + { + 'name': '灵璧县', + 'code': '341323' + }, + { + 'name': '泗县', + 'code': '341324' + } + ] + }, + { + 'name': '六安市', + 'code': '341500', + 'children': [ + { + 'name': '金安区', + 'code': '341502' + }, + { + 'name': '裕安区', + 'code': '341503' + }, + { + 'name': '叶集区', + 'code': '341504' + }, + { + 'name': '霍邱县', + 'code': '341522' + }, + { + 'name': '舒城县', + 'code': '341523' + }, + { + 'name': '金寨县', + 'code': '341524' + }, + { + 'name': '霍山县', + 'code': '341525' + } + ] + }, + { + 'name': '亳州市', + 'code': '341600', + 'children': [ + { + 'name': '谯城区', + 'code': '341602' + }, + { + 'name': '涡阳县', + 'code': '341621' + }, + { + 'name': '蒙城县', + 'code': '341622' + }, + { + 'name': '利辛县', + 'code': '341623' + } + ] + }, + { + 'name': '池州市', + 'code': '341700', + 'children': [ + { + 'name': '贵池区', + 'code': '341702' + }, + { + 'name': '东至县', + 'code': '341721' + }, + { + 'name': '石台县', + 'code': '341722' + }, + { + 'name': '青阳县', + 'code': '341723' + } + ] + }, + { + 'name': '宣城市', + 'code': '341800', + 'children': [ + { + 'name': '宣州区', + 'code': '341802' + }, + { + 'name': '郎溪县', + 'code': '341821' + }, + { + 'name': '广德县', + 'code': '341822' + }, + { + 'name': '泾县', + 'code': '341823' + }, + { + 'name': '绩溪县', + 'code': '341824' + }, + { + 'name': '旌德县', + 'code': '341825' + }, + { + 'name': '宁国市', + 'code': '341881' + } + ] + } + ] + }, + { + 'name': '福建省', + 'code': '350000', + 'region': 'east', + 'children': [ + { + 'name': '福州市', + 'code': '350100', + 'children': [ + { + 'name': '鼓楼区', + 'code': '350102' + }, + { + 'name': '台江区', + 'code': '350103' + }, + { + 'name': '仓山区', + 'code': '350104' + }, + { + 'name': '马尾区', + 'code': '350105' + }, + { + 'name': '晋安区', + 'code': '350111' + }, + { + 'name': '长乐区', + 'code': '350112' + }, + { + 'name': '闽侯县', + 'code': '350121' + }, + { + 'name': '连江县', + 'code': '350122' + }, + { + 'name': '罗源县', + 'code': '350123' + }, + { + 'name': '闽清县', + 'code': '350124' + }, + { + 'name': '永泰县', + 'code': '350125' + }, + { + 'name': '平潭县', + 'code': '350128' + }, + { + 'name': '福清市', + 'code': '350181' + } + ] + }, + { + 'name': '厦门市', + 'code': '350200', + 'children': [ + { + 'name': '思明区', + 'code': '350203' + }, + { + 'name': '海沧区', + 'code': '350205' + }, + { + 'name': '湖里区', + 'code': '350206' + }, + { + 'name': '集美区', + 'code': '350211' + }, + { + 'name': '同安区', + 'code': '350212' + }, + { + 'name': '翔安区', + 'code': '350213' + } + ] + }, + { + 'name': '莆田市', + 'code': '350300', + 'children': [ + { + 'name': '城厢区', + 'code': '350302' + }, + { + 'name': '涵江区', + 'code': '350303' + }, + { + 'name': '荔城区', + 'code': '350304' + }, + { + 'name': '秀屿区', + 'code': '350305' + }, + { + 'name': '仙游县', + 'code': '350322' + } + ] + }, + { + 'name': '三明市', + 'code': '350400', + 'children': [ + { + 'name': '梅列区', + 'code': '350402' + }, + { + 'name': '三元区', + 'code': '350403' + }, + { + 'name': '明溪县', + 'code': '350421' + }, + { + 'name': '清流县', + 'code': '350423' + }, + { + 'name': '宁化县', + 'code': '350424' + }, + { + 'name': '大田县', + 'code': '350425' + }, + { + 'name': '尤溪县', + 'code': '350426' + }, + { + 'name': '沙县', + 'code': '350427' + }, + { + 'name': '将乐县', + 'code': '350428' + }, + { + 'name': '泰宁县', + 'code': '350429' + }, + { + 'name': '建宁县', + 'code': '350430' + }, + { + 'name': '永安市', + 'code': '350481' + } + ] + }, + { + 'name': '泉州市', + 'code': '350500', + 'children': [ + { + 'name': '鲤城区', + 'code': '350502' + }, + { + 'name': '丰泽区', + 'code': '350503' + }, + { + 'name': '洛江区', + 'code': '350504' + }, + { + 'name': '泉港区', + 'code': '350505' + }, + { + 'name': '惠安县', + 'code': '350521' + }, + { + 'name': '安溪县', + 'code': '350524' + }, + { + 'name': '永春县', + 'code': '350525' + }, + { + 'name': '德化县', + 'code': '350526' + }, + { + 'name': '金门县', + 'code': '350527' + }, + { + 'name': '石狮市', + 'code': '350581' + }, + { + 'name': '晋江市', + 'code': '350582' + }, + { + 'name': '南安市', + 'code': '350583' + } + ] + }, + { + 'name': '漳州市', + 'code': '350600', + 'children': [ + { + 'name': '芗城区', + 'code': '350602' + }, + { + 'name': '龙文区', + 'code': '350603' + }, + { + 'name': '云霄县', + 'code': '350622' + }, + { + 'name': '漳浦县', + 'code': '350623' + }, + { + 'name': '诏安县', + 'code': '350624' + }, + { + 'name': '长泰县', + 'code': '350625' + }, + { + 'name': '东山县', + 'code': '350626' + }, + { + 'name': '南靖县', + 'code': '350627' + }, + { + 'name': '平和县', + 'code': '350628' + }, + { + 'name': '华安县', + 'code': '350629' + }, + { + 'name': '龙海市', + 'code': '350681' + } + ] + }, + { + 'name': '南平市', + 'code': '350700', + 'children': [ + { + 'name': '延平区', + 'code': '350702' + }, + { + 'name': '建阳区', + 'code': '350703' + }, + { + 'name': '顺昌县', + 'code': '350721' + }, + { + 'name': '浦城县', + 'code': '350722' + }, + { + 'name': '光泽县', + 'code': '350723' + }, + { + 'name': '松溪县', + 'code': '350724' + }, + { + 'name': '政和县', + 'code': '350725' + }, + { + 'name': '邵武市', + 'code': '350781' + }, + { + 'name': '武夷山市', + 'code': '350782' + }, + { + 'name': '建瓯市', + 'code': '350783' + } + ] + }, + { + 'name': '龙岩市', + 'code': '350800', + 'children': [ + { + 'name': '新罗区', + 'code': '350802' + }, + { + 'name': '永定区', + 'code': '350803' + }, + { + 'name': '长汀县', + 'code': '350821' + }, + { + 'name': '上杭县', + 'code': '350823' + }, + { + 'name': '武平县', + 'code': '350824' + }, + { + 'name': '连城县', + 'code': '350825' + }, + { + 'name': '漳平市', + 'code': '350881' + } + ] + }, + { + 'name': '宁德市', + 'code': '350900', + 'children': [ + { + 'name': '蕉城区', + 'code': '350902' + }, + { + 'name': '霞浦县', + 'code': '350921' + }, + { + 'name': '古田县', + 'code': '350922' + }, + { + 'name': '屏南县', + 'code': '350923' + }, + { + 'name': '寿宁县', + 'code': '350924' + }, + { + 'name': '周宁县', + 'code': '350925' + }, + { + 'name': '柘荣县', + 'code': '350926' + }, + { + 'name': '福安市', + 'code': '350981' + }, + { + 'name': '福鼎市', + 'code': '350982' + } + ] + } + ] + }, + { + 'name': '江西省', + 'code': '360000', + 'region': 'east', + 'children': [ + { + 'name': '南昌市', + 'code': '360100', + 'children': [ + { + 'name': '东湖区', + 'code': '360102' + }, + { + 'name': '西湖区', + 'code': '360103' + }, + { + 'name': '青云谱区', + 'code': '360104' + }, + { + 'name': '湾里区', + 'code': '360105' + }, + { + 'name': '青山湖区', + 'code': '360111' + }, + { + 'name': '新建区', + 'code': '360112' + }, + { + 'name': '南昌县', + 'code': '360121' + }, + { + 'name': '安义县', + 'code': '360123' + }, + { + 'name': '进贤县', + 'code': '360124' + } + ] + }, + { + 'name': '景德镇市', + 'code': '360200', + 'children': [ + { + 'name': '昌江区', + 'code': '360202' + }, + { + 'name': '珠山区', + 'code': '360203' + }, + { + 'name': '浮梁县', + 'code': '360222' + }, + { + 'name': '乐平市', + 'code': '360281' + } + ] + }, + { + 'name': '萍乡市', + 'code': '360300', + 'children': [ + { + 'name': '安源区', + 'code': '360302' + }, + { + 'name': '湘东区', + 'code': '360313' + }, + { + 'name': '莲花县', + 'code': '360321' + }, + { + 'name': '上栗县', + 'code': '360322' + }, + { + 'name': '芦溪县', + 'code': '360323' + } + ] + }, + { + 'name': '九江市', + 'code': '360400', + 'children': [ + { + 'name': '濂溪区', + 'code': '360402' + }, + { + 'name': '浔阳区', + 'code': '360403' + }, + { + 'name': '柴桑区', + 'code': '360404' + }, + { + 'name': '武宁县', + 'code': '360423' + }, + { + 'name': '修水县', + 'code': '360424' + }, + { + 'name': '永修县', + 'code': '360425' + }, + { + 'name': '德安县', + 'code': '360426' + }, + { + 'name': '都昌县', + 'code': '360428' + }, + { + 'name': '湖口县', + 'code': '360429' + }, + { + 'name': '彭泽县', + 'code': '360430' + }, + { + 'name': '瑞昌市', + 'code': '360481' + }, + { + 'name': '共青城市', + 'code': '360482' + }, + { + 'name': '庐山市', + 'code': '360483' + } + ] + }, + { + 'name': '新余市', + 'code': '360500', + 'children': [ + { + 'name': '渝水区', + 'code': '360502' + }, + { + 'name': '分宜县', + 'code': '360521' + } + ] + }, + { + 'name': '鹰潭市', + 'code': '360600', + 'children': [ + { + 'name': '月湖区', + 'code': '360602' + }, + { + 'name': '余江区', + 'code': '360603' + }, + { + 'name': '贵溪市', + 'code': '360681' + } + ] + }, + { + 'name': '赣州市', + 'code': '360700', + 'children': [ + { + 'name': '章贡区', + 'code': '360702' + }, + { + 'name': '南康区', + 'code': '360703' + }, + { + 'name': '赣县区', + 'code': '360704' + }, + { + 'name': '信丰县', + 'code': '360722' + }, + { + 'name': '大余县', + 'code': '360723' + }, + { + 'name': '上犹县', + 'code': '360724' + }, + { + 'name': '崇义县', + 'code': '360725' + }, + { + 'name': '安远县', + 'code': '360726' + }, + { + 'name': '龙南县', + 'code': '360727' + }, + { + 'name': '定南县', + 'code': '360728' + }, + { + 'name': '全南县', + 'code': '360729' + }, + { + 'name': '宁都县', + 'code': '360730' + }, + { + 'name': '于都县', + 'code': '360731' + }, + { + 'name': '兴国县', + 'code': '360732' + }, + { + 'name': '会昌县', + 'code': '360733' + }, + { + 'name': '寻乌县', + 'code': '360734' + }, + { + 'name': '石城县', + 'code': '360735' + }, + { + 'name': '瑞金市', + 'code': '360781' + } + ] + }, + { + 'name': '吉安市', + 'code': '360800', + 'children': [ + { + 'name': '吉州区', + 'code': '360802' + }, + { + 'name': '青原区', + 'code': '360803' + }, + { + 'name': '吉安县', + 'code': '360821' + }, + { + 'name': '吉水县', + 'code': '360822' + }, + { + 'name': '峡江县', + 'code': '360823' + }, + { + 'name': '新干县', + 'code': '360824' + }, + { + 'name': '永丰县', + 'code': '360825' + }, + { + 'name': '泰和县', + 'code': '360826' + }, + { + 'name': '遂川县', + 'code': '360827' + }, + { + 'name': '万安县', + 'code': '360828' + }, + { + 'name': '安福县', + 'code': '360829' + }, + { + 'name': '永新县', + 'code': '360830' + }, + { + 'name': '井冈山市', + 'code': '360881' + } + ] + }, + { + 'name': '宜春市', + 'code': '360900', + 'children': [ + { + 'name': '袁州区', + 'code': '360902' + }, + { + 'name': '奉新县', + 'code': '360921' + }, + { + 'name': '万载县', + 'code': '360922' + }, + { + 'name': '上高县', + 'code': '360923' + }, + { + 'name': '宜丰县', + 'code': '360924' + }, + { + 'name': '靖安县', + 'code': '360925' + }, + { + 'name': '铜鼓县', + 'code': '360926' + }, + { + 'name': '丰城市', + 'code': '360981' + }, + { + 'name': '樟树市', + 'code': '360982' + }, + { + 'name': '高安市', + 'code': '360983' + } + ] + }, + { + 'name': '抚州市', + 'code': '361000', + 'children': [ + { + 'name': '临川区', + 'code': '361002' + }, + { + 'name': '东乡区', + 'code': '361003' + }, + { + 'name': '南城县', + 'code': '361021' + }, + { + 'name': '黎川县', + 'code': '361022' + }, + { + 'name': '南丰县', + 'code': '361023' + }, + { + 'name': '崇仁县', + 'code': '361024' + }, + { + 'name': '乐安县', + 'code': '361025' + }, + { + 'name': '宜黄县', + 'code': '361026' + }, + { + 'name': '金溪县', + 'code': '361027' + }, + { + 'name': '资溪县', + 'code': '361028' + }, + { + 'name': '广昌县', + 'code': '361030' + } + ] + }, + { + 'name': '上饶市', + 'code': '361100', + 'children': [ + { + 'name': '信州区', + 'code': '361102' + }, + { + 'name': '广丰区', + 'code': '361103' + }, + { + 'name': '上饶县', + 'code': '361121' + }, + { + 'name': '玉山县', + 'code': '361123' + }, + { + 'name': '铅山县', + 'code': '361124' + }, + { + 'name': '横峰县', + 'code': '361125' + }, + { + 'name': '弋阳县', + 'code': '361126' + }, + { + 'name': '余干县', + 'code': '361127' + }, + { + 'name': '鄱阳县', + 'code': '361128' + }, + { + 'name': '万年县', + 'code': '361129' + }, + { + 'name': '婺源县', + 'code': '361130' + }, + { + 'name': '德兴市', + 'code': '361181' + } + ] + } + ] + }, + { + 'name': '山东省', + 'code': '370000', + 'region': 'east', + 'children': [ + { + 'name': '济南市', + 'code': '370100', + 'children': [ + { + 'name': '历下区', + 'code': '370102' + }, + { + 'name': '市中区', + 'code': '370103' + }, + { + 'name': '槐荫区', + 'code': '370104' + }, + { + 'name': '天桥区', + 'code': '370105' + }, + { + 'name': '历城区', + 'code': '370112' + }, + { + 'name': '长清区', + 'code': '370113' + }, + { + 'name': '章丘区', + 'code': '370114' + }, + { + 'name': '济阳区', + 'code': '370115' + }, + { + 'name': '莱芜区', + 'code': '370116' + }, + { + 'name': '钢城区', + 'code': '370117' + }, + { + 'name': '平阴县', + 'code': '370124' + }, + { + 'name': '商河县', + 'code': '370126' + } + ] + }, + { + 'name': '青岛市', + 'code': '370200', + 'children': [ + { + 'name': '市南区', + 'code': '370202' + }, + { + 'name': '市北区', + 'code': '370203' + }, + { + 'name': '黄岛区', + 'code': '370211' + }, + { + 'name': '崂山区', + 'code': '370212' + }, + { + 'name': '李沧区', + 'code': '370213' + }, + { + 'name': '城阳区', + 'code': '370214' + }, + { + 'name': '即墨区', + 'code': '370215' + }, + { + 'name': '胶州市', + 'code': '370281' + }, + { + 'name': '平度市', + 'code': '370283' + }, + { + 'name': '莱西市', + 'code': '370285' + } + ] + }, + { + 'name': '淄博市', + 'code': '370300', + 'children': [ + { + 'name': '淄川区', + 'code': '370302' + }, + { + 'name': '张店区', + 'code': '370303' + }, + { + 'name': '博山区', + 'code': '370304' + }, + { + 'name': '临淄区', + 'code': '370305' + }, + { + 'name': '周村区', + 'code': '370306' + }, + { + 'name': '桓台县', + 'code': '370321' + }, + { + 'name': '高青县', + 'code': '370322' + }, + { + 'name': '沂源县', + 'code': '370323' + } + ] + }, + { + 'name': '枣庄市', + 'code': '370400', + 'children': [ + { + 'name': '市中区', + 'code': '370402' + }, + { + 'name': '薛城区', + 'code': '370403' + }, + { + 'name': '峄城区', + 'code': '370404' + }, + { + 'name': '台儿庄区', + 'code': '370405' + }, + { + 'name': '山亭区', + 'code': '370406' + }, + { + 'name': '滕州市', + 'code': '370481' + } + ] + }, + { + 'name': '东营市', + 'code': '370500', + 'children': [ + { + 'name': '东营区', + 'code': '370502' + }, + { + 'name': '河口区', + 'code': '370503' + }, + { + 'name': '垦利区', + 'code': '370505' + }, + { + 'name': '利津县', + 'code': '370522' + }, + { + 'name': '广饶县', + 'code': '370523' + } + ] + }, + { + 'name': '烟台市', + 'code': '370600', + 'children': [ + { + 'name': '芝罘区', + 'code': '370602' + }, + { + 'name': '福山区', + 'code': '370611' + }, + { + 'name': '牟平区', + 'code': '370612' + }, + { + 'name': '莱山区', + 'code': '370613' + }, + { + 'name': '长岛县', + 'code': '370634' + }, + { + 'name': '龙口市', + 'code': '370681' + }, + { + 'name': '莱阳市', + 'code': '370682' + }, + { + 'name': '莱州市', + 'code': '370683' + }, + { + 'name': '蓬莱市', + 'code': '370684' + }, + { + 'name': '招远市', + 'code': '370685' + }, + { + 'name': '栖霞市', + 'code': '370686' + }, + { + 'name': '海阳市', + 'code': '370687' + } + ] + }, + { + 'name': '潍坊市', + 'code': '370700', + 'children': [ + { + 'name': '潍城区', + 'code': '370702' + }, + { + 'name': '寒亭区', + 'code': '370703' + }, + { + 'name': '坊子区', + 'code': '370704' + }, + { + 'name': '奎文区', + 'code': '370705' + }, + { + 'name': '临朐县', + 'code': '370724' + }, + { + 'name': '昌乐县', + 'code': '370725' + }, + { + 'name': '青州市', + 'code': '370781' + }, + { + 'name': '诸城市', + 'code': '370782' + }, + { + 'name': '寿光市', + 'code': '370783' + }, + { + 'name': '安丘市', + 'code': '370784' + }, + { + 'name': '高密市', + 'code': '370785' + }, + { + 'name': '昌邑市', + 'code': '370786' + } + ] + }, + { + 'name': '济宁市', + 'code': '370800', + 'children': [ + { + 'name': '任城区', + 'code': '370811' + }, + { + 'name': '兖州区', + 'code': '370812' + }, + { + 'name': '微山县', + 'code': '370826' + }, + { + 'name': '鱼台县', + 'code': '370827' + }, + { + 'name': '金乡县', + 'code': '370828' + }, + { + 'name': '嘉祥县', + 'code': '370829' + }, + { + 'name': '汶上县', + 'code': '370830' + }, + { + 'name': '泗水县', + 'code': '370831' + }, + { + 'name': '梁山县', + 'code': '370832' + }, + { + 'name': '曲阜市', + 'code': '370881' + }, + { + 'name': '邹城市', + 'code': '370883' + } + ] + }, + { + 'name': '泰安市', + 'code': '370900', + 'children': [ + { + 'name': '泰山区', + 'code': '370902' + }, + { + 'name': '岱岳区', + 'code': '370911' + }, + { + 'name': '宁阳县', + 'code': '370921' + }, + { + 'name': '东平县', + 'code': '370923' + }, + { + 'name': '新泰市', + 'code': '370982' + }, + { + 'name': '肥城市', + 'code': '370983' + } + ] + }, + { + 'name': '威海市', + 'code': '371000', + 'children': [ + { + 'name': '环翠区', + 'code': '371002' + }, + { + 'name': '文登区', + 'code': '371003' + }, + { + 'name': '荣成市', + 'code': '371082' + }, + { + 'name': '乳山市', + 'code': '371083' + } + ] + }, + { + 'name': '日照市', + 'code': '371100', + 'children': [ + { + 'name': '东港区', + 'code': '371102' + }, + { + 'name': '岚山区', + 'code': '371103' + }, + { + 'name': '五莲县', + 'code': '371121' + }, + { + 'name': '莒县', + 'code': '371122' + } + ] + }, + { + 'name': '临沂市', + 'code': '371300', + 'children': [ + { + 'name': '兰山区', + 'code': '371302' + }, + { + 'name': '罗庄区', + 'code': '371311' + }, + { + 'name': '河东区', + 'code': '371312' + }, + { + 'name': '沂南县', + 'code': '371321' + }, + { + 'name': '郯城县', + 'code': '371322' + }, + { + 'name': '沂水县', + 'code': '371323' + }, + { + 'name': '兰陵县', + 'code': '371324' + }, + { + 'name': '费县', + 'code': '371325' + }, + { + 'name': '平邑县', + 'code': '371326' + }, + { + 'name': '莒南县', + 'code': '371327' + }, + { + 'name': '蒙阴县', + 'code': '371328' + }, + { + 'name': '临沭县', + 'code': '371329' + } + ] + }, + { + 'name': '德州市', + 'code': '371400', + 'children': [ + { + 'name': '德城区', + 'code': '371402' + }, + { + 'name': '陵城区', + 'code': '371403' + }, + { + 'name': '宁津县', + 'code': '371422' + }, + { + 'name': '庆云县', + 'code': '371423' + }, + { + 'name': '临邑县', + 'code': '371424' + }, + { + 'name': '齐河县', + 'code': '371425' + }, + { + 'name': '平原县', + 'code': '371426' + }, + { + 'name': '夏津县', + 'code': '371427' + }, + { + 'name': '武城县', + 'code': '371428' + }, + { + 'name': '乐陵市', + 'code': '371481' + }, + { + 'name': '禹城市', + 'code': '371482' + } + ] + }, + { + 'name': '聊城市', + 'code': '371500', + 'children': [ + { + 'name': '东昌府区', + 'code': '371502' + }, + { + 'name': '阳谷县', + 'code': '371521' + }, + { + 'name': '莘县', + 'code': '371522' + }, + { + 'name': '茌平县', + 'code': '371523' + }, + { + 'name': '东阿县', + 'code': '371524' + }, + { + 'name': '冠县', + 'code': '371525' + }, + { + 'name': '高唐县', + 'code': '371526' + }, + { + 'name': '临清市', + 'code': '371581' + } + ] + }, + { + 'name': '滨州市', + 'code': '371600', + 'children': [ + { + 'name': '滨城区', + 'code': '371602' + }, + { + 'name': '沾化区', + 'code': '371603' + }, + { + 'name': '惠民县', + 'code': '371621' + }, + { + 'name': '阳信县', + 'code': '371622' + }, + { + 'name': '无棣县', + 'code': '371623' + }, + { + 'name': '博兴县', + 'code': '371625' + }, + { + 'name': '邹平市', + 'code': '371681' + } + ] + }, + { + 'name': '菏泽市', + 'code': '371700', + 'children': [ + { + 'name': '牡丹区', + 'code': '371702' + }, + { + 'name': '定陶区', + 'code': '371703' + }, + { + 'name': '曹县', + 'code': '371721' + }, + { + 'name': '单县', + 'code': '371722' + }, + { + 'name': '成武县', + 'code': '371723' + }, + { + 'name': '巨野县', + 'code': '371724' + }, + { + 'name': '郓城县', + 'code': '371725' + }, + { + 'name': '鄄城县', + 'code': '371726' + }, + { + 'name': '东明县', + 'code': '371728' + } + ] + } + ] + }, + { + 'name': '河南省', + 'code': '410000', + 'region': 'central', + 'children': [ + { + 'name': '郑州市', + 'code': '410100', + 'children': [ + { + 'name': '中原区', + 'code': '410102' + }, + { + 'name': '二七区', + 'code': '410103' + }, + { + 'name': '管城回族区', + 'code': '410104' + }, + { + 'name': '金水区', + 'code': '410105' + }, + { + 'name': '上街区', + 'code': '410106' + }, + { + 'name': '惠济区', + 'code': '410108' + }, + { + 'name': '中牟县', + 'code': '410122' + }, + { + 'name': '巩义市', + 'code': '410181' + }, + { + 'name': '荥阳市', + 'code': '410182' + }, + { + 'name': '新密市', + 'code': '410183' + }, + { + 'name': '新郑市', + 'code': '410184' + }, + { + 'name': '登封市', + 'code': '410185' + } + ] + }, + { + 'name': '开封市', + 'code': '410200', + 'children': [ + { + 'name': '龙亭区', + 'code': '410202' + }, + { + 'name': '顺河回族区', + 'code': '410203' + }, + { + 'name': '鼓楼区', + 'code': '410204' + }, + { + 'name': '禹王台区', + 'code': '410205' + }, + { + 'name': '祥符区', + 'code': '410212' + }, + { + 'name': '杞县', + 'code': '410221' + }, + { + 'name': '通许县', + 'code': '410222' + }, + { + 'name': '尉氏县', + 'code': '410223' + }, + { + 'name': '兰考县', + 'code': '410225' + } + ] + }, + { + 'name': '洛阳市', + 'code': '410300', + 'children': [ + { + 'name': '老城区', + 'code': '410302' + }, + { + 'name': '西工区', + 'code': '410303' + }, + { + 'name': '瀍河回族区', + 'code': '410304' + }, + { + 'name': '涧西区', + 'code': '410305' + }, + { + 'name': '吉利区', + 'code': '410306' + }, + { + 'name': '洛龙区', + 'code': '410311' + }, + { + 'name': '孟津县', + 'code': '410322' + }, + { + 'name': '新安县', + 'code': '410323' + }, + { + 'name': '栾川县', + 'code': '410324' + }, + { + 'name': '嵩县', + 'code': '410325' + }, + { + 'name': '汝阳县', + 'code': '410326' + }, + { + 'name': '宜阳县', + 'code': '410327' + }, + { + 'name': '洛宁县', + 'code': '410328' + }, + { + 'name': '伊川县', + 'code': '410329' + }, + { + 'name': '偃师市', + 'code': '410381' + } + ] + }, + { + 'name': '平顶山市', + 'code': '410400', + 'children': [ + { + 'name': '新华区', + 'code': '410402' + }, + { + 'name': '卫东区', + 'code': '410403' + }, + { + 'name': '石龙区', + 'code': '410404' + }, + { + 'name': '湛河区', + 'code': '410411' + }, + { + 'name': '宝丰县', + 'code': '410421' + }, + { + 'name': '叶县', + 'code': '410422' + }, + { + 'name': '鲁山县', + 'code': '410423' + }, + { + 'name': '郏县', + 'code': '410425' + }, + { + 'name': '舞钢市', + 'code': '410481' + }, + { + 'name': '汝州市', + 'code': '410482' + } + ] + }, + { + 'name': '安阳市', + 'code': '410500', + 'children': [ + { + 'name': '文峰区', + 'code': '410502' + }, + { + 'name': '北关区', + 'code': '410503' + }, + { + 'name': '殷都区', + 'code': '410505' + }, + { + 'name': '龙安区', + 'code': '410506' + }, + { + 'name': '安阳县', + 'code': '410522' + }, + { + 'name': '汤阴县', + 'code': '410523' + }, + { + 'name': '滑县', + 'code': '410526' + }, + { + 'name': '内黄县', + 'code': '410527' + }, + { + 'name': '林州市', + 'code': '410581' + } + ] + }, + { + 'name': '鹤壁市', + 'code': '410600', + 'children': [ + { + 'name': '鹤山区', + 'code': '410602' + }, + { + 'name': '山城区', + 'code': '410603' + }, + { + 'name': '淇滨区', + 'code': '410611' + }, + { + 'name': '浚县', + 'code': '410621' + }, + { + 'name': '淇县', + 'code': '410622' + } + ] + }, + { + 'name': '新乡市', + 'code': '410700', + 'children': [ + { + 'name': '红旗区', + 'code': '410702' + }, + { + 'name': '卫滨区', + 'code': '410703' + }, + { + 'name': '凤泉区', + 'code': '410704' + }, + { + 'name': '牧野区', + 'code': '410711' + }, + { + 'name': '新乡县', + 'code': '410721' + }, + { + 'name': '获嘉县', + 'code': '410724' + }, + { + 'name': '原阳县', + 'code': '410725' + }, + { + 'name': '延津县', + 'code': '410726' + }, + { + 'name': '封丘县', + 'code': '410727' + }, + { + 'name': '长垣县', + 'code': '410728' + }, + { + 'name': '卫辉市', + 'code': '410781' + }, + { + 'name': '辉县市', + 'code': '410782' + } + ] + }, + { + 'name': '焦作市', + 'code': '410800', + 'children': [ + { + 'name': '解放区', + 'code': '410802' + }, + { + 'name': '中站区', + 'code': '410803' + }, + { + 'name': '马村区', + 'code': '410804' + }, + { + 'name': '山阳区', + 'code': '410811' + }, + { + 'name': '修武县', + 'code': '410821' + }, + { + 'name': '博爱县', + 'code': '410822' + }, + { + 'name': '武陟县', + 'code': '410823' + }, + { + 'name': '温县', + 'code': '410825' + }, + { + 'name': '沁阳市', + 'code': '410882' + }, + { + 'name': '孟州市', + 'code': '410883' + } + ] + }, + { + 'name': '濮阳市', + 'code': '410900', + 'children': [ + { + 'name': '华龙区', + 'code': '410902' + }, + { + 'name': '清丰县', + 'code': '410922' + }, + { + 'name': '南乐县', + 'code': '410923' + }, + { + 'name': '范县', + 'code': '410926' + }, + { + 'name': '台前县', + 'code': '410927' + }, + { + 'name': '濮阳县', + 'code': '410928' + } + ] + }, + { + 'name': '许昌市', + 'code': '411000', + 'children': [ + { + 'name': '魏都区', + 'code': '411002' + }, + { + 'name': '建安区', + 'code': '411003' + }, + { + 'name': '鄢陵县', + 'code': '411024' + }, + { + 'name': '襄城县', + 'code': '411025' + }, + { + 'name': '禹州市', + 'code': '411081' + }, + { + 'name': '长葛市', + 'code': '411082' + } + ] + }, + { + 'name': '漯河市', + 'code': '411100', + 'children': [ + { + 'name': '源汇区', + 'code': '411102' + }, + { + 'name': '郾城区', + 'code': '411103' + }, + { + 'name': '召陵区', + 'code': '411104' + }, + { + 'name': '舞阳县', + 'code': '411121' + }, + { + 'name': '临颍县', + 'code': '411122' + } + ] + }, + { + 'name': '三门峡市', + 'code': '411200', + 'children': [ + { + 'name': '湖滨区', + 'code': '411202' + }, + { + 'name': '陕州区', + 'code': '411203' + }, + { + 'name': '渑池县', + 'code': '411221' + }, + { + 'name': '卢氏县', + 'code': '411224' + }, + { + 'name': '义马市', + 'code': '411281' + }, + { + 'name': '灵宝市', + 'code': '411282' + } + ] + }, + { + 'name': '南阳市', + 'code': '411300', + 'children': [ + { + 'name': '宛城区', + 'code': '411302' + }, + { + 'name': '卧龙区', + 'code': '411303' + }, + { + 'name': '南召县', + 'code': '411321' + }, + { + 'name': '方城县', + 'code': '411322' + }, + { + 'name': '西峡县', + 'code': '411323' + }, + { + 'name': '镇平县', + 'code': '411324' + }, + { + 'name': '内乡县', + 'code': '411325' + }, + { + 'name': '淅川县', + 'code': '411326' + }, + { + 'name': '社旗县', + 'code': '411327' + }, + { + 'name': '唐河县', + 'code': '411328' + }, + { + 'name': '新野县', + 'code': '411329' + }, + { + 'name': '桐柏县', + 'code': '411330' + }, + { + 'name': '邓州市', + 'code': '411381' + } + ] + }, + { + 'name': '商丘市', + 'code': '411400', + 'children': [ + { + 'name': '梁园区', + 'code': '411402' + }, + { + 'name': '睢阳区', + 'code': '411403' + }, + { + 'name': '民权县', + 'code': '411421' + }, + { + 'name': '睢县', + 'code': '411422' + }, + { + 'name': '宁陵县', + 'code': '411423' + }, + { + 'name': '柘城县', + 'code': '411424' + }, + { + 'name': '虞城县', + 'code': '411425' + }, + { + 'name': '夏邑县', + 'code': '411426' + }, + { + 'name': '永城市', + 'code': '411481' + } + ] + }, + { + 'name': '信阳市', + 'code': '411500', + 'children': [ + { + 'name': '浉河区', + 'code': '411502' + }, + { + 'name': '平桥区', + 'code': '411503' + }, + { + 'name': '罗山县', + 'code': '411521' + }, + { + 'name': '光山县', + 'code': '411522' + }, + { + 'name': '新县', + 'code': '411523' + }, + { + 'name': '商城县', + 'code': '411524' + }, + { + 'name': '固始县', + 'code': '411525' + }, + { + 'name': '潢川县', + 'code': '411526' + }, + { + 'name': '淮滨县', + 'code': '411527' + }, + { + 'name': '息县', + 'code': '411528' + } + ] + }, + { + 'name': '周口市', + 'code': '411600', + 'children': [ + { + 'name': '川汇区', + 'code': '411602' + }, + { + 'name': '扶沟县', + 'code': '411621' + }, + { + 'name': '西华县', + 'code': '411622' + }, + { + 'name': '商水县', + 'code': '411623' + }, + { + 'name': '沈丘县', + 'code': '411624' + }, + { + 'name': '郸城县', + 'code': '411625' + }, + { + 'name': '淮阳县', + 'code': '411626' + }, + { + 'name': '太康县', + 'code': '411627' + }, + { + 'name': '鹿邑县', + 'code': '411628' + }, + { + 'name': '项城市', + 'code': '411681' + } + ] + }, + { + 'name': '驻马店市', + 'code': '411700', + 'children': [ + { + 'name': '驿城区', + 'code': '411702' + }, + { + 'name': '西平县', + 'code': '411721' + }, + { + 'name': '上蔡县', + 'code': '411722' + }, + { + 'name': '平舆县', + 'code': '411723' + }, + { + 'name': '正阳县', + 'code': '411724' + }, + { + 'name': '确山县', + 'code': '411725' + }, + { + 'name': '泌阳县', + 'code': '411726' + }, + { + 'name': '汝南县', + 'code': '411727' + }, + { + 'name': '遂平县', + 'code': '411728' + }, + { + 'name': '新蔡县', + 'code': '411729' + } + ] + }, + { + 'name': '直辖县', + 'code': '419000', + 'children': [ + { + 'name': '济源市', + 'code': '419001' + } + ] + } + ] + }, + { + 'name': '湖北省', + 'code': '420000', + 'region': 'central', + 'children': [ + { + 'name': '武汉市', + 'code': '420100', + 'children': [ + { + 'name': '江岸区', + 'code': '420102' + }, + { + 'name': '江汉区', + 'code': '420103' + }, + { + 'name': '硚口区', + 'code': '420104' + }, + { + 'name': '汉阳区', + 'code': '420105' + }, + { + 'name': '武昌区', + 'code': '420106' + }, + { + 'name': '青山区', + 'code': '420107' + }, + { + 'name': '洪山区', + 'code': '420111' + }, + { + 'name': '东西湖区', + 'code': '420112' + }, + { + 'name': '汉南区', + 'code': '420113' + }, + { + 'name': '蔡甸区', + 'code': '420114' + }, + { + 'name': '江夏区', + 'code': '420115' + }, + { + 'name': '黄陂区', + 'code': '420116' + }, + { + 'name': '新洲区', + 'code': '420117' + } + ] + }, + { + 'name': '黄石市', + 'code': '420200', + 'children': [ + { + 'name': '黄石港区', + 'code': '420202' + }, + { + 'name': '西塞山区', + 'code': '420203' + }, + { + 'name': '下陆区', + 'code': '420204' + }, + { + 'name': '铁山区', + 'code': '420205' + }, + { + 'name': '阳新县', + 'code': '420222' + }, + { + 'name': '大冶市', + 'code': '420281' + } + ] + }, + { + 'name': '十堰市', + 'code': '420300', + 'children': [ + { + 'name': '茅箭区', + 'code': '420302' + }, + { + 'name': '张湾区', + 'code': '420303' + }, + { + 'name': '郧阳区', + 'code': '420304' + }, + { + 'name': '郧西县', + 'code': '420322' + }, + { + 'name': '竹山县', + 'code': '420323' + }, + { + 'name': '竹溪县', + 'code': '420324' + }, + { + 'name': '房县', + 'code': '420325' + }, + { + 'name': '丹江口市', + 'code': '420381' + } + ] + }, + { + 'name': '宜昌市', + 'code': '420500', + 'children': [ + { + 'name': '西陵区', + 'code': '420502' + }, + { + 'name': '伍家岗区', + 'code': '420503' + }, + { + 'name': '点军区', + 'code': '420504' + }, + { + 'name': '猇亭区', + 'code': '420505' + }, + { + 'name': '夷陵区', + 'code': '420506' + }, + { + 'name': '远安县', + 'code': '420525' + }, + { + 'name': '兴山县', + 'code': '420526' + }, + { + 'name': '秭归县', + 'code': '420527' + }, + { + 'name': '长阳土家族自治县', + 'code': '420528' + }, + { + 'name': '五峰土家族自治县', + 'code': '420529' + }, + { + 'name': '宜都市', + 'code': '420581' + }, + { + 'name': '当阳市', + 'code': '420582' + }, + { + 'name': '枝江市', + 'code': '420583' + } + ] + }, + { + 'name': '襄阳市', + 'code': '420600', + 'children': [ + { + 'name': '襄城区', + 'code': '420602' + }, + { + 'name': '樊城区', + 'code': '420606' + }, + { + 'name': '襄州区', + 'code': '420607' + }, + { + 'name': '南漳县', + 'code': '420624' + }, + { + 'name': '谷城县', + 'code': '420625' + }, + { + 'name': '保康县', + 'code': '420626' + }, + { + 'name': '老河口市', + 'code': '420682' + }, + { + 'name': '枣阳市', + 'code': '420683' + }, + { + 'name': '宜城市', + 'code': '420684' + } + ] + }, + { + 'name': '鄂州市', + 'code': '420700', + 'children': [ + { + 'name': '梁子湖区', + 'code': '420702' + }, + { + 'name': '华容区', + 'code': '420703' + }, + { + 'name': '鄂城区', + 'code': '420704' + } + ] + }, + { + 'name': '荆门市', + 'code': '420800', + 'children': [ + { + 'name': '东宝区', + 'code': '420802' + }, + { + 'name': '掇刀区', + 'code': '420804' + }, + { + 'name': '沙洋县', + 'code': '420822' + }, + { + 'name': '钟祥市', + 'code': '420881' + }, + { + 'name': '京山市', + 'code': '420882' + } + ] + }, + { + 'name': '孝感市', + 'code': '420900', + 'children': [ + { + 'name': '孝南区', + 'code': '420902' + }, + { + 'name': '孝昌县', + 'code': '420921' + }, + { + 'name': '大悟县', + 'code': '420922' + }, + { + 'name': '云梦县', + 'code': '420923' + }, + { + 'name': '应城市', + 'code': '420981' + }, + { + 'name': '安陆市', + 'code': '420982' + }, + { + 'name': '汉川市', + 'code': '420984' + } + ] + }, + { + 'name': '荆州市', + 'code': '421000', + 'children': [ + { + 'name': '沙市区', + 'code': '421002' + }, + { + 'name': '荆州区', + 'code': '421003' + }, + { + 'name': '公安县', + 'code': '421022' + }, + { + 'name': '监利县', + 'code': '421023' + }, + { + 'name': '江陵县', + 'code': '421024' + }, + { + 'name': '石首市', + 'code': '421081' + }, + { + 'name': '洪湖市', + 'code': '421083' + }, + { + 'name': '松滋市', + 'code': '421087' + } + ] + }, + { + 'name': '黄冈市', + 'code': '421100', + 'children': [ + { + 'name': '黄州区', + 'code': '421102' + }, + { + 'name': '团风县', + 'code': '421121' + }, + { + 'name': '红安县', + 'code': '421122' + }, + { + 'name': '罗田县', + 'code': '421123' + }, + { + 'name': '英山县', + 'code': '421124' + }, + { + 'name': '浠水县', + 'code': '421125' + }, + { + 'name': '蕲春县', + 'code': '421126' + }, + { + 'name': '黄梅县', + 'code': '421127' + }, + { + 'name': '麻城市', + 'code': '421181' + }, + { + 'name': '武穴市', + 'code': '421182' + } + ] + }, + { + 'name': '咸宁市', + 'code': '421200', + 'children': [ + { + 'name': '咸安区', + 'code': '421202' + }, + { + 'name': '嘉鱼县', + 'code': '421221' + }, + { + 'name': '通城县', + 'code': '421222' + }, + { + 'name': '崇阳县', + 'code': '421223' + }, + { + 'name': '通山县', + 'code': '421224' + }, + { + 'name': '赤壁市', + 'code': '421281' + } + ] + }, + { + 'name': '随州市', + 'code': '421300', + 'children': [ + { + 'name': '曾都区', + 'code': '421303' + }, + { + 'name': '随县', + 'code': '421321' + }, + { + 'name': '广水市', + 'code': '421381' + } + ] + }, + { + 'name': '恩施土家族苗族自治州', + 'code': '422800', + 'children': [ + { + 'name': '恩施市', + 'code': '422801' + }, + { + 'name': '利川市', + 'code': '422802' + }, + { + 'name': '建始县', + 'code': '422822' + }, + { + 'name': '巴东县', + 'code': '422823' + }, + { + 'name': '宣恩县', + 'code': '422825' + }, + { + 'name': '咸丰县', + 'code': '422826' + }, + { + 'name': '来凤县', + 'code': '422827' + }, + { + 'name': '鹤峰县', + 'code': '422828' + } + ] + }, + { + 'name': '直辖县', + 'code': '429000', + 'children': [ + { + 'name': '仙桃市', + 'code': '429004' + }, + { + 'name': '潜江市', + 'code': '429005' + }, + { + 'name': '天门市', + 'code': '429006' + }, + { + 'name': '神农架林区', + 'code': '429021' + } + ] + } + ] + }, + { + 'name': '湖南省', + 'code': '430000', + 'region': 'central', + 'children': [ + { + 'name': '长沙市', + 'code': '430100', + 'children': [ + { + 'name': '芙蓉区', + 'code': '430102' + }, + { + 'name': '天心区', + 'code': '430103' + }, + { + 'name': '岳麓区', + 'code': '430104' + }, + { + 'name': '开福区', + 'code': '430105' + }, + { + 'name': '雨花区', + 'code': '430111' + }, + { + 'name': '望城区', + 'code': '430112' + }, + { + 'name': '长沙县', + 'code': '430121' + }, + { + 'name': '浏阳市', + 'code': '430181' + }, + { + 'name': '宁乡市', + 'code': '430182' + } + ] + }, + { + 'name': '株洲市', + 'code': '430200', + 'children': [ + { + 'name': '荷塘区', + 'code': '430202' + }, + { + 'name': '芦淞区', + 'code': '430203' + }, + { + 'name': '石峰区', + 'code': '430204' + }, + { + 'name': '天元区', + 'code': '430211' + }, + { + 'name': '渌口区', + 'code': '430212' + }, + { + 'name': '攸县', + 'code': '430223' + }, + { + 'name': '茶陵县', + 'code': '430224' + }, + { + 'name': '炎陵县', + 'code': '430225' + }, + { + 'name': '醴陵市', + 'code': '430281' + } + ] + }, + { + 'name': '湘潭市', + 'code': '430300', + 'children': [ + { + 'name': '雨湖区', + 'code': '430302' + }, + { + 'name': '岳塘区', + 'code': '430304' + }, + { + 'name': '湘潭县', + 'code': '430321' + }, + { + 'name': '湘乡市', + 'code': '430381' + }, + { + 'name': '韶山市', + 'code': '430382' + } + ] + }, + { + 'name': '衡阳市', + 'code': '430400', + 'children': [ + { + 'name': '珠晖区', + 'code': '430405' + }, + { + 'name': '雁峰区', + 'code': '430406' + }, + { + 'name': '石鼓区', + 'code': '430407' + }, + { + 'name': '蒸湘区', + 'code': '430408' + }, + { + 'name': '南岳区', + 'code': '430412' + }, + { + 'name': '衡阳县', + 'code': '430421' + }, + { + 'name': '衡南县', + 'code': '430422' + }, + { + 'name': '衡山县', + 'code': '430423' + }, + { + 'name': '衡东县', + 'code': '430424' + }, + { + 'name': '祁东县', + 'code': '430426' + }, + { + 'name': '耒阳市', + 'code': '430481' + }, + { + 'name': '常宁市', + 'code': '430482' + } + ] + }, + { + 'name': '邵阳市', + 'code': '430500', + 'children': [ + { + 'name': '双清区', + 'code': '430502' + }, + { + 'name': '大祥区', + 'code': '430503' + }, + { + 'name': '北塔区', + 'code': '430511' + }, + { + 'name': '邵东县', + 'code': '430521' + }, + { + 'name': '新邵县', + 'code': '430522' + }, + { + 'name': '邵阳县', + 'code': '430523' + }, + { + 'name': '隆回县', + 'code': '430524' + }, + { + 'name': '洞口县', + 'code': '430525' + }, + { + 'name': '绥宁县', + 'code': '430527' + }, + { + 'name': '新宁县', + 'code': '430528' + }, + { + 'name': '城步苗族自治县', + 'code': '430529' + }, + { + 'name': '武冈市', + 'code': '430581' + } + ] + }, + { + 'name': '岳阳市', + 'code': '430600', + 'children': [ + { + 'name': '岳阳楼区', + 'code': '430602' + }, + { + 'name': '云溪区', + 'code': '430603' + }, + { + 'name': '君山区', + 'code': '430611' + }, + { + 'name': '岳阳县', + 'code': '430621' + }, + { + 'name': '华容县', + 'code': '430623' + }, + { + 'name': '湘阴县', + 'code': '430624' + }, + { + 'name': '平江县', + 'code': '430626' + }, + { + 'name': '汨罗市', + 'code': '430681' + }, + { + 'name': '临湘市', + 'code': '430682' + } + ] + }, + { + 'name': '常德市', + 'code': '430700', + 'children': [ + { + 'name': '武陵区', + 'code': '430702' + }, + { + 'name': '鼎城区', + 'code': '430703' + }, + { + 'name': '安乡县', + 'code': '430721' + }, + { + 'name': '汉寿县', + 'code': '430722' + }, + { + 'name': '澧县', + 'code': '430723' + }, + { + 'name': '临澧县', + 'code': '430724' + }, + { + 'name': '桃源县', + 'code': '430725' + }, + { + 'name': '石门县', + 'code': '430726' + }, + { + 'name': '津市市', + 'code': '430781' + } + ] + }, + { + 'name': '张家界市', + 'code': '430800', + 'children': [ + { + 'name': '永定区', + 'code': '430802' + }, + { + 'name': '武陵源区', + 'code': '430811' + }, + { + 'name': '慈利县', + 'code': '430821' + }, + { + 'name': '桑植县', + 'code': '430822' + } + ] + }, + { + 'name': '益阳市', + 'code': '430900', + 'children': [ + { + 'name': '资阳区', + 'code': '430902' + }, + { + 'name': '赫山区', + 'code': '430903' + }, + { + 'name': '南县', + 'code': '430921' + }, + { + 'name': '桃江县', + 'code': '430922' + }, + { + 'name': '安化县', + 'code': '430923' + }, + { + 'name': '沅江市', + 'code': '430981' + } + ] + }, + { + 'name': '郴州市', + 'code': '431000', + 'children': [ + { + 'name': '北湖区', + 'code': '431002' + }, + { + 'name': '苏仙区', + 'code': '431003' + }, + { + 'name': '桂阳县', + 'code': '431021' + }, + { + 'name': '宜章县', + 'code': '431022' + }, + { + 'name': '永兴县', + 'code': '431023' + }, + { + 'name': '嘉禾县', + 'code': '431024' + }, + { + 'name': '临武县', + 'code': '431025' + }, + { + 'name': '汝城县', + 'code': '431026' + }, + { + 'name': '桂东县', + 'code': '431027' + }, + { + 'name': '安仁县', + 'code': '431028' + }, + { + 'name': '资兴市', + 'code': '431081' + } + ] + }, + { + 'name': '永州市', + 'code': '431100', + 'children': [ + { + 'name': '零陵区', + 'code': '431102' + }, + { + 'name': '冷水滩区', + 'code': '431103' + }, + { + 'name': '祁阳县', + 'code': '431121' + }, + { + 'name': '东安县', + 'code': '431122' + }, + { + 'name': '双牌县', + 'code': '431123' + }, + { + 'name': '道县', + 'code': '431124' + }, + { + 'name': '江永县', + 'code': '431125' + }, + { + 'name': '宁远县', + 'code': '431126' + }, + { + 'name': '蓝山县', + 'code': '431127' + }, + { + 'name': '新田县', + 'code': '431128' + }, + { + 'name': '江华瑶族自治县', + 'code': '431129' + } + ] + }, + { + 'name': '怀化市', + 'code': '431200', + 'children': [ + { + 'name': '鹤城区', + 'code': '431202' + }, + { + 'name': '中方县', + 'code': '431221' + }, + { + 'name': '沅陵县', + 'code': '431222' + }, + { + 'name': '辰溪县', + 'code': '431223' + }, + { + 'name': '溆浦县', + 'code': '431224' + }, + { + 'name': '会同县', + 'code': '431225' + }, + { + 'name': '麻阳苗族自治县', + 'code': '431226' + }, + { + 'name': '新晃侗族自治县', + 'code': '431227' + }, + { + 'name': '芷江侗族自治县', + 'code': '431228' + }, + { + 'name': '靖州苗族侗族自治县', + 'code': '431229' + }, + { + 'name': '通道侗族自治县', + 'code': '431230' + }, + { + 'name': '洪江市', + 'code': '431281' + } + ] + }, + { + 'name': '娄底市', + 'code': '431300', + 'children': [ + { + 'name': '娄星区', + 'code': '431302' + }, + { + 'name': '双峰县', + 'code': '431321' + }, + { + 'name': '新化县', + 'code': '431322' + }, + { + 'name': '冷水江市', + 'code': '431381' + }, + { + 'name': '涟源市', + 'code': '431382' + } + ] + }, + { + 'name': '湘西土家族苗族自治州', + 'code': '433100', + 'children': [ + { + 'name': '吉首市', + 'code': '433101' + }, + { + 'name': '泸溪县', + 'code': '433122' + }, + { + 'name': '凤凰县', + 'code': '433123' + }, + { + 'name': '花垣县', + 'code': '433124' + }, + { + 'name': '保靖县', + 'code': '433125' + }, + { + 'name': '古丈县', + 'code': '433126' + }, + { + 'name': '永顺县', + 'code': '433127' + }, + { + 'name': '龙山县', + 'code': '433130' + } + ] + } + ] + }, + { + 'name': '广东省', + 'code': '440000', + 'region': 'south', + 'children': [ + { + 'name': '广州市', + 'code': '440100', + 'children': [ + { + 'name': '荔湾区', + 'code': '440103' + }, + { + 'name': '越秀区', + 'code': '440104' + }, + { + 'name': '海珠区', + 'code': '440105' + }, + { + 'name': '天河区', + 'code': '440106' + }, + { + 'name': '白云区', + 'code': '440111' + }, + { + 'name': '黄埔区', + 'code': '440112' + }, + { + 'name': '番禺区', + 'code': '440113' + }, + { + 'name': '花都区', + 'code': '440114' + }, + { + 'name': '南沙区', + 'code': '440115' + }, + { + 'name': '从化区', + 'code': '440117' + }, + { + 'name': '增城区', + 'code': '440118' + } + ] + }, + { + 'name': '韶关市', + 'code': '440200', + 'children': [ + { + 'name': '武江区', + 'code': '440203' + }, + { + 'name': '浈江区', + 'code': '440204' + }, + { + 'name': '曲江区', + 'code': '440205' + }, + { + 'name': '始兴县', + 'code': '440222' + }, + { + 'name': '仁化县', + 'code': '440224' + }, + { + 'name': '翁源县', + 'code': '440229' + }, + { + 'name': '乳源瑶族自治县', + 'code': '440232' + }, + { + 'name': '新丰县', + 'code': '440233' + }, + { + 'name': '乐昌市', + 'code': '440281' + }, + { + 'name': '南雄市', + 'code': '440282' + } + ] + }, + { + 'name': '深圳市', + 'code': '440300', + 'children': [ + { + 'name': '罗湖区', + 'code': '440303' + }, + { + 'name': '福田区', + 'code': '440304' + }, + { + 'name': '南山区', + 'code': '440305' + }, + { + 'name': '宝安区', + 'code': '440306' + }, + { + 'name': '龙岗区', + 'code': '440307' + }, + { + 'name': '盐田区', + 'code': '440308' + }, + { + 'name': '龙华区', + 'code': '440309' + }, + { + 'name': '坪山区', + 'code': '440310' + }, + { + 'name': '光明区', + 'code': '440311' + } + ] + }, + { + 'name': '珠海市', + 'code': '440400', + 'children': [ + { + 'name': '香洲区', + 'code': '440402' + }, + { + 'name': '斗门区', + 'code': '440403' + }, + { + 'name': '金湾区', + 'code': '440404' + } + ] + }, + { + 'name': '汕头市', + 'code': '440500', + 'children': [ + { + 'name': '龙湖区', + 'code': '440507' + }, + { + 'name': '金平区', + 'code': '440511' + }, + { + 'name': '濠江区', + 'code': '440512' + }, + { + 'name': '潮阳区', + 'code': '440513' + }, + { + 'name': '潮南区', + 'code': '440514' + }, + { + 'name': '澄海区', + 'code': '440515' + }, + { + 'name': '南澳县', + 'code': '440523' + } + ] + }, + { + 'name': '佛山市', + 'code': '440600', + 'children': [ + { + 'name': '禅城区', + 'code': '440604' + }, + { + 'name': '南海区', + 'code': '440605' + }, + { + 'name': '顺德区', + 'code': '440606' + }, + { + 'name': '三水区', + 'code': '440607' + }, + { + 'name': '高明区', + 'code': '440608' + } + ] + }, + { + 'name': '江门市', + 'code': '440700', + 'children': [ + { + 'name': '蓬江区', + 'code': '440703' + }, + { + 'name': '江海区', + 'code': '440704' + }, + { + 'name': '新会区', + 'code': '440705' + }, + { + 'name': '台山市', + 'code': '440781' + }, + { + 'name': '开平市', + 'code': '440783' + }, + { + 'name': '鹤山市', + 'code': '440784' + }, + { + 'name': '恩平市', + 'code': '440785' + } + ] + }, + { + 'name': '湛江市', + 'code': '440800', + 'children': [ + { + 'name': '赤坎区', + 'code': '440802' + }, + { + 'name': '霞山区', + 'code': '440803' + }, + { + 'name': '坡头区', + 'code': '440804' + }, + { + 'name': '麻章区', + 'code': '440811' + }, + { + 'name': '遂溪县', + 'code': '440823' + }, + { + 'name': '徐闻县', + 'code': '440825' + }, + { + 'name': '廉江市', + 'code': '440881' + }, + { + 'name': '雷州市', + 'code': '440882' + }, + { + 'name': '吴川市', + 'code': '440883' + } + ] + }, + { + 'name': '茂名市', + 'code': '440900', + 'children': [ + { + 'name': '茂南区', + 'code': '440902' + }, + { + 'name': '电白区', + 'code': '440904' + }, + { + 'name': '高州市', + 'code': '440981' + }, + { + 'name': '化州市', + 'code': '440982' + }, + { + 'name': '信宜市', + 'code': '440983' + } + ] + }, + { + 'name': '肇庆市', + 'code': '441200', + 'children': [ + { + 'name': '端州区', + 'code': '441202' + }, + { + 'name': '鼎湖区', + 'code': '441203' + }, + { + 'name': '高要区', + 'code': '441204' + }, + { + 'name': '广宁县', + 'code': '441223' + }, + { + 'name': '怀集县', + 'code': '441224' + }, + { + 'name': '封开县', + 'code': '441225' + }, + { + 'name': '德庆县', + 'code': '441226' + }, + { + 'name': '四会市', + 'code': '441284' + } + ] + }, + { + 'name': '惠州市', + 'code': '441300', + 'children': [ + { + 'name': '惠城区', + 'code': '441302' + }, + { + 'name': '惠阳区', + 'code': '441303' + }, + { + 'name': '博罗县', + 'code': '441322' + }, + { + 'name': '惠东县', + 'code': '441323' + }, + { + 'name': '龙门县', + 'code': '441324' + } + ] + }, + { + 'name': '梅州市', + 'code': '441400', + 'children': [ + { + 'name': '梅江区', + 'code': '441402' + }, + { + 'name': '梅县区', + 'code': '441403' + }, + { + 'name': '大埔县', + 'code': '441422' + }, + { + 'name': '丰顺县', + 'code': '441423' + }, + { + 'name': '五华县', + 'code': '441424' + }, + { + 'name': '平远县', + 'code': '441426' + }, + { + 'name': '蕉岭县', + 'code': '441427' + }, + { + 'name': '兴宁市', + 'code': '441481' + } + ] + }, + { + 'name': '汕尾市', + 'code': '441500', + 'children': [ + { + 'name': '城区', + 'code': '441502' + }, + { + 'name': '海丰县', + 'code': '441521' + }, + { + 'name': '陆河县', + 'code': '441523' + }, + { + 'name': '陆丰市', + 'code': '441581' + } + ] + }, + { + 'name': '河源市', + 'code': '441600', + 'children': [ + { + 'name': '源城区', + 'code': '441602' + }, + { + 'name': '紫金县', + 'code': '441621' + }, + { + 'name': '龙川县', + 'code': '441622' + }, + { + 'name': '连平县', + 'code': '441623' + }, + { + 'name': '和平县', + 'code': '441624' + }, + { + 'name': '东源县', + 'code': '441625' + } + ] + }, + { + 'name': '阳江市', + 'code': '441700', + 'children': [ + { + 'name': '江城区', + 'code': '441702' + }, + { + 'name': '阳东区', + 'code': '441704' + }, + { + 'name': '阳西县', + 'code': '441721' + }, + { + 'name': '阳春市', + 'code': '441781' + } + ] + }, + { + 'name': '清远市', + 'code': '441800', + 'children': [ + { + 'name': '清城区', + 'code': '441802' + }, + { + 'name': '清新区', + 'code': '441803' + }, + { + 'name': '佛冈县', + 'code': '441821' + }, + { + 'name': '阳山县', + 'code': '441823' + }, + { + 'name': '连山壮族瑶族自治县', + 'code': '441825' + }, + { + 'name': '连南瑶族自治县', + 'code': '441826' + }, + { + 'name': '英德市', + 'code': '441881' + }, + { + 'name': '连州市', + 'code': '441882' + } + ] + }, + { + 'name': '东莞市', + 'code': '441900', + 'children': [ + { + 'name': '东城街道', + 'code': '441900003' + }, + { + 'name': '南城街道', + 'code': '441900004' + }, + { + 'name': '万江街道', + 'code': '441900005' + }, + { + 'name': '莞城街道', + 'code': '441900006' + }, + { + 'name': '石碣镇', + 'code': '441900101' + }, + { + 'name': '石龙镇', + 'code': '441900102' + }, + { + 'name': '茶山镇', + 'code': '441900103' + }, + { + 'name': '石排镇', + 'code': '441900104' + }, + { + 'name': '企石镇', + 'code': '441900105' + }, + { + 'name': '横沥镇', + 'code': '441900106' + }, + { + 'name': '桥头镇', + 'code': '441900107' + }, + { + 'name': '谢岗镇', + 'code': '441900108' + }, + { + 'name': '东坑镇', + 'code': '441900109' + }, + { + 'name': '常平镇', + 'code': '441900110' + }, + { + 'name': '寮步镇', + 'code': '441900111' + }, + { + 'name': '樟木头镇', + 'code': '441900112' + }, + { + 'name': '大朗镇', + 'code': '441900113' + }, + { + 'name': '黄江镇', + 'code': '441900114' + }, + { + 'name': '清溪镇', + 'code': '441900115' + }, + { + 'name': '塘厦镇', + 'code': '441900116' + }, + { + 'name': '凤岗镇', + 'code': '441900117' + }, + { + 'name': '大岭山镇', + 'code': '441900118' + }, + { + 'name': '长安镇', + 'code': '441900119' + }, + { + 'name': '虎门镇', + 'code': '441900121' + }, + { + 'name': '厚街镇', + 'code': '441900122' + }, + { + 'name': '沙田镇', + 'code': '441900123' + }, + { + 'name': '道滘镇', + 'code': '441900124' + }, + { + 'name': '洪梅镇', + 'code': '441900125' + }, + { + 'name': '麻涌镇', + 'code': '441900126' + }, + { + 'name': '望牛墩镇', + 'code': '441900127' + }, + { + 'name': '中堂镇', + 'code': '441900128' + }, + { + 'name': '高埗镇', + 'code': '441900129' + }, + { + 'name': '松山湖', + 'code': '441900401' + }, + { + 'name': '东莞港', + 'code': '441900402' + }, + { + 'name': '东莞生态园', + 'code': '441900403' + } + ] + }, + { + 'name': '中山市', + 'code': '442000', + 'children': [ + { + 'name': '石岐街道', + 'code': '442000001' + }, + { + 'name': '东区街道', + 'code': '442000002' + }, + { + 'name': '中山港街道', + 'code': '442000003' + }, + { + 'name': '西区街道', + 'code': '442000004' + }, + { + 'name': '南区街道', + 'code': '442000005' + }, + { + 'name': '五桂山街道', + 'code': '442000006' + }, + { + 'name': '小榄镇', + 'code': '442000100' + }, + { + 'name': '黄圃镇', + 'code': '442000101' + }, + { + 'name': '民众镇', + 'code': '442000102' + }, + { + 'name': '东凤镇', + 'code': '442000103' + }, + { + 'name': '东升镇', + 'code': '442000104' + }, + { + 'name': '古镇镇', + 'code': '442000105' + }, + { + 'name': '沙溪镇', + 'code': '442000106' + }, + { + 'name': '坦洲镇', + 'code': '442000107' + }, + { + 'name': '港口镇', + 'code': '442000108' + }, + { + 'name': '三角镇', + 'code': '442000109' + }, + { + 'name': '横栏镇', + 'code': '442000110' + }, + { + 'name': '南头镇', + 'code': '442000111' + }, + { + 'name': '阜沙镇', + 'code': '442000112' + }, + { + 'name': '南朗镇', + 'code': '442000113' + }, + { + 'name': '三乡镇', + 'code': '442000114' + }, + { + 'name': '板芙镇', + 'code': '442000115' + }, + { + 'name': '大涌镇', + 'code': '442000116' + }, + { + 'name': '神湾镇', + 'code': '442000117' + } + ] + }, + { + 'name': '潮州市', + 'code': '445100', + 'children': [ + { + 'name': '湘桥区', + 'code': '445102' + }, + { + 'name': '潮安区', + 'code': '445103' + }, + { + 'name': '饶平县', + 'code': '445122' + } + ] + }, + { + 'name': '揭阳市', + 'code': '445200', + 'children': [ + { + 'name': '榕城区', + 'code': '445202' + }, + { + 'name': '揭东区', + 'code': '445203' + }, + { + 'name': '揭西县', + 'code': '445222' + }, + { + 'name': '惠来县', + 'code': '445224' + }, + { + 'name': '普宁市', + 'code': '445281' + } + ] + }, + { + 'name': '云浮市', + 'code': '445300', + 'children': [ + { + 'name': '云城区', + 'code': '445302' + }, + { + 'name': '云安区', + 'code': '445303' + }, + { + 'name': '新兴县', + 'code': '445321' + }, + { + 'name': '郁南县', + 'code': '445322' + }, + { + 'name': '罗定市', + 'code': '445381' + } + ] + } + ] + }, + { + 'name': '广西壮族自治区', + 'code': '450000', + 'region': 'south', + 'autonomousRegion': true, + 'children': [ + { + 'name': '南宁市', + 'code': '450100', + 'children': [ + { + 'name': '兴宁区', + 'code': '450102' + }, + { + 'name': '青秀区', + 'code': '450103' + }, + { + 'name': '江南区', + 'code': '450105' + }, + { + 'name': '西乡塘区', + 'code': '450107' + }, + { + 'name': '良庆区', + 'code': '450108' + }, + { + 'name': '邕宁区', + 'code': '450109' + }, + { + 'name': '武鸣区', + 'code': '450110' + }, + { + 'name': '隆安县', + 'code': '450123' + }, + { + 'name': '马山县', + 'code': '450124' + }, + { + 'name': '上林县', + 'code': '450125' + }, + { + 'name': '宾阳县', + 'code': '450126' + }, + { + 'name': '横县', + 'code': '450127' + } + ] + }, + { + 'name': '柳州市', + 'code': '450200', + 'children': [ + { + 'name': '城中区', + 'code': '450202' + }, + { + 'name': '鱼峰区', + 'code': '450203' + }, + { + 'name': '柳南区', + 'code': '450204' + }, + { + 'name': '柳北区', + 'code': '450205' + }, + { + 'name': '柳江区', + 'code': '450206' + }, + { + 'name': '柳城县', + 'code': '450222' + }, + { + 'name': '鹿寨县', + 'code': '450223' + }, + { + 'name': '融安县', + 'code': '450224' + }, + { + 'name': '融水苗族自治县', + 'code': '450225' + }, + { + 'name': '三江侗族自治县', + 'code': '450226' + } + ] + }, + { + 'name': '桂林市', + 'code': '450300', + 'children': [ + { + 'name': '秀峰区', + 'code': '450302' + }, + { + 'name': '叠彩区', + 'code': '450303' + }, + { + 'name': '象山区', + 'code': '450304' + }, + { + 'name': '七星区', + 'code': '450305' + }, + { + 'name': '雁山区', + 'code': '450311' + }, + { + 'name': '临桂区', + 'code': '450312' + }, + { + 'name': '阳朔县', + 'code': '450321' + }, + { + 'name': '灵川县', + 'code': '450323' + }, + { + 'name': '全州县', + 'code': '450324' + }, + { + 'name': '兴安县', + 'code': '450325' + }, + { + 'name': '永福县', + 'code': '450326' + }, + { + 'name': '灌阳县', + 'code': '450327' + }, + { + 'name': '龙胜各族自治县', + 'code': '450328' + }, + { + 'name': '资源县', + 'code': '450329' + }, + { + 'name': '平乐县', + 'code': '450330' + }, + { + 'name': '荔浦市', + 'code': '450381' + }, + { + 'name': '恭城瑶族自治县', + 'code': '450332' + } + ] + }, + { + 'name': '梧州市', + 'code': '450400', + 'children': [ + { + 'name': '万秀区', + 'code': '450403' + }, + { + 'name': '长洲区', + 'code': '450405' + }, + { + 'name': '龙圩区', + 'code': '450406' + }, + { + 'name': '苍梧县', + 'code': '450421' + }, + { + 'name': '藤县', + 'code': '450422' + }, + { + 'name': '蒙山县', + 'code': '450423' + }, + { + 'name': '岑溪市', + 'code': '450481' + } + ] + }, + { + 'name': '北海市', + 'code': '450500', + 'children': [ + { + 'name': '海城区', + 'code': '450502' + }, + { + 'name': '银海区', + 'code': '450503' + }, + { + 'name': '铁山港区', + 'code': '450512' + }, + { + 'name': '合浦县', + 'code': '450521' + } + ] + }, + { + 'name': '防城港市', + 'code': '450600', + 'children': [ + { + 'name': '港口区', + 'code': '450602' + }, + { + 'name': '防城区', + 'code': '450603' + }, + { + 'name': '上思县', + 'code': '450621' + }, + { + 'name': '东兴市', + 'code': '450681' + } + ] + }, + { + 'name': '钦州市', + 'code': '450700', + 'children': [ + { + 'name': '钦南区', + 'code': '450702' + }, + { + 'name': '钦北区', + 'code': '450703' + }, + { + 'name': '灵山县', + 'code': '450721' + }, + { + 'name': '浦北县', + 'code': '450722' + } + ] + }, + { + 'name': '贵港市', + 'code': '450800', + 'children': [ + { + 'name': '港北区', + 'code': '450802' + }, + { + 'name': '港南区', + 'code': '450803' + }, + { + 'name': '覃塘区', + 'code': '450804' + }, + { + 'name': '平南县', + 'code': '450821' + }, + { + 'name': '桂平市', + 'code': '450881' + } + ] + }, + { + 'name': '玉林市', + 'code': '450900', + 'children': [ + { + 'name': '玉州区', + 'code': '450902' + }, + { + 'name': '福绵区', + 'code': '450903' + }, + { + 'name': '容县', + 'code': '450921' + }, + { + 'name': '陆川县', + 'code': '450922' + }, + { + 'name': '博白县', + 'code': '450923' + }, + { + 'name': '兴业县', + 'code': '450924' + }, + { + 'name': '北流市', + 'code': '450981' + } + ] + }, + { + 'name': '百色市', + 'code': '451000', + 'children': [ + { + 'name': '右江区', + 'code': '451002' + }, + { + 'name': '田阳县', + 'code': '451021' + }, + { + 'name': '田东县', + 'code': '451022' + }, + { + 'name': '平果县', + 'code': '451023' + }, + { + 'name': '德保县', + 'code': '451024' + }, + { + 'name': '那坡县', + 'code': '451026' + }, + { + 'name': '凌云县', + 'code': '451027' + }, + { + 'name': '乐业县', + 'code': '451028' + }, + { + 'name': '田林县', + 'code': '451029' + }, + { + 'name': '西林县', + 'code': '451030' + }, + { + 'name': '隆林各族自治县', + 'code': '451031' + }, + { + 'name': '靖西市', + 'code': '451081' + } + ] + }, + { + 'name': '贺州市', + 'code': '451100', + 'children': [ + { + 'name': '八步区', + 'code': '451102' + }, + { + 'name': '平桂区', + 'code': '451103' + }, + { + 'name': '昭平县', + 'code': '451121' + }, + { + 'name': '钟山县', + 'code': '451122' + }, + { + 'name': '富川瑶族自治县', + 'code': '451123' + } + ] + }, + { + 'name': '河池市', + 'code': '451200', + 'children': [ + { + 'name': '金城江区', + 'code': '451202' + }, + { + 'name': '宜州区', + 'code': '451203' + }, + { + 'name': '南丹县', + 'code': '451221' + }, + { + 'name': '天峨县', + 'code': '451222' + }, + { + 'name': '凤山县', + 'code': '451223' + }, + { + 'name': '东兰县', + 'code': '451224' + }, + { + 'name': '罗城仫佬族自治县', + 'code': '451225' + }, + { + 'name': '环江毛南族自治县', + 'code': '451226' + }, + { + 'name': '巴马瑶族自治县', + 'code': '451227' + }, + { + 'name': '都安瑶族自治县', + 'code': '451228' + }, + { + 'name': '大化瑶族自治县', + 'code': '451229' + } + ] + }, + { + 'name': '来宾市', + 'code': '451300', + 'children': [ + { + 'name': '兴宾区', + 'code': '451302' + }, + { + 'name': '忻城县', + 'code': '451321' + }, + { + 'name': '象州县', + 'code': '451322' + }, + { + 'name': '武宣县', + 'code': '451323' + }, + { + 'name': '金秀瑶族自治县', + 'code': '451324' + }, + { + 'name': '合山市', + 'code': '451381' + } + ] + }, + { + 'name': '崇左市', + 'code': '451400', + 'children': [ + { + 'name': '江州区', + 'code': '451402' + }, + { + 'name': '扶绥县', + 'code': '451421' + }, + { + 'name': '宁明县', + 'code': '451422' + }, + { + 'name': '龙州县', + 'code': '451423' + }, + { + 'name': '大新县', + 'code': '451424' + }, + { + 'name': '天等县', + 'code': '451425' + }, + { + 'name': '凭祥市', + 'code': '451481' + } + ] + } + ] + }, + { + 'name': '海南省', + 'code': '460000', + 'region': 'south', + 'children': [ + { + 'name': '海口市', + 'code': '460100', + 'children': [ + { + 'name': '秀英区', + 'code': '460105' + }, + { + 'name': '龙华区', + 'code': '460106' + }, + { + 'name': '琼山区', + 'code': '460107' + }, + { + 'name': '美兰区', + 'code': '460108' + } + ] + }, + { + 'name': '三亚市', + 'code': '460200', + 'children': [ + { + 'name': '海棠区', + 'code': '460202' + }, + { + 'name': '吉阳区', + 'code': '460203' + }, + { + 'name': '天涯区', + 'code': '460204' + }, + { + 'name': '崖州区', + 'code': '460205' + } + ] + }, + { + 'name': '三沙市', + 'code': '460300', + 'children': [ + { + 'name': '西沙群岛', + 'code': '460321' + }, + { + 'name': '南沙群岛', + 'code': '460322' + }, + { + 'name': '中沙群岛的岛礁及其海域', + 'code': '460323' + } + ] + }, + { + 'name': '儋州市', + 'code': '460400', + 'children': [ + { + 'name': '那大镇', + 'code': '460400100' + }, + { + 'name': '和庆镇', + 'code': '460400101' + }, + { + 'name': '南丰镇', + 'code': '460400102' + }, + { + 'name': '大成镇', + 'code': '460400103' + }, + { + 'name': '雅星镇', + 'code': '460400104' + }, + { + 'name': '兰洋镇', + 'code': '460400105' + }, + { + 'name': '光村镇', + 'code': '460400106' + }, + { + 'name': '木棠镇', + 'code': '460400107' + }, + { + 'name': '海头镇', + 'code': '460400108' + }, + { + 'name': '峨蔓镇', + 'code': '460400109' + }, + { + 'name': '王五镇', + 'code': '460400111' + }, + { + 'name': '白马井镇', + 'code': '460400112' + }, + { + 'name': '中和镇', + 'code': '460400113' + }, + { + 'name': '排浦镇', + 'code': '460400114' + }, + { + 'name': '东成镇', + 'code': '460400115' + }, + { + 'name': '新州镇', + 'code': '460400116' + }, + { + 'name': '洋浦经济开发区', + 'code': '460400499' + }, + { + 'name': '华南热作学院', + 'code': '460400500' + } + ] + }, + { + 'name': '直辖县', + 'code': '469000', + 'children': [ + { + 'name': '五指山市', + 'code': '469001' + }, + { + 'name': '琼海市', + 'code': '469002' + }, + { + 'name': '文昌市', + 'code': '469005' + }, + { + 'name': '万宁市', + 'code': '469006' + }, + { + 'name': '东方市', + 'code': '469007' + }, + { + 'name': '定安县', + 'code': '469021' + }, + { + 'name': '屯昌县', + 'code': '469022' + }, + { + 'name': '澄迈县', + 'code': '469023' + }, + { + 'name': '临高县', + 'code': '469024' + }, + { + 'name': '白沙黎族自治县', + 'code': '469025' + }, + { + 'name': '昌江黎族自治县', + 'code': '469026' + }, + { + 'name': '乐东黎族自治县', + 'code': '469027' + }, + { + 'name': '陵水黎族自治县', + 'code': '469028' + }, + { + 'name': '保亭黎族苗族自治县', + 'code': '469029' + }, + { + 'name': '琼中黎族苗族自治县', + 'code': '469030' + } + ] + } + ] + }, + { + 'name': '重庆市', + 'code': '500000', + 'region': 'southwest', + 'provinceLevelCity': true, + 'children': [ + { + 'name': '市辖区', + 'code': '500100', + 'children': [ + { + 'name': '万州区', + 'code': '500101' + }, + { + 'name': '涪陵区', + 'code': '500102' + }, + { + 'name': '渝中区', + 'code': '500103' + }, + { + 'name': '大渡口区', + 'code': '500104' + }, + { + 'name': '江北区', + 'code': '500105' + }, + { + 'name': '沙坪坝区', + 'code': '500106' + }, + { + 'name': '九龙坡区', + 'code': '500107' + }, + { + 'name': '南岸区', + 'code': '500108' + }, + { + 'name': '北碚区', + 'code': '500109' + }, + { + 'name': '綦江区', + 'code': '500110' + }, + { + 'name': '大足区', + 'code': '500111' + }, + { + 'name': '渝北区', + 'code': '500112' + }, + { + 'name': '巴南区', + 'code': '500113' + }, + { + 'name': '黔江区', + 'code': '500114' + }, + { + 'name': '长寿区', + 'code': '500115' + }, + { + 'name': '江津区', + 'code': '500116' + }, + { + 'name': '合川区', + 'code': '500117' + }, + { + 'name': '永川区', + 'code': '500118' + }, + { + 'name': '南川区', + 'code': '500119' + }, + { + 'name': '璧山区', + 'code': '500120' + }, + { + 'name': '铜梁区', + 'code': '500151' + }, + { + 'name': '潼南区', + 'code': '500152' + }, + { + 'name': '荣昌区', + 'code': '500153' + }, + { + 'name': '开州区', + 'code': '500154' + }, + { + 'name': '梁平区', + 'code': '500155' + }, + { + 'name': '武隆区', + 'code': '500156' + } + ] + }, + { + 'name': '县辖区', + 'code': '500200', + 'children': [ + { + 'name': '城口县', + 'code': '500229' + }, + { + 'name': '丰都县', + 'code': '500230' + }, + { + 'name': '垫江县', + 'code': '500231' + }, + { + 'name': '忠县', + 'code': '500233' + }, + { + 'name': '云阳县', + 'code': '500235' + }, + { + 'name': '奉节县', + 'code': '500236' + }, + { + 'name': '巫山县', + 'code': '500237' + }, + { + 'name': '巫溪县', + 'code': '500238' + }, + { + 'name': '石柱土家族自治县', + 'code': '500240' + }, + { + 'name': '秀山土家族苗族自治县', + 'code': '500241' + }, + { + 'name': '酉阳土家族苗族自治县', + 'code': '500242' + }, + { + 'name': '彭水苗族土家族自治县', + 'code': '500243' + } + ] + } + ] + }, + { + 'name': '四川省', + 'code': '510000', + 'region': 'southwest', + 'children': [ + { + 'name': '成都市', + 'code': '510100', + 'children': [ + { + 'name': '锦江区', + 'code': '510104' + }, + { + 'name': '青羊区', + 'code': '510105' + }, + { + 'name': '金牛区', + 'code': '510106' + }, + { + 'name': '武侯区', + 'code': '510107' + }, + { + 'name': '成华区', + 'code': '510108' + }, + { + 'name': '龙泉驿区', + 'code': '510112' + }, + { + 'name': '青白江区', + 'code': '510113' + }, + { + 'name': '新都区', + 'code': '510114' + }, + { + 'name': '温江区', + 'code': '510115' + }, + { + 'name': '双流区', + 'code': '510116' + }, + { + 'name': '郫都区', + 'code': '510117' + }, + { + 'name': '金堂县', + 'code': '510121' + }, + { + 'name': '大邑县', + 'code': '510129' + }, + { + 'name': '蒲江县', + 'code': '510131' + }, + { + 'name': '新津县', + 'code': '510132' + }, + { + 'name': '都江堰市', + 'code': '510181' + }, + { + 'name': '彭州市', + 'code': '510182' + }, + { + 'name': '邛崃市', + 'code': '510183' + }, + { + 'name': '崇州市', + 'code': '510184' + }, + { + 'name': '简阳市', + 'code': '510185' + } + ] + }, + { + 'name': '自贡市', + 'code': '510300', + 'children': [ + { + 'name': '自流井区', + 'code': '510302' + }, + { + 'name': '贡井区', + 'code': '510303' + }, + { + 'name': '大安区', + 'code': '510304' + }, + { + 'name': '沿滩区', + 'code': '510311' + }, + { + 'name': '荣县', + 'code': '510321' + }, + { + 'name': '富顺县', + 'code': '510322' + } + ] + }, + { + 'name': '攀枝花市', + 'code': '510400', + 'children': [ + { + 'name': '东区', + 'code': '510402' + }, + { + 'name': '西区', + 'code': '510403' + }, + { + 'name': '仁和区', + 'code': '510411' + }, + { + 'name': '米易县', + 'code': '510421' + }, + { + 'name': '盐边县', + 'code': '510422' + } + ] + }, + { + 'name': '泸州市', + 'code': '510500', + 'children': [ + { + 'name': '江阳区', + 'code': '510502' + }, + { + 'name': '纳溪区', + 'code': '510503' + }, + { + 'name': '龙马潭区', + 'code': '510504' + }, + { + 'name': '泸县', + 'code': '510521' + }, + { + 'name': '合江县', + 'code': '510522' + }, + { + 'name': '叙永县', + 'code': '510524' + }, + { + 'name': '古蔺县', + 'code': '510525' + } + ] + }, + { + 'name': '德阳市', + 'code': '510600', + 'children': [ + { + 'name': '旌阳区', + 'code': '510603' + }, + { + 'name': '罗江区', + 'code': '510604' + }, + { + 'name': '中江县', + 'code': '510623' + }, + { + 'name': '广汉市', + 'code': '510681' + }, + { + 'name': '什邡市', + 'code': '510682' + }, + { + 'name': '绵竹市', + 'code': '510683' + } + ] + }, + { + 'name': '绵阳市', + 'code': '510700', + 'children': [ + { + 'name': '涪城区', + 'code': '510703' + }, + { + 'name': '游仙区', + 'code': '510704' + }, + { + 'name': '安州区', + 'code': '510705' + }, + { + 'name': '三台县', + 'code': '510722' + }, + { + 'name': '盐亭县', + 'code': '510723' + }, + { + 'name': '梓潼县', + 'code': '510725' + }, + { + 'name': '北川羌族自治县', + 'code': '510726' + }, + { + 'name': '平武县', + 'code': '510727' + }, + { + 'name': '江油市', + 'code': '510781' + } + ] + }, + { + 'name': '广元市', + 'code': '510800', + 'children': [ + { + 'name': '利州区', + 'code': '510802' + }, + { + 'name': '昭化区', + 'code': '510811' + }, + { + 'name': '朝天区', + 'code': '510812' + }, + { + 'name': '旺苍县', + 'code': '510821' + }, + { + 'name': '青川县', + 'code': '510822' + }, + { + 'name': '剑阁县', + 'code': '510823' + }, + { + 'name': '苍溪县', + 'code': '510824' + } + ] + }, + { + 'name': '遂宁市', + 'code': '510900', + 'children': [ + { + 'name': '船山区', + 'code': '510903' + }, + { + 'name': '安居区', + 'code': '510904' + }, + { + 'name': '蓬溪县', + 'code': '510921' + }, + { + 'name': '射洪县', + 'code': '510922' + }, + { + 'name': '大英县', + 'code': '510923' + } + ] + }, + { + 'name': '内江市', + 'code': '511000', + 'children': [ + { + 'name': '市中区', + 'code': '511002' + }, + { + 'name': '东兴区', + 'code': '511011' + }, + { + 'name': '威远县', + 'code': '511024' + }, + { + 'name': '资中县', + 'code': '511025' + }, + { + 'name': '隆昌市', + 'code': '511083' + } + ] + }, + { + 'name': '乐山市', + 'code': '511100', + 'children': [ + { + 'name': '市中区', + 'code': '511102' + }, + { + 'name': '沙湾区', + 'code': '511111' + }, + { + 'name': '五通桥区', + 'code': '511112' + }, + { + 'name': '金口河区', + 'code': '511113' + }, + { + 'name': '犍为县', + 'code': '511123' + }, + { + 'name': '井研县', + 'code': '511124' + }, + { + 'name': '夹江县', + 'code': '511126' + }, + { + 'name': '沐川县', + 'code': '511129' + }, + { + 'name': '峨边彝族自治县', + 'code': '511132' + }, + { + 'name': '马边彝族自治县', + 'code': '511133' + }, + { + 'name': '峨眉山市', + 'code': '511181' + } + ] + }, + { + 'name': '南充市', + 'code': '511300', + 'children': [ + { + 'name': '顺庆区', + 'code': '511302' + }, + { + 'name': '高坪区', + 'code': '511303' + }, + { + 'name': '嘉陵区', + 'code': '511304' + }, + { + 'name': '南部县', + 'code': '511321' + }, + { + 'name': '营山县', + 'code': '511322' + }, + { + 'name': '蓬安县', + 'code': '511323' + }, + { + 'name': '仪陇县', + 'code': '511324' + }, + { + 'name': '西充县', + 'code': '511325' + }, + { + 'name': '阆中市', + 'code': '511381' + } + ] + }, + { + 'name': '眉山市', + 'code': '511400', + 'children': [ + { + 'name': '东坡区', + 'code': '511402' + }, + { + 'name': '彭山区', + 'code': '511403' + }, + { + 'name': '仁寿县', + 'code': '511421' + }, + { + 'name': '洪雅县', + 'code': '511423' + }, + { + 'name': '丹棱县', + 'code': '511424' + }, + { + 'name': '青神县', + 'code': '511425' + } + ] + }, + { + 'name': '宜宾市', + 'code': '511500', + 'children': [ + { + 'name': '翠屏区', + 'code': '511502' + }, + { + 'name': '南溪区', + 'code': '511503' + }, + { + 'name': '叙州区', + 'code': '511504' + }, + { + 'name': '江安县', + 'code': '511523' + }, + { + 'name': '长宁县', + 'code': '511524' + }, + { + 'name': '高县', + 'code': '511525' + }, + { + 'name': '珙县', + 'code': '511526' + }, + { + 'name': '筠连县', + 'code': '511527' + }, + { + 'name': '兴文县', + 'code': '511528' + }, + { + 'name': '屏山县', + 'code': '511529' + } + ] + }, + { + 'name': '广安市', + 'code': '511600', + 'children': [ + { + 'name': '广安区', + 'code': '511602' + }, + { + 'name': '前锋区', + 'code': '511603' + }, + { + 'name': '岳池县', + 'code': '511621' + }, + { + 'name': '武胜县', + 'code': '511622' + }, + { + 'name': '邻水县', + 'code': '511623' + }, + { + 'name': '华蓥市', + 'code': '511681' + } + ] + }, + { + 'name': '达州市', + 'code': '511700', + 'children': [ + { + 'name': '通川区', + 'code': '511702' + }, + { + 'name': '达川区', + 'code': '511703' + }, + { + 'name': '宣汉县', + 'code': '511722' + }, + { + 'name': '开江县', + 'code': '511723' + }, + { + 'name': '大竹县', + 'code': '511724' + }, + { + 'name': '渠县', + 'code': '511725' + }, + { + 'name': '万源市', + 'code': '511781' + } + ] + }, + { + 'name': '雅安市', + 'code': '511800', + 'children': [ + { + 'name': '雨城区', + 'code': '511802' + }, + { + 'name': '名山区', + 'code': '511803' + }, + { + 'name': '荥经县', + 'code': '511822' + }, + { + 'name': '汉源县', + 'code': '511823' + }, + { + 'name': '石棉县', + 'code': '511824' + }, + { + 'name': '天全县', + 'code': '511825' + }, + { + 'name': '芦山县', + 'code': '511826' + }, + { + 'name': '宝兴县', + 'code': '511827' + } + ] + }, + { + 'name': '巴中市', + 'code': '511900', + 'children': [ + { + 'name': '巴州区', + 'code': '511902' + }, + { + 'name': '恩阳区', + 'code': '511903' + }, + { + 'name': '通江县', + 'code': '511921' + }, + { + 'name': '南江县', + 'code': '511922' + }, + { + 'name': '平昌县', + 'code': '511923' + } + ] + }, + { + 'name': '资阳市', + 'code': '512000', + 'children': [ + { + 'name': '雁江区', + 'code': '512002' + }, + { + 'name': '安岳县', + 'code': '512021' + }, + { + 'name': '乐至县', + 'code': '512022' + } + ] + }, + { + 'name': '阿坝藏族羌族自治州', + 'code': '513200', + 'children': [ + { + 'name': '马尔康市', + 'code': '513201' + }, + { + 'name': '汶川县', + 'code': '513221' + }, + { + 'name': '理县', + 'code': '513222' + }, + { + 'name': '茂县', + 'code': '513223' + }, + { + 'name': '松潘县', + 'code': '513224' + }, + { + 'name': '九寨沟县', + 'code': '513225' + }, + { + 'name': '金川县', + 'code': '513226' + }, + { + 'name': '小金县', + 'code': '513227' + }, + { + 'name': '黑水县', + 'code': '513228' + }, + { + 'name': '壤塘县', + 'code': '513230' + }, + { + 'name': '阿坝县', + 'code': '513231' + }, + { + 'name': '若尔盖县', + 'code': '513232' + }, + { + 'name': '红原县', + 'code': '513233' + } + ] + }, + { + 'name': '甘孜藏族自治州', + 'code': '513300', + 'children': [ + { + 'name': '康定市', + 'code': '513301' + }, + { + 'name': '泸定县', + 'code': '513322' + }, + { + 'name': '丹巴县', + 'code': '513323' + }, + { + 'name': '九龙县', + 'code': '513324' + }, + { + 'name': '雅江县', + 'code': '513325' + }, + { + 'name': '道孚县', + 'code': '513326' + }, + { + 'name': '炉霍县', + 'code': '513327' + }, + { + 'name': '甘孜县', + 'code': '513328' + }, + { + 'name': '新龙县', + 'code': '513329' + }, + { + 'name': '德格县', + 'code': '513330' + }, + { + 'name': '白玉县', + 'code': '513331' + }, + { + 'name': '石渠县', + 'code': '513332' + }, + { + 'name': '色达县', + 'code': '513333' + }, + { + 'name': '理塘县', + 'code': '513334' + }, + { + 'name': '巴塘县', + 'code': '513335' + }, + { + 'name': '乡城县', + 'code': '513336' + }, + { + 'name': '稻城县', + 'code': '513337' + }, + { + 'name': '得荣县', + 'code': '513338' + } + ] + }, + { + 'name': '凉山彝族自治州', + 'code': '513400', + 'children': [ + { + 'name': '西昌市', + 'code': '513401' + }, + { + 'name': '木里藏族自治县', + 'code': '513422' + }, + { + 'name': '盐源县', + 'code': '513423' + }, + { + 'name': '德昌县', + 'code': '513424' + }, + { + 'name': '会理县', + 'code': '513425' + }, + { + 'name': '会东县', + 'code': '513426' + }, + { + 'name': '宁南县', + 'code': '513427' + }, + { + 'name': '普格县', + 'code': '513428' + }, + { + 'name': '布拖县', + 'code': '513429' + }, + { + 'name': '金阳县', + 'code': '513430' + }, + { + 'name': '昭觉县', + 'code': '513431' + }, + { + 'name': '喜德县', + 'code': '513432' + }, + { + 'name': '冕宁县', + 'code': '513433' + }, + { + 'name': '越西县', + 'code': '513434' + }, + { + 'name': '甘洛县', + 'code': '513435' + }, + { + 'name': '美姑县', + 'code': '513436' + }, + { + 'name': '雷波县', + 'code': '513437' + } + ] + } + ] + }, + { + 'name': '贵州省', + 'code': '520000', + 'region': 'southwest', + 'children': [ + { + 'name': '贵阳市', + 'code': '520100', + 'children': [ + { + 'name': '南明区', + 'code': '520102' + }, + { + 'name': '云岩区', + 'code': '520103' + }, + { + 'name': '花溪区', + 'code': '520111' + }, + { + 'name': '乌当区', + 'code': '520112' + }, + { + 'name': '白云区', + 'code': '520113' + }, + { + 'name': '观山湖区', + 'code': '520115' + }, + { + 'name': '开阳县', + 'code': '520121' + }, + { + 'name': '息烽县', + 'code': '520122' + }, + { + 'name': '修文县', + 'code': '520123' + }, + { + 'name': '清镇市', + 'code': '520181' + } + ] + }, + { + 'name': '六盘水市', + 'code': '520200', + 'children': [ + { + 'name': '钟山区', + 'code': '520201' + }, + { + 'name': '六枝特区', + 'code': '520203' + }, + { + 'name': '水城县', + 'code': '520221' + }, + { + 'name': '盘州市', + 'code': '520281' + } + ] + }, + { + 'name': '遵义市', + 'code': '520300', + 'children': [ + { + 'name': '红花岗区', + 'code': '520302' + }, + { + 'name': '汇川区', + 'code': '520303' + }, + { + 'name': '播州区', + 'code': '520304' + }, + { + 'name': '桐梓县', + 'code': '520322' + }, + { + 'name': '绥阳县', + 'code': '520323' + }, + { + 'name': '正安县', + 'code': '520324' + }, + { + 'name': '道真仡佬族苗族自治县', + 'code': '520325' + }, + { + 'name': '务川仡佬族苗族自治县', + 'code': '520326' + }, + { + 'name': '凤冈县', + 'code': '520327' + }, + { + 'name': '湄潭县', + 'code': '520328' + }, + { + 'name': '余庆县', + 'code': '520329' + }, + { + 'name': '习水县', + 'code': '520330' + }, + { + 'name': '赤水市', + 'code': '520381' + }, + { + 'name': '仁怀市', + 'code': '520382' + } + ] + }, + { + 'name': '安顺市', + 'code': '520400', + 'children': [ + { + 'name': '西秀区', + 'code': '520402' + }, + { + 'name': '平坝区', + 'code': '520403' + }, + { + 'name': '普定县', + 'code': '520422' + }, + { + 'name': '镇宁布依族苗族自治县', + 'code': '520423' + }, + { + 'name': '关岭布依族苗族自治县', + 'code': '520424' + }, + { + 'name': '紫云苗族布依族自治县', + 'code': '520425' + } + ] + }, + { + 'name': '毕节市', + 'code': '520500', + 'children': [ + { + 'name': '七星关区', + 'code': '520502' + }, + { + 'name': '大方县', + 'code': '520521' + }, + { + 'name': '黔西县', + 'code': '520522' + }, + { + 'name': '金沙县', + 'code': '520523' + }, + { + 'name': '织金县', + 'code': '520524' + }, + { + 'name': '纳雍县', + 'code': '520525' + }, + { + 'name': '威宁彝族回族苗族自治县', + 'code': '520526' + }, + { + 'name': '赫章县', + 'code': '520527' + } + ] + }, + { + 'name': '铜仁市', + 'code': '520600', + 'children': [ + { + 'name': '碧江区', + 'code': '520602' + }, + { + 'name': '万山区', + 'code': '520603' + }, + { + 'name': '江口县', + 'code': '520621' + }, + { + 'name': '玉屏侗族自治县', + 'code': '520622' + }, + { + 'name': '石阡县', + 'code': '520623' + }, + { + 'name': '思南县', + 'code': '520624' + }, + { + 'name': '印江土家族苗族自治县', + 'code': '520625' + }, + { + 'name': '德江县', + 'code': '520626' + }, + { + 'name': '沿河土家族自治县', + 'code': '520627' + }, + { + 'name': '松桃苗族自治县', + 'code': '520628' + } + ] + }, + { + 'name': '黔西南布依族苗族自治州', + 'code': '522300', + 'children': [ + { + 'name': '兴义市', + 'code': '522301' + }, + { + 'name': '兴仁市', + 'code': '522302' + }, + { + 'name': '普安县', + 'code': '522323' + }, + { + 'name': '晴隆县', + 'code': '522324' + }, + { + 'name': '贞丰县', + 'code': '522325' + }, + { + 'name': '望谟县', + 'code': '522326' + }, + { + 'name': '册亨县', + 'code': '522327' + }, + { + 'name': '安龙县', + 'code': '522328' + } + ] + }, + { + 'name': '黔东南苗族侗族自治州', + 'code': '522600', + 'children': [ + { + 'name': '凯里市', + 'code': '522601' + }, + { + 'name': '黄平县', + 'code': '522622' + }, + { + 'name': '施秉县', + 'code': '522623' + }, + { + 'name': '三穗县', + 'code': '522624' + }, + { + 'name': '镇远县', + 'code': '522625' + }, + { + 'name': '岑巩县', + 'code': '522626' + }, + { + 'name': '天柱县', + 'code': '522627' + }, + { + 'name': '锦屏县', + 'code': '522628' + }, + { + 'name': '剑河县', + 'code': '522629' + }, + { + 'name': '台江县', + 'code': '522630' + }, + { + 'name': '黎平县', + 'code': '522631' + }, + { + 'name': '榕江县', + 'code': '522632' + }, + { + 'name': '从江县', + 'code': '522633' + }, + { + 'name': '雷山县', + 'code': '522634' + }, + { + 'name': '麻江县', + 'code': '522635' + }, + { + 'name': '丹寨县', + 'code': '522636' + } + ] + }, + { + 'name': '黔南布依族苗族自治州', + 'code': '522700', + 'children': [ + { + 'name': '都匀市', + 'code': '522701' + }, + { + 'name': '福泉市', + 'code': '522702' + }, + { + 'name': '荔波县', + 'code': '522722' + }, + { + 'name': '贵定县', + 'code': '522723' + }, + { + 'name': '瓮安县', + 'code': '522725' + }, + { + 'name': '独山县', + 'code': '522726' + }, + { + 'name': '平塘县', + 'code': '522727' + }, + { + 'name': '罗甸县', + 'code': '522728' + }, + { + 'name': '长顺县', + 'code': '522729' + }, + { + 'name': '龙里县', + 'code': '522730' + }, + { + 'name': '惠水县', + 'code': '522731' + }, + { + 'name': '三都水族自治县', + 'code': '522732' + } + ] + } + ] + }, + { + 'name': '云南省', + 'code': '530000', + 'region': 'southwest', + 'children': [ + { + 'name': '昆明市', + 'code': '530100', + 'children': [ + { + 'name': '五华区', + 'code': '530102' + }, + { + 'name': '盘龙区', + 'code': '530103' + }, + { + 'name': '官渡区', + 'code': '530111' + }, + { + 'name': '西山区', + 'code': '530112' + }, + { + 'name': '东川区', + 'code': '530113' + }, + { + 'name': '呈贡区', + 'code': '530114' + }, + { + 'name': '晋宁区', + 'code': '530115' + }, + { + 'name': '富民县', + 'code': '530124' + }, + { + 'name': '宜良县', + 'code': '530125' + }, + { + 'name': '石林彝族自治县', + 'code': '530126' + }, + { + 'name': '嵩明县', + 'code': '530127' + }, + { + 'name': '禄劝彝族苗族自治县', + 'code': '530128' + }, + { + 'name': '寻甸回族彝族自治县', + 'code': '530129' + }, + { + 'name': '安宁市', + 'code': '530181' + } + ] + }, + { + 'name': '曲靖市', + 'code': '530300', + 'children': [ + { + 'name': '麒麟区', + 'code': '530302' + }, + { + 'name': '沾益区', + 'code': '530303' + }, + { + 'name': '马龙区', + 'code': '530304' + }, + { + 'name': '陆良县', + 'code': '530322' + }, + { + 'name': '师宗县', + 'code': '530323' + }, + { + 'name': '罗平县', + 'code': '530324' + }, + { + 'name': '富源县', + 'code': '530325' + }, + { + 'name': '会泽县', + 'code': '530326' + }, + { + 'name': '宣威市', + 'code': '530381' + } + ] + }, + { + 'name': '玉溪市', + 'code': '530400', + 'children': [ + { + 'name': '红塔区', + 'code': '530402' + }, + { + 'name': '江川区', + 'code': '530403' + }, + { + 'name': '澄江县', + 'code': '530422' + }, + { + 'name': '通海县', + 'code': '530423' + }, + { + 'name': '华宁县', + 'code': '530424' + }, + { + 'name': '易门县', + 'code': '530425' + }, + { + 'name': '峨山彝族自治县', + 'code': '530426' + }, + { + 'name': '新平彝族傣族自治县', + 'code': '530427' + }, + { + 'name': '元江哈尼族彝族傣族自治县', + 'code': '530428' + } + ] + }, + { + 'name': '保山市', + 'code': '530500', + 'children': [ + { + 'name': '隆阳区', + 'code': '530502' + }, + { + 'name': '施甸县', + 'code': '530521' + }, + { + 'name': '龙陵县', + 'code': '530523' + }, + { + 'name': '昌宁县', + 'code': '530524' + }, + { + 'name': '腾冲市', + 'code': '530581' + } + ] + }, + { + 'name': '昭通市', + 'code': '530600', + 'children': [ + { + 'name': '昭阳区', + 'code': '530602' + }, + { + 'name': '鲁甸县', + 'code': '530621' + }, + { + 'name': '巧家县', + 'code': '530622' + }, + { + 'name': '盐津县', + 'code': '530623' + }, + { + 'name': '大关县', + 'code': '530624' + }, + { + 'name': '永善县', + 'code': '530625' + }, + { + 'name': '绥江县', + 'code': '530626' + }, + { + 'name': '镇雄县', + 'code': '530627' + }, + { + 'name': '彝良县', + 'code': '530628' + }, + { + 'name': '威信县', + 'code': '530629' + }, + { + 'name': '水富市', + 'code': '530681' + } + ] + }, + { + 'name': '丽江市', + 'code': '530700', + 'children': [ + { + 'name': '古城区', + 'code': '530702' + }, + { + 'name': '玉龙纳西族自治县', + 'code': '530721' + }, + { + 'name': '永胜县', + 'code': '530722' + }, + { + 'name': '华坪县', + 'code': '530723' + }, + { + 'name': '宁蒗彝族自治县', + 'code': '530724' + } + ] + }, + { + 'name': '普洱市', + 'code': '530800', + 'children': [ + { + 'name': '思茅区', + 'code': '530802' + }, + { + 'name': '宁洱哈尼族彝族自治县', + 'code': '530821' + }, + { + 'name': '墨江哈尼族自治县', + 'code': '530822' + }, + { + 'name': '景东彝族自治县', + 'code': '530823' + }, + { + 'name': '景谷傣族彝族自治县', + 'code': '530824' + }, + { + 'name': '镇沅彝族哈尼族拉祜族自治县', + 'code': '530825' + }, + { + 'name': '江城哈尼族彝族自治县', + 'code': '530826' + }, + { + 'name': '孟连傣族拉祜族佤族自治县', + 'code': '530827' + }, + { + 'name': '澜沧拉祜族自治县', + 'code': '530828' + }, + { + 'name': '西盟佤族自治县', + 'code': '530829' + } + ] + }, + { + 'name': '临沧市', + 'code': '530900', + 'children': [ + { + 'name': '临翔区', + 'code': '530902' + }, + { + 'name': '凤庆县', + 'code': '530921' + }, + { + 'name': '云县', + 'code': '530922' + }, + { + 'name': '永德县', + 'code': '530923' + }, + { + 'name': '镇康县', + 'code': '530924' + }, + { + 'name': '双江拉祜族佤族布朗族傣族自治县', + 'code': '530925' + }, + { + 'name': '耿马傣族佤族自治县', + 'code': '530926' + }, + { + 'name': '沧源佤族自治县', + 'code': '530927' + } + ] + }, + { + 'name': '楚雄彝族自治州', + 'code': '532300', + 'children': [ + { + 'name': '楚雄市', + 'code': '532301' + }, + { + 'name': '双柏县', + 'code': '532322' + }, + { + 'name': '牟定县', + 'code': '532323' + }, + { + 'name': '南华县', + 'code': '532324' + }, + { + 'name': '姚安县', + 'code': '532325' + }, + { + 'name': '大姚县', + 'code': '532326' + }, + { + 'name': '永仁县', + 'code': '532327' + }, + { + 'name': '元谋县', + 'code': '532328' + }, + { + 'name': '武定县', + 'code': '532329' + }, + { + 'name': '禄丰县', + 'code': '532331' + } + ] + }, + { + 'name': '红河哈尼族彝族自治州', + 'code': '532500', + 'children': [ + { + 'name': '个旧市', + 'code': '532501' + }, + { + 'name': '开远市', + 'code': '532502' + }, + { + 'name': '蒙自市', + 'code': '532503' + }, + { + 'name': '弥勒市', + 'code': '532504' + }, + { + 'name': '屏边苗族自治县', + 'code': '532523' + }, + { + 'name': '建水县', + 'code': '532524' + }, + { + 'name': '石屏县', + 'code': '532525' + }, + { + 'name': '泸西县', + 'code': '532527' + }, + { + 'name': '元阳县', + 'code': '532528' + }, + { + 'name': '红河县', + 'code': '532529' + }, + { + 'name': '金平苗族瑶族傣族自治县', + 'code': '532530' + }, + { + 'name': '绿春县', + 'code': '532531' + }, + { + 'name': '河口瑶族自治县', + 'code': '532532' + } + ] + }, + { + 'name': '文山壮族苗族自治州', + 'code': '532600', + 'children': [ + { + 'name': '文山市', + 'code': '532601' + }, + { + 'name': '砚山县', + 'code': '532622' + }, + { + 'name': '西畴县', + 'code': '532623' + }, + { + 'name': '麻栗坡县', + 'code': '532624' + }, + { + 'name': '马关县', + 'code': '532625' + }, + { + 'name': '丘北县', + 'code': '532626' + }, + { + 'name': '广南县', + 'code': '532627' + }, + { + 'name': '富宁县', + 'code': '532628' + } + ] + }, + { + 'name': '西双版纳傣族自治州', + 'code': '532800', + 'children': [ + { + 'name': '景洪市', + 'code': '532801' + }, + { + 'name': '勐海县', + 'code': '532822' + }, + { + 'name': '勐腊县', + 'code': '532823' + } + ] + }, + { + 'name': '大理白族自治州', + 'code': '532900', + 'children': [ + { + 'name': '大理市', + 'code': '532901' + }, + { + 'name': '漾濞彝族自治县', + 'code': '532922' + }, + { + 'name': '祥云县', + 'code': '532923' + }, + { + 'name': '宾川县', + 'code': '532924' + }, + { + 'name': '弥渡县', + 'code': '532925' + }, + { + 'name': '南涧彝族自治县', + 'code': '532926' + }, + { + 'name': '巍山彝族回族自治县', + 'code': '532927' + }, + { + 'name': '永平县', + 'code': '532928' + }, + { + 'name': '云龙县', + 'code': '532929' + }, + { + 'name': '洱源县', + 'code': '532930' + }, + { + 'name': '剑川县', + 'code': '532931' + }, + { + 'name': '鹤庆县', + 'code': '532932' + } + ] + }, + { + 'name': '德宏傣族景颇族自治州', + 'code': '533100', + 'children': [ + { + 'name': '瑞丽市', + 'code': '533102' + }, + { + 'name': '芒市', + 'code': '533103' + }, + { + 'name': '梁河县', + 'code': '533122' + }, + { + 'name': '盈江县', + 'code': '533123' + }, + { + 'name': '陇川县', + 'code': '533124' + } + ] + }, + { + 'name': '怒江傈僳族自治州', + 'code': '533300', + 'children': [ + { + 'name': '泸水市', + 'code': '533301' + }, + { + 'name': '福贡县', + 'code': '533323' + }, + { + 'name': '贡山独龙族怒族自治县', + 'code': '533324' + }, + { + 'name': '兰坪白族普米族自治县', + 'code': '533325' + } + ] + }, + { + 'name': '迪庆藏族自治州', + 'code': '533400', + 'children': [ + { + 'name': '香格里拉市', + 'code': '533401' + }, + { + 'name': '德钦县', + 'code': '533422' + }, + { + 'name': '维西傈僳族自治县', + 'code': '533423' + } + ] + } + ] + }, + { + 'name': '西藏自治区', + 'code': '540000', + 'region': 'southwest', + 'autonomousRegion': true, + 'children': [ + { + 'name': '拉萨市', + 'code': '540100', + 'children': [ + { + 'name': '城关区', + 'code': '540102' + }, + { + 'name': '堆龙德庆区', + 'code': '540103' + }, + { + 'name': '达孜区', + 'code': '540104' + }, + { + 'name': '林周县', + 'code': '540121' + }, + { + 'name': '当雄县', + 'code': '540122' + }, + { + 'name': '尼木县', + 'code': '540123' + }, + { + 'name': '曲水县', + 'code': '540124' + }, + { + 'name': '墨竹工卡县', + 'code': '540127' + } + ] + }, + { + 'name': '日喀则市', + 'code': '540200', + 'children': [ + { + 'name': '桑珠孜区', + 'code': '540202' + }, + { + 'name': '南木林县', + 'code': '540221' + }, + { + 'name': '江孜县', + 'code': '540222' + }, + { + 'name': '定日县', + 'code': '540223' + }, + { + 'name': '萨迦县', + 'code': '540224' + }, + { + 'name': '拉孜县', + 'code': '540225' + }, + { + 'name': '昂仁县', + 'code': '540226' + }, + { + 'name': '谢通门县', + 'code': '540227' + }, + { + 'name': '白朗县', + 'code': '540228' + }, + { + 'name': '仁布县', + 'code': '540229' + }, + { + 'name': '康马县', + 'code': '540230' + }, + { + 'name': '定结县', + 'code': '540231' + }, + { + 'name': '仲巴县', + 'code': '540232' + }, + { + 'name': '亚东县', + 'code': '540233' + }, + { + 'name': '吉隆县', + 'code': '540234' + }, + { + 'name': '聂拉木县', + 'code': '540235' + }, + { + 'name': '萨嘎县', + 'code': '540236' + }, + { + 'name': '岗巴县', + 'code': '540237' + } + ] + }, + { + 'name': '昌都市', + 'code': '540300', + 'children': [ + { + 'name': '卡若区', + 'code': '540302' + }, + { + 'name': '江达县', + 'code': '540321' + }, + { + 'name': '贡觉县', + 'code': '540322' + }, + { + 'name': '类乌齐县', + 'code': '540323' + }, + { + 'name': '丁青县', + 'code': '540324' + }, + { + 'name': '察雅县', + 'code': '540325' + }, + { + 'name': '八宿县', + 'code': '540326' + }, + { + 'name': '左贡县', + 'code': '540327' + }, + { + 'name': '芒康县', + 'code': '540328' + }, + { + 'name': '洛隆县', + 'code': '540329' + }, + { + 'name': '边坝县', + 'code': '540330' + } + ] + }, + { + 'name': '林芝市', + 'code': '540400', + 'children': [ + { + 'name': '巴宜区', + 'code': '540402' + }, + { + 'name': '工布江达县', + 'code': '540421' + }, + { + 'name': '米林县', + 'code': '540422' + }, + { + 'name': '墨脱县', + 'code': '540423' + }, + { + 'name': '波密县', + 'code': '540424' + }, + { + 'name': '察隅县', + 'code': '540425' + }, + { + 'name': '朗县', + 'code': '540426' + } + ] + }, + { + 'name': '山南市', + 'code': '540500', + 'children': [ + { + 'name': '乃东区', + 'code': '540502' + }, + { + 'name': '扎囊县', + 'code': '540521' + }, + { + 'name': '贡嘎县', + 'code': '540522' + }, + { + 'name': '桑日县', + 'code': '540523' + }, + { + 'name': '琼结县', + 'code': '540524' + }, + { + 'name': '曲松县', + 'code': '540525' + }, + { + 'name': '措美县', + 'code': '540526' + }, + { + 'name': '洛扎县', + 'code': '540527' + }, + { + 'name': '加查县', + 'code': '540528' + }, + { + 'name': '隆子县', + 'code': '540529' + }, + { + 'name': '错那县', + 'code': '540530' + }, + { + 'name': '浪卡子县', + 'code': '540531' + } + ] + }, + { + 'name': '那曲市', + 'code': '540600', + 'children': [ + { + 'name': '色尼区', + 'code': '540602' + }, + { + 'name': '嘉黎县', + 'code': '540621' + }, + { + 'name': '比如县', + 'code': '540622' + }, + { + 'name': '聂荣县', + 'code': '540623' + }, + { + 'name': '安多县', + 'code': '540624' + }, + { + 'name': '申扎县', + 'code': '540625' + }, + { + 'name': '索县', + 'code': '540626' + }, + { + 'name': '班戈县', + 'code': '540627' + }, + { + 'name': '巴青县', + 'code': '540628' + }, + { + 'name': '尼玛县', + 'code': '540629' + }, + { + 'name': '双湖县', + 'code': '540630' + } + ] + }, + { + 'name': '阿里地区', + 'code': '542500', + 'children': [ + { + 'name': '普兰县', + 'code': '542521' + }, + { + 'name': '札达县', + 'code': '542522' + }, + { + 'name': '噶尔县', + 'code': '542523' + }, + { + 'name': '日土县', + 'code': '542524' + }, + { + 'name': '革吉县', + 'code': '542525' + }, + { + 'name': '改则县', + 'code': '542526' + }, + { + 'name': '措勤县', + 'code': '542527' + } + ] + } + ] + }, + { + 'name': '陕西省', + 'code': '610000', + 'region': 'northwest', + 'children': [ + { + 'name': '西安市', + 'code': '610100', + 'children': [ + { + 'name': '新城区', + 'code': '610102' + }, + { + 'name': '碑林区', + 'code': '610103' + }, + { + 'name': '莲湖区', + 'code': '610104' + }, + { + 'name': '灞桥区', + 'code': '610111' + }, + { + 'name': '未央区', + 'code': '610112' + }, + { + 'name': '雁塔区', + 'code': '610113' + }, + { + 'name': '阎良区', + 'code': '610114' + }, + { + 'name': '临潼区', + 'code': '610115' + }, + { + 'name': '长安区', + 'code': '610116' + }, + { + 'name': '高陵区', + 'code': '610117' + }, + { + 'name': '鄠邑区', + 'code': '610118' + }, + { + 'name': '蓝田县', + 'code': '610122' + }, + { + 'name': '周至县', + 'code': '610124' + } + ] + }, + { + 'name': '铜川市', + 'code': '610200', + 'children': [ + { + 'name': '王益区', + 'code': '610202' + }, + { + 'name': '印台区', + 'code': '610203' + }, + { + 'name': '耀州区', + 'code': '610204' + }, + { + 'name': '宜君县', + 'code': '610222' + } + ] + }, + { + 'name': '宝鸡市', + 'code': '610300', + 'children': [ + { + 'name': '渭滨区', + 'code': '610302' + }, + { + 'name': '金台区', + 'code': '610303' + }, + { + 'name': '陈仓区', + 'code': '610304' + }, + { + 'name': '凤翔县', + 'code': '610322' + }, + { + 'name': '岐山县', + 'code': '610323' + }, + { + 'name': '扶风县', + 'code': '610324' + }, + { + 'name': '眉县', + 'code': '610326' + }, + { + 'name': '陇县', + 'code': '610327' + }, + { + 'name': '千阳县', + 'code': '610328' + }, + { + 'name': '麟游县', + 'code': '610329' + }, + { + 'name': '凤县', + 'code': '610330' + }, + { + 'name': '太白县', + 'code': '610331' + } + ] + }, + { + 'name': '咸阳市', + 'code': '610400', + 'children': [ + { + 'name': '秦都区', + 'code': '610402' + }, + { + 'name': '杨陵区', + 'code': '610403' + }, + { + 'name': '渭城区', + 'code': '610404' + }, + { + 'name': '三原县', + 'code': '610422' + }, + { + 'name': '泾阳县', + 'code': '610423' + }, + { + 'name': '乾县', + 'code': '610424' + }, + { + 'name': '礼泉县', + 'code': '610425' + }, + { + 'name': '永寿县', + 'code': '610426' + }, + { + 'name': '长武县', + 'code': '610428' + }, + { + 'name': '旬邑县', + 'code': '610429' + }, + { + 'name': '淳化县', + 'code': '610430' + }, + { + 'name': '武功县', + 'code': '610431' + }, + { + 'name': '兴平市', + 'code': '610481' + }, + { + 'name': '彬州市', + 'code': '610482' + } + ] + }, + { + 'name': '渭南市', + 'code': '610500', + 'children': [ + { + 'name': '临渭区', + 'code': '610502' + }, + { + 'name': '华州区', + 'code': '610503' + }, + { + 'name': '潼关县', + 'code': '610522' + }, + { + 'name': '大荔县', + 'code': '610523' + }, + { + 'name': '合阳县', + 'code': '610524' + }, + { + 'name': '澄城县', + 'code': '610525' + }, + { + 'name': '蒲城县', + 'code': '610526' + }, + { + 'name': '白水县', + 'code': '610527' + }, + { + 'name': '富平县', + 'code': '610528' + }, + { + 'name': '韩城市', + 'code': '610581' + }, + { + 'name': '华阴市', + 'code': '610582' + } + ] + }, + { + 'name': '延安市', + 'code': '610600', + 'children': [ + { + 'name': '宝塔区', + 'code': '610602' + }, + { + 'name': '安塞区', + 'code': '610603' + }, + { + 'name': '延长县', + 'code': '610621' + }, + { + 'name': '延川县', + 'code': '610622' + }, + { + 'name': '子长县', + 'code': '610623' + }, + { + 'name': '志丹县', + 'code': '610625' + }, + { + 'name': '吴起县', + 'code': '610626' + }, + { + 'name': '甘泉县', + 'code': '610627' + }, + { + 'name': '富县', + 'code': '610628' + }, + { + 'name': '洛川县', + 'code': '610629' + }, + { + 'name': '宜川县', + 'code': '610630' + }, + { + 'name': '黄龙县', + 'code': '610631' + }, + { + 'name': '黄陵县', + 'code': '610632' + } + ] + }, + { + 'name': '汉中市', + 'code': '610700', + 'children': [ + { + 'name': '汉台区', + 'code': '610702' + }, + { + 'name': '南郑区', + 'code': '610703' + }, + { + 'name': '城固县', + 'code': '610722' + }, + { + 'name': '洋县', + 'code': '610723' + }, + { + 'name': '西乡县', + 'code': '610724' + }, + { + 'name': '勉县', + 'code': '610725' + }, + { + 'name': '宁强县', + 'code': '610726' + }, + { + 'name': '略阳县', + 'code': '610727' + }, + { + 'name': '镇巴县', + 'code': '610728' + }, + { + 'name': '留坝县', + 'code': '610729' + }, + { + 'name': '佛坪县', + 'code': '610730' + } + ] + }, + { + 'name': '榆林市', + 'code': '610800', + 'children': [ + { + 'name': '榆阳区', + 'code': '610802' + }, + { + 'name': '横山区', + 'code': '610803' + }, + { + 'name': '府谷县', + 'code': '610822' + }, + { + 'name': '靖边县', + 'code': '610824' + }, + { + 'name': '定边县', + 'code': '610825' + }, + { + 'name': '绥德县', + 'code': '610826' + }, + { + 'name': '米脂县', + 'code': '610827' + }, + { + 'name': '佳县', + 'code': '610828' + }, + { + 'name': '吴堡县', + 'code': '610829' + }, + { + 'name': '清涧县', + 'code': '610830' + }, + { + 'name': '子洲县', + 'code': '610831' + }, + { + 'name': '神木市', + 'code': '610881' + } + ] + }, + { + 'name': '安康市', + 'code': '610900', + 'children': [ + { + 'name': '汉滨区', + 'code': '610902' + }, + { + 'name': '汉阴县', + 'code': '610921' + }, + { + 'name': '石泉县', + 'code': '610922' + }, + { + 'name': '宁陕县', + 'code': '610923' + }, + { + 'name': '紫阳县', + 'code': '610924' + }, + { + 'name': '岚皋县', + 'code': '610925' + }, + { + 'name': '平利县', + 'code': '610926' + }, + { + 'name': '镇坪县', + 'code': '610927' + }, + { + 'name': '旬阳县', + 'code': '610928' + }, + { + 'name': '白河县', + 'code': '610929' + } + ] + }, + { + 'name': '商洛市', + 'code': '611000', + 'children': [ + { + 'name': '商州区', + 'code': '611002' + }, + { + 'name': '洛南县', + 'code': '611021' + }, + { + 'name': '丹凤县', + 'code': '611022' + }, + { + 'name': '商南县', + 'code': '611023' + }, + { + 'name': '山阳县', + 'code': '611024' + }, + { + 'name': '镇安县', + 'code': '611025' + }, + { + 'name': '柞水县', + 'code': '611026' + } + ] + } + ] + }, + { + 'name': '甘肃省', + 'code': '620000', + 'region': 'northwest', + 'children': [ + { + 'name': '兰州市', + 'code': '620100', + 'children': [ + { + 'name': '城关区', + 'code': '620102' + }, + { + 'name': '七里河区', + 'code': '620103' + }, + { + 'name': '西固区', + 'code': '620104' + }, + { + 'name': '安宁区', + 'code': '620105' + }, + { + 'name': '红古区', + 'code': '620111' + }, + { + 'name': '永登县', + 'code': '620121' + }, + { + 'name': '皋兰县', + 'code': '620122' + }, + { + 'name': '榆中县', + 'code': '620123' + } + ] + }, + { + 'name': '嘉峪关市', + 'code': '620200', + 'children': [ + { + 'name': '市辖区', + 'code': '620201' + } + ] + }, + { + 'name': '金昌市', + 'code': '620300', + 'children': [ + { + 'name': '金川区', + 'code': '620302' + }, + { + 'name': '永昌县', + 'code': '620321' + } + ] + }, + { + 'name': '白银市', + 'code': '620400', + 'children': [ + { + 'name': '白银区', + 'code': '620402' + }, + { + 'name': '平川区', + 'code': '620403' + }, + { + 'name': '靖远县', + 'code': '620421' + }, + { + 'name': '会宁县', + 'code': '620422' + }, + { + 'name': '景泰县', + 'code': '620423' + } + ] + }, + { + 'name': '天水市', + 'code': '620500', + 'children': [ + { + 'name': '秦州区', + 'code': '620502' + }, + { + 'name': '麦积区', + 'code': '620503' + }, + { + 'name': '清水县', + 'code': '620521' + }, + { + 'name': '秦安县', + 'code': '620522' + }, + { + 'name': '甘谷县', + 'code': '620523' + }, + { + 'name': '武山县', + 'code': '620524' + }, + { + 'name': '张家川回族自治县', + 'code': '620525' + } + ] + }, + { + 'name': '武威市', + 'code': '620600', + 'children': [ + { + 'name': '凉州区', + 'code': '620602' + }, + { + 'name': '民勤县', + 'code': '620621' + }, + { + 'name': '古浪县', + 'code': '620622' + }, + { + 'name': '天祝藏族自治县', + 'code': '620623' + } + ] + }, + { + 'name': '张掖市', + 'code': '620700', + 'children': [ + { + 'name': '甘州区', + 'code': '620702' + }, + { + 'name': '肃南裕固族自治县', + 'code': '620721' + }, + { + 'name': '民乐县', + 'code': '620722' + }, + { + 'name': '临泽县', + 'code': '620723' + }, + { + 'name': '高台县', + 'code': '620724' + }, + { + 'name': '山丹县', + 'code': '620725' + } + ] + }, + { + 'name': '平凉市', + 'code': '620800', + 'children': [ + { + 'name': '崆峒区', + 'code': '620802' + }, + { + 'name': '泾川县', + 'code': '620821' + }, + { + 'name': '灵台县', + 'code': '620822' + }, + { + 'name': '崇信县', + 'code': '620823' + }, + { + 'name': '庄浪县', + 'code': '620825' + }, + { + 'name': '静宁县', + 'code': '620826' + }, + { + 'name': '华亭市', + 'code': '620881' + } + ] + }, + { + 'name': '酒泉市', + 'code': '620900', + 'children': [ + { + 'name': '肃州区', + 'code': '620902' + }, + { + 'name': '金塔县', + 'code': '620921' + }, + { + 'name': '瓜州县', + 'code': '620922' + }, + { + 'name': '肃北蒙古族自治县', + 'code': '620923' + }, + { + 'name': '阿克塞哈萨克族自治县', + 'code': '620924' + }, + { + 'name': '玉门市', + 'code': '620981' + }, + { + 'name': '敦煌市', + 'code': '620982' + } + ] + }, + { + 'name': '庆阳市', + 'code': '621000', + 'children': [ + { + 'name': '西峰区', + 'code': '621002' + }, + { + 'name': '庆城县', + 'code': '621021' + }, + { + 'name': '环县', + 'code': '621022' + }, + { + 'name': '华池县', + 'code': '621023' + }, + { + 'name': '合水县', + 'code': '621024' + }, + { + 'name': '正宁县', + 'code': '621025' + }, + { + 'name': '宁县', + 'code': '621026' + }, + { + 'name': '镇原县', + 'code': '621027' + } + ] + }, + { + 'name': '定西市', + 'code': '621100', + 'children': [ + { + 'name': '安定区', + 'code': '621102' + }, + { + 'name': '通渭县', + 'code': '621121' + }, + { + 'name': '陇西县', + 'code': '621122' + }, + { + 'name': '渭源县', + 'code': '621123' + }, + { + 'name': '临洮县', + 'code': '621124' + }, + { + 'name': '漳县', + 'code': '621125' + }, + { + 'name': '岷县', + 'code': '621126' + } + ] + }, + { + 'name': '陇南市', + 'code': '621200', + 'children': [ + { + 'name': '武都区', + 'code': '621202' + }, + { + 'name': '成县', + 'code': '621221' + }, + { + 'name': '文县', + 'code': '621222' + }, + { + 'name': '宕昌县', + 'code': '621223' + }, + { + 'name': '康县', + 'code': '621224' + }, + { + 'name': '西和县', + 'code': '621225' + }, + { + 'name': '礼县', + 'code': '621226' + }, + { + 'name': '徽县', + 'code': '621227' + }, + { + 'name': '两当县', + 'code': '621228' + } + ] + }, + { + 'name': '临夏回族自治州', + 'code': '622900', + 'children': [ + { + 'name': '临夏市', + 'code': '622901' + }, + { + 'name': '临夏县', + 'code': '622921' + }, + { + 'name': '康乐县', + 'code': '622922' + }, + { + 'name': '永靖县', + 'code': '622923' + }, + { + 'name': '广河县', + 'code': '622924' + }, + { + 'name': '和政县', + 'code': '622925' + }, + { + 'name': '东乡族自治县', + 'code': '622926' + }, + { + 'name': '积石山保安族东乡族撒拉族自治县', + 'code': '622927' + } + ] + }, + { + 'name': '甘南藏族自治州', + 'code': '623000', + 'children': [ + { + 'name': '合作市', + 'code': '623001' + }, + { + 'name': '临潭县', + 'code': '623021' + }, + { + 'name': '卓尼县', + 'code': '623022' + }, + { + 'name': '舟曲县', + 'code': '623023' + }, + { + 'name': '迭部县', + 'code': '623024' + }, + { + 'name': '玛曲县', + 'code': '623025' + }, + { + 'name': '碌曲县', + 'code': '623026' + }, + { + 'name': '夏河县', + 'code': '623027' + } + ] + } + ] + }, + { + 'name': '青海省', + 'code': '630000', + 'region': 'northwest', + 'children': [ + { + 'name': '西宁市', + 'code': '630100', + 'children': [ + { + 'name': '城东区', + 'code': '630102' + }, + { + 'name': '城中区', + 'code': '630103' + }, + { + 'name': '城西区', + 'code': '630104' + }, + { + 'name': '城北区', + 'code': '630105' + }, + { + 'name': '大通回族土族自治县', + 'code': '630121' + }, + { + 'name': '湟中县', + 'code': '630122' + }, + { + 'name': '湟源县', + 'code': '630123' + } + ] + }, + { + 'name': '海东市', + 'code': '630200', + 'children': [ + { + 'name': '乐都区', + 'code': '630202' + }, + { + 'name': '平安区', + 'code': '630203' + }, + { + 'name': '民和回族土族自治县', + 'code': '630222' + }, + { + 'name': '互助土族自治县', + 'code': '630223' + }, + { + 'name': '化隆回族自治县', + 'code': '630224' + }, + { + 'name': '循化撒拉族自治县', + 'code': '630225' + } + ] + }, + { + 'name': '海北藏族自治州', + 'code': '632200', + 'children': [ + { + 'name': '门源回族自治县', + 'code': '632221' + }, + { + 'name': '祁连县', + 'code': '632222' + }, + { + 'name': '海晏县', + 'code': '632223' + }, + { + 'name': '刚察县', + 'code': '632224' + } + ] + }, + { + 'name': '黄南藏族自治州', + 'code': '632300', + 'children': [ + { + 'name': '同仁县', + 'code': '632321' + }, + { + 'name': '尖扎县', + 'code': '632322' + }, + { + 'name': '泽库县', + 'code': '632323' + }, + { + 'name': '河南蒙古族自治县', + 'code': '632324' + } + ] + }, + { + 'name': '海南藏族自治州', + 'code': '632500', + 'children': [ + { + 'name': '共和县', + 'code': '632521' + }, + { + 'name': '同德县', + 'code': '632522' + }, + { + 'name': '贵德县', + 'code': '632523' + }, + { + 'name': '兴海县', + 'code': '632524' + }, + { + 'name': '贵南县', + 'code': '632525' + } + ] + }, + { + 'name': '果洛藏族自治州', + 'code': '632600', + 'children': [ + { + 'name': '玛沁县', + 'code': '632621' + }, + { + 'name': '班玛县', + 'code': '632622' + }, + { + 'name': '甘德县', + 'code': '632623' + }, + { + 'name': '达日县', + 'code': '632624' + }, + { + 'name': '久治县', + 'code': '632625' + }, + { + 'name': '玛多县', + 'code': '632626' + } + ] + }, + { + 'name': '玉树藏族自治州', + 'code': '632700', + 'children': [ + { + 'name': '玉树市', + 'code': '632701' + }, + { + 'name': '杂多县', + 'code': '632722' + }, + { + 'name': '称多县', + 'code': '632723' + }, + { + 'name': '治多县', + 'code': '632724' + }, + { + 'name': '囊谦县', + 'code': '632725' + }, + { + 'name': '曲麻莱县', + 'code': '632726' + } + ] + }, + { + 'name': '海西蒙古族藏族自治州', + 'code': '632800', + 'children': [ + { + 'name': '格尔木市', + 'code': '632801' + }, + { + 'name': '德令哈市', + 'code': '632802' + }, + { + 'name': '茫崖市', + 'code': '632803' + }, + { + 'name': '乌兰县', + 'code': '632821' + }, + { + 'name': '都兰县', + 'code': '632822' + }, + { + 'name': '天峻县', + 'code': '632823' + } + ] + } + ] + }, + { + 'name': '宁夏回族自治区', + 'code': '640000', + 'region': 'northwest', + 'autonomousRegion': true, + 'children': [ + { + 'name': '银川市', + 'code': '640100', + 'children': [ + { + 'name': '兴庆区', + 'code': '640104' + }, + { + 'name': '西夏区', + 'code': '640105' + }, + { + 'name': '金凤区', + 'code': '640106' + }, + { + 'name': '永宁县', + 'code': '640121' + }, + { + 'name': '贺兰县', + 'code': '640122' + }, + { + 'name': '灵武市', + 'code': '640181' + } + ] + }, + { + 'name': '石嘴山市', + 'code': '640200', + 'children': [ + { + 'name': '大武口区', + 'code': '640202' + }, + { + 'name': '惠农区', + 'code': '640205' + }, + { + 'name': '平罗县', + 'code': '640221' + } + ] + }, + { + 'name': '吴忠市', + 'code': '640300', + 'children': [ + { + 'name': '利通区', + 'code': '640302' + }, + { + 'name': '红寺堡区', + 'code': '640303' + }, + { + 'name': '盐池县', + 'code': '640323' + }, + { + 'name': '同心县', + 'code': '640324' + }, + { + 'name': '青铜峡市', + 'code': '640381' + } + ] + }, + { + 'name': '固原市', + 'code': '640400', + 'children': [ + { + 'name': '原州区', + 'code': '640402' + }, + { + 'name': '西吉县', + 'code': '640422' + }, + { + 'name': '隆德县', + 'code': '640423' + }, + { + 'name': '泾源县', + 'code': '640424' + }, + { + 'name': '彭阳县', + 'code': '640425' + } + ] + }, + { + 'name': '中卫市', + 'code': '640500', + 'children': [ + { + 'name': '沙坡头区', + 'code': '640502' + }, + { + 'name': '中宁县', + 'code': '640521' + }, + { + 'name': '海原县', + 'code': '640522' + } + ] + } + ] + }, + { + 'name': '新疆维吾尔自治区', + 'code': '650000', + 'region': 'northwest', + 'autonomousRegion': true, + 'children': [ + { + 'name': '乌鲁木齐市', + 'code': '650100', + 'children': [ + { + 'name': '天山区', + 'code': '650102' + }, + { + 'name': '沙依巴克区', + 'code': '650103' + }, + { + 'name': '新市区', + 'code': '650104' + }, + { + 'name': '水磨沟区', + 'code': '650105' + }, + { + 'name': '头屯河区', + 'code': '650106' + }, + { + 'name': '达坂城区', + 'code': '650107' + }, + { + 'name': '米东区', + 'code': '650109' + }, + { + 'name': '乌鲁木齐县', + 'code': '650121' + } + ] + }, + { + 'name': '克拉玛依市', + 'code': '650200', + 'children': [ + { + 'name': '独山子区', + 'code': '650202' + }, + { + 'name': '克拉玛依区', + 'code': '650203' + }, + { + 'name': '白碱滩区', + 'code': '650204' + }, + { + 'name': '乌尔禾区', + 'code': '650205' + } + ] + }, + { + 'name': '吐鲁番市', + 'code': '650400', + 'children': [ + { + 'name': '高昌区', + 'code': '650402' + }, + { + 'name': '鄯善县', + 'code': '650421' + }, + { + 'name': '托克逊县', + 'code': '650422' + } + ] + }, + { + 'name': '哈密市', + 'code': '650500', + 'children': [ + { + 'name': '伊州区', + 'code': '650502' + }, + { + 'name': '巴里坤哈萨克自治县', + 'code': '650521' + }, + { + 'name': '伊吾县', + 'code': '650522' + } + ] + }, + { + 'name': '昌吉回族自治州', + 'code': '652300', + 'children': [ + { + 'name': '昌吉市', + 'code': '652301' + }, + { + 'name': '阜康市', + 'code': '652302' + }, + { + 'name': '呼图壁县', + 'code': '652323' + }, + { + 'name': '玛纳斯县', + 'code': '652324' + }, + { + 'name': '奇台县', + 'code': '652325' + }, + { + 'name': '吉木萨尔县', + 'code': '652327' + }, + { + 'name': '木垒哈萨克自治县', + 'code': '652328' + } + ] + }, + { + 'name': '博尔塔拉蒙古自治州', + 'code': '652700', + 'children': [ + { + 'name': '博乐市', + 'code': '652701' + }, + { + 'name': '阿拉山口市', + 'code': '652702' + }, + { + 'name': '精河县', + 'code': '652722' + }, + { + 'name': '温泉县', + 'code': '652723' + } + ] + }, + { + 'name': '巴音郭楞蒙古自治州', + 'code': '652800', + 'children': [ + { + 'name': '库尔勒市', + 'code': '652801' + }, + { + 'name': '轮台县', + 'code': '652822' + }, + { + 'name': '尉犁县', + 'code': '652823' + }, + { + 'name': '若羌县', + 'code': '652824' + }, + { + 'name': '且末县', + 'code': '652825' + }, + { + 'name': '焉耆回族自治县', + 'code': '652826' + }, + { + 'name': '和静县', + 'code': '652827' + }, + { + 'name': '和硕县', + 'code': '652828' + }, + { + 'name': '博湖县', + 'code': '652829' + } + ] + }, + { + 'name': '阿克苏地区', + 'code': '652900', + 'children': [ + { + 'name': '阿克苏市', + 'code': '652901' + }, + { + 'name': '温宿县', + 'code': '652922' + }, + { + 'name': '库车县', + 'code': '652923' + }, + { + 'name': '沙雅县', + 'code': '652924' + }, + { + 'name': '新和县', + 'code': '652925' + }, + { + 'name': '拜城县', + 'code': '652926' + }, + { + 'name': '乌什县', + 'code': '652927' + }, + { + 'name': '阿瓦提县', + 'code': '652928' + }, + { + 'name': '柯坪县', + 'code': '652929' + } + ] + }, + { + 'name': '克孜勒苏柯尔克孜自治州', + 'code': '653000', + 'children': [ + { + 'name': '阿图什市', + 'code': '653001' + }, + { + 'name': '阿克陶县', + 'code': '653022' + }, + { + 'name': '阿合奇县', + 'code': '653023' + }, + { + 'name': '乌恰县', + 'code': '653024' + } + ] + }, + { + 'name': '喀什地区', + 'code': '653100', + 'children': [ + { + 'name': '喀什市', + 'code': '653101' + }, + { + 'name': '疏附县', + 'code': '653121' + }, + { + 'name': '疏勒县', + 'code': '653122' + }, + { + 'name': '英吉沙县', + 'code': '653123' + }, + { + 'name': '泽普县', + 'code': '653124' + }, + { + 'name': '莎车县', + 'code': '653125' + }, + { + 'name': '叶城县', + 'code': '653126' + }, + { + 'name': '麦盖提县', + 'code': '653127' + }, + { + 'name': '岳普湖县', + 'code': '653128' + }, + { + 'name': '伽师县', + 'code': '653129' + }, + { + 'name': '巴楚县', + 'code': '653130' + }, + { + 'name': '塔什库尔干塔吉克自治县', + 'code': '653131' + } + ] + }, + { + 'name': '和田地区', + 'code': '653200', + 'children': [ + { + 'name': '和田市', + 'code': '653201' + }, + { + 'name': '和田县', + 'code': '653221' + }, + { + 'name': '墨玉县', + 'code': '653222' + }, + { + 'name': '皮山县', + 'code': '653223' + }, + { + 'name': '洛浦县', + 'code': '653224' + }, + { + 'name': '策勒县', + 'code': '653225' + }, + { + 'name': '于田县', + 'code': '653226' + }, + { + 'name': '民丰县', + 'code': '653227' + } + ] + }, + { + 'name': '伊犁哈萨克自治州', + 'code': '654000', + 'children': [ + { + 'name': '伊宁市', + 'code': '654002' + }, + { + 'name': '奎屯市', + 'code': '654003' + }, + { + 'name': '霍尔果斯市', + 'code': '654004' + }, + { + 'name': '伊宁县', + 'code': '654021' + }, + { + 'name': '察布查尔锡伯自治县', + 'code': '654022' + }, + { + 'name': '霍城县', + 'code': '654023' + }, + { + 'name': '巩留县', + 'code': '654024' + }, + { + 'name': '新源县', + 'code': '654025' + }, + { + 'name': '昭苏县', + 'code': '654026' + }, + { + 'name': '特克斯县', + 'code': '654027' + }, + { + 'name': '尼勒克县', + 'code': '654028' + } + ] + }, + { + 'name': '塔城地区', + 'code': '654200', + 'children': [ + { + 'name': '塔城市', + 'code': '654201' + }, + { + 'name': '乌苏市', + 'code': '654202' + }, + { + 'name': '额敏县', + 'code': '654221' + }, + { + 'name': '沙湾县', + 'code': '654223' + }, + { + 'name': '托里县', + 'code': '654224' + }, + { + 'name': '裕民县', + 'code': '654225' + }, + { + 'name': '和布克赛尔蒙古自治县', + 'code': '654226' + } + ] + }, + { + 'name': '阿勒泰地区', + 'code': '654300', + 'children': [ + { + 'name': '阿勒泰市', + 'code': '654301' + }, + { + 'name': '布尔津县', + 'code': '654321' + }, + { + 'name': '富蕴县', + 'code': '654322' + }, + { + 'name': '福海县', + 'code': '654323' + }, + { + 'name': '哈巴河县', + 'code': '654324' + }, + { + 'name': '青河县', + 'code': '654325' + }, + { + 'name': '吉木乃县', + 'code': '654326' + } + ] + }, + { + 'name': '直辖县', + 'code': '659000', + 'children': [ + { + 'name': '石河子市', + 'code': '659001' + }, + { + 'name': '阿拉尔市', + 'code': '659002' + }, + { + 'name': '图木舒克市', + 'code': '659003' + }, + { + 'name': '五家渠市', + 'code': '659004' + }, + { + 'name': '北屯市', + 'code': '659005' + }, + { + 'name': '铁门关市', + 'code': '659006' + }, + { + 'name': '双河市', + 'code': '659007' + }, + { + 'name': '可克达拉市', + 'code': '659008' + }, + { + 'name': '昆玉市', + 'code': '659009' + } + ] + } + ] + } +] + +export default area diff --git a/src/util/directive.js b/src/util/directive.js new file mode 100644 index 00000000..9a144882 --- /dev/null +++ b/src/util/directive.js @@ -0,0 +1,19 @@ +import { auth, authAll } from '@/util' + +export default function directive(app) { + // 注册 v-auth 和 v-auth-all 指令 + app.directive('auth', { + mounted: (el, binding) => { + if (!auth(binding.value)) { + el.remove() + } + } + }) + app.directive('auth-all', { + mounted: (el, binding) => { + if (!authAll(binding.value)) { + el.remove() + } + } + }) +} diff --git a/src/util/global.properties.js b/src/util/global.properties.js new file mode 100644 index 00000000..cb30de53 --- /dev/null +++ b/src/util/global.properties.js @@ -0,0 +1,20 @@ +import api from '@/api' +import { auth, authAll } from '@/util' +import dayjs from 'dayjs' +import 'dayjs/locale/zh-cn' +import Cookies from 'js-cookie' +import hotkeys from 'hotkeys-js' +import mitt from 'mitt' + +export default function globalProperties(app) { + // 请求 + app.config.globalProperties.$api = api + // 鉴权 + app.config.globalProperties.$auth = auth + app.config.globalProperties.$authAll = authAll + dayjs.locale('zh-cn') + app.config.globalProperties.$dayjs = dayjs + app.config.globalProperties.$cookies = Cookies + app.config.globalProperties.$hotkeys = hotkeys + app.config.globalProperties.$eventBus = mitt() +} diff --git a/src/util/index.js b/src/util/index.js new file mode 100644 index 00000000..b9557c88 --- /dev/null +++ b/src/util/index.js @@ -0,0 +1,63 @@ +import store from '@/store' + +export function deepClone(target) { + // 定义一个变量 + let result + // 如果当前需要深拷贝的是一个对象的话 + if (typeof target === 'object') { + // 如果是一个数组的话 + if (Array.isArray(target)) { + result = [] // 将result赋值为一个数组,并且执行遍历 + for (let i in target) { + // 递归克隆数组中的每一项 + result.push(deepClone(target[i])) + } + // 判断如果当前的值是null的话;直接赋值为null + } else if (target === null) { + result = null + // 判断如果当前的值是一个RegExp对象的话,直接赋值 + } else if (target.constructor === RegExp) { + result = target + } else { + // 否则是普通对象,直接for in循环,递归赋值对象的所有值 + result = {} + for (let i in target) { + result[i] = deepClone(target[i]) + } + } + // 如果不是对象的话,就是基本数据类型,那么直接赋值 + } else { + result = target + } + // 返回最终结果 + return result +} + +function hasPermission(permission) { + if (store.state.settings.enablePermission) { + return store.state.user.permissions.some(v => { + return v === permission + }) + } else { + return true + } +} + +export function auth(value) { + let auth + if (typeof value === 'string') { + auth = hasPermission(value) + } else { + auth = value.some(item => { + return hasPermission(item) + }) + } + return auth +} + +export function authAll(value) { + const auth = value.every(item => { + return hasPermission(item) + }) + return auth +} diff --git a/src/views/404.vue b/src/views/404.vue new file mode 100644 index 00000000..785f8704 --- /dev/null +++ b/src/views/404.vue @@ -0,0 +1,65 @@ + + + + + diff --git a/src/views/breadcrumb_example/detail1.vue b/src/views/breadcrumb_example/detail1.vue new file mode 100644 index 00000000..b5583c8a --- /dev/null +++ b/src/views/breadcrumb_example/detail1.vue @@ -0,0 +1,7 @@ + diff --git a/src/views/breadcrumb_example/detail2.vue b/src/views/breadcrumb_example/detail2.vue new file mode 100644 index 00000000..b5583c8a --- /dev/null +++ b/src/views/breadcrumb_example/detail2.vue @@ -0,0 +1,7 @@ + diff --git a/src/views/breadcrumb_example/list1.vue b/src/views/breadcrumb_example/list1.vue new file mode 100644 index 00000000..86dbedfd --- /dev/null +++ b/src/views/breadcrumb_example/list1.vue @@ -0,0 +1,5 @@ + diff --git a/src/views/breadcrumb_example/list2.vue b/src/views/breadcrumb_example/list2.vue new file mode 100644 index 00000000..d3adf91c --- /dev/null +++ b/src/views/breadcrumb_example/list2.vue @@ -0,0 +1,5 @@ + diff --git a/src/views/component_basic_example/button.vue b/src/views/component_basic_example/button.vue new file mode 100644 index 00000000..ea6c9880 --- /dev/null +++ b/src/views/component_basic_example/button.vue @@ -0,0 +1,115 @@ + + + + + diff --git a/src/views/component_basic_example/checkbox.vue b/src/views/component_basic_example/checkbox.vue new file mode 100644 index 00000000..5f914315 --- /dev/null +++ b/src/views/component_basic_example/checkbox.vue @@ -0,0 +1,61 @@ + + + diff --git a/src/views/component_basic_example/components/alert.vue b/src/views/component_basic_example/components/alert.vue new file mode 100644 index 00000000..c4c597a4 --- /dev/null +++ b/src/views/component_basic_example/components/alert.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/views/component_basic_example/datepicker.vue b/src/views/component_basic_example/datepicker.vue new file mode 100644 index 00000000..e0f0e3f8 --- /dev/null +++ b/src/views/component_basic_example/datepicker.vue @@ -0,0 +1,75 @@ + + + diff --git a/src/views/component_basic_example/datetimepicker.vue b/src/views/component_basic_example/datetimepicker.vue new file mode 100644 index 00000000..fa03bc9f --- /dev/null +++ b/src/views/component_basic_example/datetimepicker.vue @@ -0,0 +1,33 @@ + + + diff --git a/src/views/component_basic_example/icon.json b/src/views/component_basic_example/icon.json new file mode 100644 index 00000000..873aefb4 --- /dev/null +++ b/src/views/component_basic_example/icon.json @@ -0,0 +1 @@ +["platform-eleme","eleme","delete-solid","delete","s-tools","setting","user-solid","user","phone","phone-outline","more","more-outline","star-on","star-off","s-goods","goods","warning","warning-outline","question","info","remove","circle-plus","success","error","zoom-in","zoom-out","remove-outline","circle-plus-outline","circle-check","circle-close","s-help","help","minus","plus","check","close","picture","picture-outline","picture-outline-round","upload","upload2","download","camera-solid","camera","video-camera-solid","video-camera","message-solid","bell","s-cooperation","s-order","s-platform","s-fold","s-unfold","s-operation","s-promotion","s-home","s-release","s-ticket","s-management","s-open","s-shop","s-marketing","s-flag","s-comment","s-finance","s-claim","s-custom","s-opportunity","s-data","s-check","s-grid","menu","share","d-caret","caret-left","caret-right","caret-bottom","caret-top","bottom-left","bottom-right","back","right","bottom","top","top-left","top-right","arrow-left","arrow-right","arrow-down","arrow-up","d-arrow-left","d-arrow-right","video-pause","video-play","refresh","refresh-right","refresh-left","finished","sort","sort-up","sort-down","rank","loading","view","c-scale-to-original","date","edit","edit-outline","folder","folder-opened","folder-add","folder-remove","folder-delete","folder-checked","tickets","document-remove","document-delete","document-copy","document-checked","document","document-add","printer","paperclip","takeaway-box","search","monitor","attract","mobile","scissors","umbrella","headset","brush","mouse","coordinate","magic-stick","reading","data-line","data-board","pie-chart","data-analysis","collection-tag","film","suitcase","suitcase-1","receiving","collection","files","notebook-1","notebook-2","toilet-paper","office-building","school","table-lamp","house","no-smoking","smoking","shopping-cart-full","shopping-cart-1","shopping-cart-2","shopping-bag-1","shopping-bag-2","sold-out","sell","present","box","bank-card","money","coin","wallet","discount","price-tag","news","guide","male","female","thumb","cpu","link","connection","open","turn-off","set-up","chat-round","chat-line-round","chat-square","chat-dot-round","chat-dot-square","chat-line-square","message","postcard","position","turn-off-microphone","microphone","close-notification","bangzhu","time","odometer","crop","aim","switch-button","full-screen","copy-document","mic","stopwatch","medal-1","medal","trophy","trophy-1","first-aid-kit","discover","place","location","location-outline","location-information","add-location","delete-location","map-location","alarm-clock","timer","watch-1","watch","lock","unlock","key","service","mobile-phone","bicycle","truck","ship","basketball","football","soccer","baseball","wind-power","light-rain","lightning","heavy-rain","sunrise","sunrise-1","sunset","sunny","cloudy","partly-cloudy","cloudy-and-sunny","moon","moon-night","dish","dish-1","food","chicken","fork-spoon","knife-fork","burger","tableware","sugar","dessert","ice-cream","hot-water","water-cup","coffee-cup","cold-drink","goblet","goblet-full","goblet-square","goblet-square-full","refrigerator","grape","watermelon","cherry","apple","pear","orange","coffee","ice-tea","ice-drink","milk-tea","potato-strips","lollipop","ice-cream-square","ice-cream-round"] diff --git a/src/views/component_basic_example/icon.vue b/src/views/component_basic_example/icon.vue new file mode 100644 index 00000000..0c4eade9 --- /dev/null +++ b/src/views/component_basic_example/icon.vue @@ -0,0 +1,55 @@ + + + + + diff --git a/src/views/component_basic_example/input.vue b/src/views/component_basic_example/input.vue new file mode 100644 index 00000000..35f700f8 --- /dev/null +++ b/src/views/component_basic_example/input.vue @@ -0,0 +1,43 @@ + + + diff --git a/src/views/component_basic_example/inputnumber.vue b/src/views/component_basic_example/inputnumber.vue new file mode 100644 index 00000000..388a596f --- /dev/null +++ b/src/views/component_basic_example/inputnumber.vue @@ -0,0 +1,40 @@ + + + diff --git a/src/views/component_basic_example/link.vue b/src/views/component_basic_example/link.vue new file mode 100644 index 00000000..462d02cd --- /dev/null +++ b/src/views/component_basic_example/link.vue @@ -0,0 +1,48 @@ + + + + + diff --git a/src/views/component_basic_example/radio.vue b/src/views/component_basic_example/radio.vue new file mode 100644 index 00000000..eb40f9c2 --- /dev/null +++ b/src/views/component_basic_example/radio.vue @@ -0,0 +1,52 @@ + + + diff --git a/src/views/component_basic_example/rate.vue b/src/views/component_basic_example/rate.vue new file mode 100644 index 00000000..e4eae9bc --- /dev/null +++ b/src/views/component_basic_example/rate.vue @@ -0,0 +1,32 @@ + + + diff --git a/src/views/component_basic_example/select.vue b/src/views/component_basic_example/select.vue new file mode 100644 index 00000000..15dc589d --- /dev/null +++ b/src/views/component_basic_example/select.vue @@ -0,0 +1,67 @@ + + + diff --git a/src/views/component_basic_example/slider.vue b/src/views/component_basic_example/slider.vue new file mode 100644 index 00000000..a54d223d --- /dev/null +++ b/src/views/component_basic_example/slider.vue @@ -0,0 +1,61 @@ + + + diff --git a/src/views/component_basic_example/switch.vue b/src/views/component_basic_example/switch.vue new file mode 100644 index 00000000..0a66af2c --- /dev/null +++ b/src/views/component_basic_example/switch.vue @@ -0,0 +1,34 @@ + + + diff --git a/src/views/component_basic_example/timepicker.vue b/src/views/component_basic_example/timepicker.vue new file mode 100644 index 00000000..fdf7f313 --- /dev/null +++ b/src/views/component_basic_example/timepicker.vue @@ -0,0 +1,60 @@ + + + diff --git a/src/views/component_extend_example/actionbar.vue b/src/views/component_extend_example/actionbar.vue new file mode 100644 index 00000000..0c80d11c --- /dev/null +++ b/src/views/component_extend_example/actionbar.vue @@ -0,0 +1,155 @@ + + + diff --git a/src/views/component_extend_example/area.vue b/src/views/component_extend_example/area.vue new file mode 100644 index 00000000..14ec579b --- /dev/null +++ b/src/views/component_extend_example/area.vue @@ -0,0 +1,53 @@ + + + + + diff --git a/src/views/component_extend_example/batchactionbar.vue b/src/views/component_extend_example/batchactionbar.vue new file mode 100644 index 00000000..b65e9cdd --- /dev/null +++ b/src/views/component_extend_example/batchactionbar.vue @@ -0,0 +1,73 @@ + + + + + diff --git a/src/views/component_extend_example/editor.vue b/src/views/component_extend_example/editor.vue new file mode 100644 index 00000000..3f4c57d0 --- /dev/null +++ b/src/views/component_extend_example/editor.vue @@ -0,0 +1,31 @@ + + + + + diff --git a/src/views/component_extend_example/image.preview.vue b/src/views/component_extend_example/image.preview.vue new file mode 100644 index 00000000..ab4a7d88 --- /dev/null +++ b/src/views/component_extend_example/image.preview.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/views/component_extend_example/pageheader.vue b/src/views/component_extend_example/pageheader.vue new file mode 100644 index 00000000..bff5ce50 --- /dev/null +++ b/src/views/component_extend_example/pageheader.vue @@ -0,0 +1,12 @@ + diff --git a/src/views/component_extend_example/pagemain.vue b/src/views/component_extend_example/pagemain.vue new file mode 100644 index 00000000..7983d402 --- /dev/null +++ b/src/views/component_extend_example/pagemain.vue @@ -0,0 +1,33 @@ + diff --git a/src/views/component_extend_example/result.vue b/src/views/component_extend_example/result.vue new file mode 100644 index 00000000..a909dfb3 --- /dev/null +++ b/src/views/component_extend_example/result.vue @@ -0,0 +1,23 @@ + diff --git a/src/views/component_extend_example/searchbar.vue b/src/views/component_extend_example/searchbar.vue new file mode 100644 index 00000000..5f06a01d --- /dev/null +++ b/src/views/component_extend_example/searchbar.vue @@ -0,0 +1,132 @@ + + + diff --git a/src/views/component_extend_example/svg.vue b/src/views/component_extend_example/svg.vue new file mode 100644 index 00000000..d84d2056 --- /dev/null +++ b/src/views/component_extend_example/svg.vue @@ -0,0 +1,47 @@ + + + + + diff --git a/src/views/component_extend_example/table.autoheight.vue b/src/views/component_extend_example/table.autoheight.vue new file mode 100644 index 00000000..24279c5b --- /dev/null +++ b/src/views/component_extend_example/table.autoheight.vue @@ -0,0 +1,160 @@ + + + + + diff --git a/src/views/component_extend_example/trend.vue b/src/views/component_extend_example/trend.vue new file mode 100644 index 00000000..b9a07d1a --- /dev/null +++ b/src/views/component_extend_example/trend.vue @@ -0,0 +1,42 @@ + diff --git a/src/views/component_extend_example/upload.vue b/src/views/component_extend_example/upload.vue new file mode 100644 index 00000000..4a841f45 --- /dev/null +++ b/src/views/component_extend_example/upload.vue @@ -0,0 +1,63 @@ + + + diff --git a/src/views/index.vue b/src/views/index.vue new file mode 100644 index 00000000..4a0bb061 --- /dev/null +++ b/src/views/index.vue @@ -0,0 +1,389 @@ + + + + + diff --git a/src/views/keep_alive_example/detail.vue b/src/views/keep_alive_example/detail.vue new file mode 100644 index 00000000..96e00248 --- /dev/null +++ b/src/views/keep_alive_example/detail.vue @@ -0,0 +1,5 @@ + diff --git a/src/views/keep_alive_example/nested/nested.vue b/src/views/keep_alive_example/nested/nested.vue new file mode 100644 index 00000000..acc15db0 --- /dev/null +++ b/src/views/keep_alive_example/nested/nested.vue @@ -0,0 +1,18 @@ + + + diff --git a/src/views/keep_alive_example/nested/nested/nested.vue b/src/views/keep_alive_example/nested/nested/nested.vue new file mode 100644 index 00000000..e593c59c --- /dev/null +++ b/src/views/keep_alive_example/nested/nested/nested.vue @@ -0,0 +1,18 @@ + + + diff --git a/src/views/keep_alive_example/nested/nested/nested/index.vue b/src/views/keep_alive_example/nested/nested/nested/index.vue new file mode 100644 index 00000000..9569e14e --- /dev/null +++ b/src/views/keep_alive_example/nested/nested/nested/index.vue @@ -0,0 +1,19 @@ + + + diff --git a/src/views/keep_alive_example/nested/nested/nested/index2.vue b/src/views/keep_alive_example/nested/nested/nested/index2.vue new file mode 100644 index 00000000..e14f5b1b --- /dev/null +++ b/src/views/keep_alive_example/nested/nested/nested/index2.vue @@ -0,0 +1,19 @@ + + + diff --git a/src/views/keep_alive_example/page.vue b/src/views/keep_alive_example/page.vue new file mode 100644 index 00000000..f491776d --- /dev/null +++ b/src/views/keep_alive_example/page.vue @@ -0,0 +1,71 @@ + + + + + diff --git a/src/views/login.vue b/src/views/login.vue new file mode 100644 index 00000000..99939470 --- /dev/null +++ b/src/views/login.vue @@ -0,0 +1,270 @@ + + + + + diff --git a/src/views/mock_example/index.vue b/src/views/mock_example/index.vue new file mode 100644 index 00000000..0915caed --- /dev/null +++ b/src/views/mock_example/index.vue @@ -0,0 +1,29 @@ + + + diff --git a/src/views/multilevel_menu_example/level2/level3/page1.vue b/src/views/multilevel_menu_example/level2/level3/page1.vue new file mode 100644 index 00000000..c0e1ae94 --- /dev/null +++ b/src/views/multilevel_menu_example/level2/level3/page1.vue @@ -0,0 +1,7 @@ + diff --git a/src/views/multilevel_menu_example/level2/level3/page2.vue b/src/views/multilevel_menu_example/level2/level3/page2.vue new file mode 100644 index 00000000..c77011cd --- /dev/null +++ b/src/views/multilevel_menu_example/level2/level3/page2.vue @@ -0,0 +1,7 @@ + diff --git a/src/views/multilevel_menu_example/level2/page.vue b/src/views/multilevel_menu_example/level2/page.vue new file mode 100644 index 00000000..77118409 --- /dev/null +++ b/src/views/multilevel_menu_example/level2/page.vue @@ -0,0 +1,7 @@ + diff --git a/src/views/multilevel_menu_example/page.vue b/src/views/multilevel_menu_example/page.vue new file mode 100644 index 00000000..0fa72143 --- /dev/null +++ b/src/views/multilevel_menu_example/page.vue @@ -0,0 +1,7 @@ + diff --git a/src/views/permission_example/index.vue b/src/views/permission_example/index.vue new file mode 100644 index 00000000..7ec313a3 --- /dev/null +++ b/src/views/permission_example/index.vue @@ -0,0 +1,111 @@ + + + diff --git a/src/views/personal/edit.password.vue b/src/views/personal/edit.password.vue new file mode 100644 index 00000000..3b1c2585 --- /dev/null +++ b/src/views/personal/edit.password.vue @@ -0,0 +1,76 @@ + + + diff --git a/src/views/personal/setting.vue b/src/views/personal/setting.vue new file mode 100644 index 00000000..5c0d92a8 --- /dev/null +++ b/src/views/personal/setting.vue @@ -0,0 +1,167 @@ + + + + + diff --git a/src/views/reload.vue b/src/views/reload.vue new file mode 100644 index 00000000..02d0fcf1 --- /dev/null +++ b/src/views/reload.vue @@ -0,0 +1,11 @@ + + + diff --git a/src/views/videos_example/coming.soon.vue b/src/views/videos_example/coming.soon.vue new file mode 100644 index 00000000..51f7aa50 --- /dev/null +++ b/src/views/videos_example/coming.soon.vue @@ -0,0 +1,5 @@ + diff --git a/vite.config.js b/vite.config.js new file mode 100644 index 00000000..bba07e33 --- /dev/null +++ b/vite.config.js @@ -0,0 +1,62 @@ +import { defineConfig, loadEnv } from 'vite' +import createVitePlugins from './vite/plugins' + +const fs = require('fs') +const path = require('path') + +// https://vitejs.dev/config/ +export default ({ mode, command }) => { + const env = loadEnv(mode, process.cwd()) + // 全局 scss 资源 + const scssResources = [] + fs.readdirSync('src/assets/styles/resources').map(dirname => { + if (fs.statSync(`src/assets/styles/resources/${dirname}`).isFile()) { + scssResources.push(`@import "src/assets/styles/resources/${dirname}";`) + } + }) + // css 精灵图相关 + fs.readdirSync('src/assets/sprites').map(dirname => { + if (fs.statSync(`src/assets/sprites/${dirname}`).isDirectory()) { + // css 精灵图生成的 scss 文件也需要放入全局 scss 资源 + scssResources.push(`@import "src/assets/sprites/_${dirname}.scss";`) + } + }) + return defineConfig({ + base: './', + // 开发服务器选项 https://cn.vitejs.dev/config/#server-options + server: { + open: true, + port: 9000, + proxy: { + '/proxy': { + target: env.VITE_APP_API_BASEURL, + changeOrigin: command === 'serve' && env.VITE_OPEN_PROXY == 'true', + rewrite: path => path.replace(/\/proxy/, '') + } + } + }, + // 构建选项 https://cn.vitejs.dev/config/#server-fsserve-root + build: { + outDir: mode == 'production' ? 'dist' : `dist-${mode}`, + sourcemap: env.VITE_BUILD_SOURCEMAP == 'true', + terserOptions: { + compress: { + drop_console: env.VITE_BUILD_DROP_CONSOLE == 'true' + } + } + }, + plugins: createVitePlugins(env, command === 'build'), + resolve: { + alias: { + '@': path.resolve(__dirname, 'src') + } + }, + css: { + preprocessorOptions: { + scss: { + additionalData: scssResources.join('') + } + } + } + }) +} diff --git a/vite/plugins/banner.js b/vite/plugins/banner.js new file mode 100644 index 00000000..af7d0f48 --- /dev/null +++ b/vite/plugins/banner.js @@ -0,0 +1,10 @@ +import banner from 'vite-plugin-banner' + +export default function createBanner() { + return banner(` +/** + * name: Fantastic-admin + * homepage: https://hooray.gitee.io/fantastic-admin/ + */ + `) +} diff --git a/vite/plugins/compression.js b/vite/plugins/compression.js new file mode 100644 index 00000000..f808ecad --- /dev/null +++ b/vite/plugins/compression.js @@ -0,0 +1,25 @@ +import compression from 'vite-plugin-compression' + +export default function createCompression(env) { + const { VITE_BUILD_COMPRESS } = env + const compressList = VITE_BUILD_COMPRESS.split(',') + const plugin = [] + if (compressList.includes('gzip')) { + plugin.push( + compression({ + ext: '.gz', + deleteOriginFile: false + }) + ) + } + if (compressList.includes('brotli')) { + plugin.push( + compression({ + ext: '.br', + algorithm: 'brotliCompress', + deleteOriginFile: false + }) + ) + } + return plugin +} diff --git a/vite/plugins/html.js b/vite/plugins/html.js new file mode 100644 index 00000000..6b8114b8 --- /dev/null +++ b/vite/plugins/html.js @@ -0,0 +1,16 @@ +import htmlPlugin from 'vite-plugin-html' + +export default function createHtml(env, isBuild) { + const { VITE_APP_TITLE, VITE_APP_DEBUG_TOOL, VITE_APP_MODE } = env + const html = htmlPlugin({ + inject: { + injectData: { + title: VITE_APP_TITLE, + debugTool: VITE_APP_DEBUG_TOOL, + appMode: VITE_APP_MODE + } + }, + minify: isBuild + }) + return html +} diff --git a/vite/plugins/index.js b/vite/plugins/index.js new file mode 100644 index 00000000..ef252071 --- /dev/null +++ b/vite/plugins/index.js @@ -0,0 +1,21 @@ +import vue from '@vitejs/plugin-vue' + +import createRestart from './restart' +import createHtml from './html' +import createSvgIcon from './svg-icon' +import createMock from './mock' +import createCompression from './compression' +import createSpritesmith from './spritesmith' +import createBanner from './banner' + +export default function createVitePlugins(viteEnv, isBuild = false) { + const vitePlugins = [vue()] + !isBuild && vitePlugins.push(createRestart()) + vitePlugins.push(createHtml(viteEnv, isBuild)) + vitePlugins.push(createSvgIcon(isBuild)) + vitePlugins.push(createMock()) + isBuild && vitePlugins.push(...createCompression(viteEnv)) + vitePlugins.push(...createSpritesmith()) + vitePlugins.push(createBanner()) + return vitePlugins +} diff --git a/vite/plugins/mock.js b/vite/plugins/mock.js new file mode 100644 index 00000000..605c47ff --- /dev/null +++ b/vite/plugins/mock.js @@ -0,0 +1,11 @@ +import { viteMockServe } from 'vite-plugin-mock' + +export default function createMock() { + return viteMockServe({ + mockPath: 'src/mock', + injectCode: ` + import { setupProdMockServer } from './mockProdServer'; + setupProdMockServer(); + ` + }) +} diff --git a/vite/plugins/restart.js b/vite/plugins/restart.js new file mode 100644 index 00000000..02800aff --- /dev/null +++ b/vite/plugins/restart.js @@ -0,0 +1,9 @@ +import ViteRestart from 'vite-plugin-restart' + +export default function createRestart() { + return ViteRestart({ + restart: [ + '.env.development' + ] + }) +} diff --git a/vite/plugins/spritesmith.js b/vite/plugins/spritesmith.js new file mode 100644 index 00000000..e016f315 --- /dev/null +++ b/vite/plugins/spritesmith.js @@ -0,0 +1,49 @@ +import spritesmith from 'vite-plugin-spritesmith' +import fs from 'fs' + +export default function createSpritesmith(isBuild) { + const spriteDirnames = [] + fs.readdirSync('src/assets/sprites').map(dirname => { + if (fs.statSync(`src/assets/sprites/${dirname}`).isDirectory()) { + spriteDirnames.push(dirname) + } + }) + const plugin = [] + spriteDirnames.map(item => { + plugin.push( + spritesmith({ + watch: !isBuild, + src: { + cwd: `./src/assets/sprites/${item}`, + glob: '*.png' + }, + target: { + image: `./src/assets/sprites/${item}.png`, + css: [ + [ + `./src/assets/sprites/_${item}.scss`, + { + format: 'handlebars_based_template' + } + ] + ] + }, + apiOptions: { + cssImageRef: `@/assets/sprites/${item}.png`, + spritesheet_info: { + name: item, + format: 'handlebars_based_template' + } + }, + customTemplates: { + handlebars_based_template: './scss.template.hbs' + }, + spritesmithOptions: { + algorithm: 'binary-tree', + padding: 10 + } + }) + ) + }) + return plugin +} diff --git a/vite/plugins/svg-icon.js b/vite/plugins/svg-icon.js new file mode 100644 index 00000000..560c6fc5 --- /dev/null +++ b/vite/plugins/svg-icon.js @@ -0,0 +1,10 @@ +import svgIcon from 'vite-plugin-svg-icons' +import path from 'path' + +export default function createSvgIcon(isBuild) { + return svgIcon({ + iconDirs: [path.resolve(process.cwd(), 'src/assets/icons/')], + symbolId: 'icon-[dir]-[name]', + svgoOptions: isBuild + }) +}