diff --git a/.babelrc b/.babelrc new file mode 100644 index 00000000..41789cac --- /dev/null +++ b/.babelrc @@ -0,0 +1,5 @@ +{ + "presets": ["es2015", "stage-2"], + "plugins": ["transform-runtime"], + "comments": false +} diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 00000000..e3a4037e --- /dev/null +++ b/.eslintignore @@ -0,0 +1,3 @@ +build/*.js +config/*.js +src/assets diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 00000000..a388ba27 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,318 @@ +module.exports = { + root: true, + parser: 'babel-eslint', + parserOptions: { + sourceType: 'module' + }, + env: { + browser: true, + node: true + }, + extends: 'eslint:recommended', + // required to lint *.vue files + plugins: [ + 'html' + ], + // check if imports actually resolve + 'settings': { + 'import/resolver': { + 'webpack': { + 'config': 'build/webpack.base.conf.js' + } + } + }, + // add your custom rules here + 'rules': { + // don't require .vue extension when importing + // 'import/extensions': ['error', 'always', { + // 'js': 'never', + // 'vue': 'never' + // }], + // allow debugger during development + 'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0, + /* + * Possible Errors + */ + + // disallow unnecessary parentheses + 'no-extra-parens': ['error', 'all', {'nestedBinaryExpressions': false}], + + // disallow negating the left operand of relational operators + 'no-unsafe-negation': 'error', + + // enforce valid JSDoc comments + 'valid-jsdoc': 'off', + + /* + * Best Practices + */ + + // enforce return statements in callbacks of array methods + 'array-callback-return': 'error', + + // enforce consistent brace style for all control statements + curly: ['error', 'multi-line'], + + // enforce consistent newlines before and after dots + 'dot-location': ['error', 'property'], + + // enforce dot notation whenever possible + 'dot-notation': 'error', + + // require the use of === and !== + 'eqeqeq': ['error', 'smart'], + + // disallow the use of arguments.caller or arguments.callee + 'no-caller': 'error', + + // disallow empty functions + 'no-empty-function': 'error', + + // disallow unnecessary calls to .bind() + 'no-extra-bind': 'error', + + // disallow unnecessary labels + 'no-extra-label': 'error', + + // disallow leading or trailing decimal points in numeric literals + 'no-floating-decimal': 'error', + + // disallow assignments to native objects or read-only global variables + 'no-global-assign': 'error', + + // disallow the use of eval()-like methods + 'no-implied-eval': 'error', + + // disallow the use of the __iterator__ property + 'no-iterator': 'error', + + // disallow unnecessary nested blocks + 'no-lone-blocks': 'error', + + // disallow multiple spaces + 'no-multi-spaces': 'error', + + // disallow new operators with the String, Number, and Boolean objects + 'no-new-wrappers': 'error', + + // disallow octal escape sequences in string literals + 'no-octal-escape': 'error', + + // disallow the use of the __proto__ property + 'no-proto': 'error', + + // disallow comparisons where both sides are exactly the same + 'no-self-compare': 'error', + + // disallow throwing literals as exceptions + 'no-throw-literal': 'error', + + // disallow unused expressions + 'no-unused-expressions': 'error', + + // disallow unnecessary calls to .call() and .apply() + 'no-useless-call': 'error', + + // disallow unnecessary concatenation of literals or template literals + 'no-useless-concat': 'error', + + // disallow unnecessary escape characters + 'no-useless-escape': 'error', + + // disallow void operators + 'no-void': 'error', + + // require parentheses around immediate function invocations + 'wrap-iife': 'error', + + // require or disallow “Yoda” conditions + yoda: 'error', + + /* + * Variables + */ + + // disallow labels that share a name with a variable + 'no-label-var': 'error', + + // disallow initializing variables to undefined + 'no-undef-init': 'error', + 'no-undef': 'off', + // disallow the use of variables before they are defined + 'no-use-before-define': 'error', + + /* + * Node.js and CommonJS + */ + + // disallow new operators with calls to require + 'no-new-require': 'error', + + /* + * Stylistic Issues + */ + + // enforce consistent spacing inside array brackets + 'array-bracket-spacing': 'error', + + // enforce consistent spacing inside single-line blocks + 'block-spacing': 'error', + + // enforce consistent brace style for blocks + 'brace-style': ['error', '1tbs', {'allowSingleLine': true}], + + // require or disallow trailing commas + 'comma-dangle': 'error', + + // enforce consistent spacing before and after commas + 'comma-spacing': 'error', + + // enforce consistent comma style + 'comma-style': 'error', + + // enforce consistent spacing inside computed property brackets + 'computed-property-spacing': 'error', + + // require or disallow spacing between function identifiers and their invocations + 'func-call-spacing': 'error', + + // enforce consistent indentation + indent: ['error', 2, {SwitchCase: 1}], + + // enforce the consistent use of either double or single quotes in JSX attributes + 'jsx-quotes': 'error', + + // enforce consistent spacing between keys and values in object literal properties + 'key-spacing': 'error', + + // enforce consistent spacing before and after keywords + 'keyword-spacing': 'error', + + // enforce consistent linebreak style + 'linebreak-style': 'error', + + // require or disallow newlines around directives + 'lines-around-directive': 'error', + + // require constructor names to begin with a capital letter + 'new-cap': 'off', + + // require parentheses when invoking a constructor with no arguments + 'new-parens': 'error', + + // disallow Array constructors + 'no-array-constructor': 'error', + + // disallow Object constructors + 'no-new-object': 'error', + + // disallow trailing whitespace at the end of lines + 'no-trailing-spaces': 'error', + + // disallow ternary operators when simpler alternatives exist + 'no-unneeded-ternary': 'error', + + // disallow whitespace before properties + 'no-whitespace-before-property': 'error', + + // enforce consistent spacing inside braces + 'object-curly-spacing': ['error', 'always'], + + // require or disallow padding within blocks + 'padded-blocks': ['error', 'never'], + + // require quotes around object literal property names + 'quote-props': ['error', 'as-needed'], + + // enforce the consistent use of either backticks, double, or single quotes + quotes: ['error', 'single'], + + // enforce consistent spacing before and after semicolons + 'semi-spacing': 'error', + + // require or disallow semicolons instead of ASI + // semi: ['error', 'never'], + + // enforce consistent spacing before blocks + 'space-before-blocks': 'error', + + 'no-console': 'off', + + // enforce consistent spacing before function definition opening parenthesis + 'space-before-function-paren': ['error', 'never'], + + // enforce consistent spacing inside parentheses + 'space-in-parens': 'error', + + // require spacing around infix operators + 'space-infix-ops': 'error', + + // enforce consistent spacing before or after unary operators + 'space-unary-ops': 'error', + + // enforce consistent spacing after the // or /* in a comment + 'spaced-comment': 'error', + + // require or disallow Unicode byte order mark (BOM) + 'unicode-bom': 'error', + + + /* + * ECMAScript 6 + */ + + // require braces around arrow function bodies + 'arrow-body-style': 'error', + + // require parentheses around arrow function arguments + 'arrow-parens': ['error', 'as-needed'], + + // enforce consistent spacing before and after the arrow in arrow functions + 'arrow-spacing': 'error', + + // enforce consistent spacing around * operators in generator functions + 'generator-star-spacing': ['error', 'after'], + + // disallow duplicate module imports + 'no-duplicate-imports': 'error', + + // disallow unnecessary computed property keys in object literals + 'no-useless-computed-key': 'error', + + // disallow unnecessary constructors + 'no-useless-constructor': 'error', + + // disallow renaming import, export, and destructured assignments to the same name + 'no-useless-rename': 'error', + + // require let or const instead of var + 'no-var': 'error', + + // require or disallow method and property shorthand syntax for object literals + 'object-shorthand': 'error', + + // require arrow functions as callbacks + 'prefer-arrow-callback': 'error', + + // require const declarations for variables that are never reassigned after declared + 'prefer-const': 'error', + + // disallow parseInt() in favor of binary, octal, and hexadecimal literals + 'prefer-numeric-literals': 'error', + + // require rest parameters instead of arguments + 'prefer-rest-params': 'error', + + // require spread operators instead of .apply() + 'prefer-spread': 'error', + + // enforce spacing between rest and spread operators and their expressions + 'rest-spread-spacing': 'error', + + // require or disallow spacing around embedded expressions of template strings + 'template-curly-spacing': 'error', + + // require or disallow spacing around the * in yield* expressions + 'yield-star-spacing': 'error' + } +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..19131cc3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,10 @@ +.DS_Store +node_modules/ +dist/ +static/ckeditor + +npm-debug.log +test/unit/coverage +test/e2e/reports +selenium-debug.log +.idea diff --git a/build/build.js b/build/build.js new file mode 100644 index 00000000..4d02fc93 --- /dev/null +++ b/build/build.js @@ -0,0 +1,42 @@ +require('./check-versions')(); +var server = require('pushstate-server'); +var opn = require('opn') +var ora = require('ora') +var rm = require('rimraf') +var path = require('path') +var chalk = require('chalk') +var webpack = require('webpack'); +var config = require('../config'); +var webpackConfig = require('./webpack.prod.conf'); + +console.log(process.env.NODE_ENV) +console.log(process.env.npm_config_preview) + +var spinner = ora('building for ' + process.env.NODE_ENV + '...') +spinner.start() + + +rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => { + if (err) throw err + webpack(webpackConfig, function (err, stats) { + spinner.stop() + if (err) throw err + process.stdout.write(stats.toString({ + colors: true, + modules: false, + children: false, + chunks: false, + chunkModules: false + }) + '\n\n') + + console.log(chalk.cyan(' Build complete.\n')) + if(process.env.npm_config_preview){ + server.start({ + port: 80, + directory: './dist', + file: '/index.html' + }); + opn('http://kushnerpreview.wallstreetcn.com/') + } + }) +}) diff --git a/build/check-versions.js b/build/check-versions.js new file mode 100644 index 00000000..3a1dda61 --- /dev/null +++ b/build/check-versions.js @@ -0,0 +1,45 @@ +var chalk = require('chalk') +var semver = require('semver') +var packageConfig = require('../package.json') + +function exec(cmd) { + return require('child_process').execSync(cmd).toString().trim() +} + +var versionRequirements = [ + { + name: 'node', + currentVersion: semver.clean(process.version), + versionRequirement: packageConfig.engines.node + }, + { + name: 'npm', + currentVersion: exec('npm --version'), + versionRequirement: packageConfig.engines.npm + } +] + +module.exports = function () { + var warnings = [] + for (var i = 0; i < versionRequirements.length; i++) { + var mod = versionRequirements[i] + if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) { + warnings.push(mod.name + ': ' + + chalk.red(mod.currentVersion) + ' should be ' + + chalk.green(mod.versionRequirement) + ) + } + } + + if (warnings.length) { + console.log('') + console.log(chalk.yellow('To use this template, you must update following to modules:')) + console.log() + for (var i = 0; i < warnings.length; i++) { + var warning = warnings[i] + console.log(' ' + warning) + } + console.log() + process.exit(1) + } +} diff --git a/build/dev-client.js b/build/dev-client.js new file mode 100644 index 00000000..18aa1e21 --- /dev/null +++ b/build/dev-client.js @@ -0,0 +1,9 @@ +/* eslint-disable */ +require('eventsource-polyfill') +var hotClient = require('webpack-hot-middleware/client?noInfo=true&reload=true') + +hotClient.subscribe(function (event) { + if (event.action === 'reload') { + window.location.reload() + } +}) diff --git a/build/dev-server.js b/build/dev-server.js new file mode 100644 index 00000000..86398d43 --- /dev/null +++ b/build/dev-server.js @@ -0,0 +1,85 @@ +require('./check-versions')(); // 检查 Node 和 npm 版本 +var config = require('../config'); +if (!process.env.NODE_ENV) { + process.env.NODE_ENV = config.dev.env; + // process.env.NODE_ENV = JSON.parse(config.dev.env.NODE_ENV) +} + +var opn = require('opn') +var path = require('path'); +var express = require('express'); +var webpack = require('webpack'); +var proxyMiddleware = require('http-proxy-middleware'); +var webpackConfig = require('./webpack.dev.conf'); + +// default port where dev server listens for incoming traffic +var port = process.env.PORT || config.dev.port; +// automatically open browser, if not set will be false +var autoOpenBrowser = !!config.dev.autoOpenBrowser; +// Define HTTP proxies to your custom API backend +// https://github.com/chimurai/http-proxy-middleware +var proxyTable = config.dev.proxyTable; + +var app = express(); +var compiler = webpack(webpackConfig); + +var devMiddleware = require('webpack-dev-middleware')(compiler, { + publicPath: webpackConfig.output.publicPath, + quiet: true +}); + +var hotMiddleware = require('webpack-hot-middleware')(compiler, { + log: () => { + } +}); + +// force page reload when html-webpack-plugin template changes +compiler.plugin('compilation', function (compilation) { + compilation.plugin('html-webpack-plugin-after-emit', function (data, cb) { + hotMiddleware.publish({action: 'reload'}); + cb() + }) +}); + +// compiler.apply(new DashboardPlugin()); + +// proxy api requests +Object.keys(proxyTable).forEach(function (context) { + var options = proxyTable[context] + if (typeof options === 'string') { + options = {target: options} + } + app.use(proxyMiddleware(options.filter || context, options)) +}); + +// handle fallback for HTML5 history API +app.use(require('connect-history-api-fallback')()); + +// serve webpack bundle output +app.use(devMiddleware); + +// enable hot-reload and state-preserving +// compilation error display +app.use(hotMiddleware); + +// serve pure static assets +var staticPath = path.posix.join(config.dev.assetsPublicPath, config.dev.assetsSubDirectory); +app.use(staticPath, express.static('./static')); + +var uri = 'http://localhost:' + port + +devMiddleware.waitUntilValid(function () { + console.log('> Listening at ' + uri + '\n') +}); + +module.exports = app.listen(port, function (err) { + if (err) { + console.log(err); + return + } + + // when env is testing, don't need open it + if (autoOpenBrowser && process.env.NODE_ENV !== 'testing') { + opn(uri) + } +}); diff --git a/build/utils.js b/build/utils.js new file mode 100644 index 00000000..d3aaebb0 --- /dev/null +++ b/build/utils.js @@ -0,0 +1,71 @@ +var path = require('path') +var config = require('../config') +var ExtractTextPlugin = require('extract-text-webpack-plugin') + +exports.assetsPath = function (_path) { + var assetsSubDirectory = process.env.NODE_ENV === 'production' + ? config.build.assetsSubDirectory + : config.dev.assetsSubDirectory + return path.posix.join(assetsSubDirectory, _path) +} + +exports.cssLoaders = function (options) { + options = options || {} + + var cssLoader = { + loader: 'css-loader', + options: { + minimize: process.env.NODE_ENV === 'production', + sourceMap: options.sourceMap + } + } + + // generate loader string to be used with extract text plugin + function generateLoaders(loader, loaderOptions) { + var loaders = [cssLoader] + if (loader) { + loaders.push({ + loader: loader + '-loader', + options: Object.assign({}, loaderOptions, { + sourceMap: options.sourceMap + }) + }) + } + + // Extract CSS when that option is specified + // (which is the case during production build) + if (options.extract) { + return ExtractTextPlugin.extract({ + use: loaders, + fallback: 'vue-style-loader' + }) + } else { + return ['vue-style-loader'].concat(loaders) + } + } + + // http://vuejs.github.io/vue-loader/en/configurations/extract-css.html + return { + css: generateLoaders(), + postcss: generateLoaders(), + less: generateLoaders('less'), + sass: generateLoaders('sass', {indentedSyntax: true}), + scss: generateLoaders('sass'), + stylus: generateLoaders('stylus'), + styl: generateLoaders('stylus') + } +} + +// Generate loaders for standalone style files (outside of .vue) +exports.styleLoaders = function (options) { + var output = [] + var loaders = exports.cssLoaders(options) + for (var extension in loaders) { + var loader = loaders[extension] + output.push({ + test: new RegExp('\\.' + extension + '$'), + use: loader + }) + } + return output +} diff --git a/build/vue-loader.conf.js b/build/vue-loader.conf.js new file mode 100644 index 00000000..d7df7e57 --- /dev/null +++ b/build/vue-loader.conf.js @@ -0,0 +1,12 @@ +var utils = require('./utils') +var config = require('../config') +var isProduction = process.env.NODE_ENV === 'production' + +module.exports = { + loaders: utils.cssLoaders({ + sourceMap: isProduction + ? config.build.productionSourceMap + : config.dev.cssSourceMap, + extract: isProduction + }) +} diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js new file mode 100644 index 00000000..986604bf --- /dev/null +++ b/build/webpack.base.conf.js @@ -0,0 +1,92 @@ +var path = require('path'); +var utils = require('./utils'); +var config = require('../config'); +var vueLoaderConfig = require('./vue-loader.conf'); + +function resolve(dir) { + return path.join(__dirname, '..', dir) +} + +var src = path.resolve(__dirname, '../src'); +var env = process.env.NODE_ENV +// check env & config/index.js to decide weither to enable CSS Sourcemaps for the +// various preprocessor loaders added to vue-loader at the end of this file +var cssSourceMapDev = (env === 'development' && config.dev.cssSourceMap) +var cssSourceMapProd = (env === 'production||sit' && config.build.productionSourceMap) +var useCssSourceMap = cssSourceMapDev || cssSourceMapProd + +module.exports = { + entry: { + app: './src/main.js' + }, + output: { + path: config.build.assetsRoot, + filename: '[name].js', + publicPath: process.env.NODE_ENV === 'production||sit' ? config.build.assetsPublicPath : config.dev.assetsPublicPath + }, + resolve: { + extensions: ['.js', '.vue', '.json'], + alias: { + 'vue$': 'vue/dist/vue.esm.js', + '@': resolve('src'), + 'src': path.resolve(__dirname, '../src'), + 'assets': path.resolve(__dirname, '../src/assets'), + 'components': path.resolve(__dirname, '../src/components'), + 'views': path.resolve(__dirname, '../src/views'), + 'styles': path.resolve(__dirname, '../src/styles'), + 'api': path.resolve(__dirname, '../src/api'), + 'utils': path.resolve(__dirname, '../src/utils'), + 'store': path.resolve(__dirname, '../src/store'), + 'router': path.resolve(__dirname, '../src/router'), + 'mock': path.resolve(__dirname, '../src/mock'), + 'vendor': path.resolve(__dirname, '../src/vendor'), + 'static': path.resolve(__dirname, '../static') + } + }, + externals: { + jquery: 'jQuery' + }, + module: { + rules: [ + // { + // test: /\.(js|vue)$/, + // loader: 'eslint-loader', + // enforce: "pre", + // include: [resolve('src'), resolve('test')], + // options: { + // formatter: require('eslint-friendly-formatter') + // } + // }, + { test: /\.vue$/, + loader: 'vue-loader', + options: vueLoaderConfig + }, + { + test: /\.js$/, + loader: 'babel-loader?cacheDirectory', + include: [resolve('src'), resolve('test')] + }, + { + test: /\.(png|jpe?g|gif|svg)(\?.*)?$/, + loader: 'url-loader', + query: { + limit: 10000, + name: utils.assetsPath('img/[name].[hash:7].[ext]') + } + }, + { + test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/, + loader: 'url-loader', + query: { + limit: 10000, + name: utils.assetsPath('fonts/[name].[hash:7].[ext]') + } + } + ] + }, + //注入全局mixin + // sassResources: path.join(__dirname, '../src/styles/mixin.scss'), + // sassLoader: { + // data: path.join(__dirname, '../src/styles/index.scss') + // }, +} diff --git a/build/webpack.dev.conf.js b/build/webpack.dev.conf.js new file mode 100644 index 00000000..109a7970 --- /dev/null +++ b/build/webpack.dev.conf.js @@ -0,0 +1,47 @@ +var utils = require('./utils') +var path = require('path') +var webpack = require('webpack') +var config = require('../config') +var merge = require('webpack-merge') +var baseWebpackConfig = require('./webpack.base.conf') +var HtmlWebpackPlugin = require('html-webpack-plugin') +var FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin') + +// add hot-reload related code to entry chunks +Object.keys(baseWebpackConfig.entry).forEach(function (name) { + baseWebpackConfig.entry[name] = ['./build/dev-client'].concat(baseWebpackConfig.entry[name]) +}) + +function resolveApp(relativePath) { + return path.resolve(relativePath); +} + +module.exports = merge(baseWebpackConfig, { + module: { + rules: utils.styleLoaders({sourceMap: config.dev.cssSourceMap}) + }, + // cheap-source-map is faster for development + devtool: '#cheap-source-map', + cache: true, + plugins: [ + new webpack.DefinePlugin({ + 'process.env': config.dev.env + }), + new webpack.ProvidePlugin({ + $: 'jquery', + 'jQuery': 'jquery' + }), + // https://github.com/glenjamin/webpack-hot-middleware#installation--usage + new webpack.HotModuleReplacementPlugin(), + new webpack.NoErrorsPlugin(), + // https://github.com/ampedandwired/html-webpack-plugin + new HtmlWebpackPlugin({ + filename: 'index.html', + template: 'index.html', + favicon: resolveApp('favicon.ico'), + inject: true, + path:config.dev.staticPath + }), + new FriendlyErrorsPlugin() + ] +}) diff --git a/build/webpack.prod.conf.js b/build/webpack.prod.conf.js new file mode 100644 index 00000000..6f01fa59 --- /dev/null +++ b/build/webpack.prod.conf.js @@ -0,0 +1,113 @@ +var path = require('path') +var utils = require('./utils') +var webpack = require('webpack') +var config = require('../config') +var merge = require('webpack-merge') +var baseWebpackConfig = require('./webpack.base.conf') +var CopyWebpackPlugin = require('copy-webpack-plugin') +var HtmlWebpackPlugin = require('html-webpack-plugin') +var ExtractTextPlugin = require('extract-text-webpack-plugin') +var OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin') + +var env = process.env.NODE_ENV === 'production' ? config.build.prodEnv : config.build.sitEnv + +function resolveApp(relativePath) { + return path.resolve(relativePath); +} + +var webpackConfig = merge(baseWebpackConfig, { + module: { + rules: utils.styleLoaders({ + sourceMap: config.build.productionSourceMap, + extract: true + }) + }, + devtool: config.build.productionSourceMap ? '#source-map' : false, + output: { + path: config.build.assetsRoot, + filename: utils.assetsPath('js/[name].[chunkhash].js'), + chunkFilename: utils.assetsPath('js/[id].[chunkhash].js') + }, + plugins: [ + // http://vuejs.github.io/vue-loader/en/workflow/production.html + new webpack.DefinePlugin({ + 'process.env': env + }), + new webpack.optimize.UglifyJsPlugin({ + compress: { + warnings: false + }, + sourceMap: true + }), + // extract css into its own file + new ExtractTextPlugin({ + filename: utils.assetsPath('css/[name].[contenthash].css') + }), + // Compress extracted CSS. We are using this plugin so that possible + // duplicated CSS from different components can be deduped. + new OptimizeCSSPlugin(), + // generate dist index.html with correct asset hash for caching. + // you can customize output by editing /index.html + // see https://github.com/ampedandwired/html-webpack-plugin + new HtmlWebpackPlugin({ + filename: process.env.NODE_ENV === 'testing' + ? 'index.html' + : config.build.index, + template: 'index.html', + inject: true, + favicon: resolveApp('favicon.ico'), + minify: { + removeComments: true, + collapseWhitespace: true, + removeRedundantAttributes: true, + useShortDoctype: true, + removeEmptyAttributes: true, + removeStyleLinkTypeAttributes: true, + keepClosingSlash: true, + minifyJS: true, + minifyCSS: true, + minifyURLs: true + }, + path:config.build.staticPath, + // necessary to consistently work with multiple chunks via CommonsChunkPlugin + chunksSortMode: 'dependency' + }), + // split vendor js into its own file + new webpack.optimize.CommonsChunkPlugin({ + name: 'vendor', + minChunks: function (module, count) { + // any required modules inside node_modules are extracted to vendor + return ( + module.resource && + /\.js$/.test(module.resource) && + module.resource.indexOf( + path.join(__dirname, '../node_modules') + ) === 0 + ) + } + }), + // extract webpack runtime and module manifest to its own file in order to + // prevent vendor hash from being updated whenever app bundle is updated + new webpack.optimize.CommonsChunkPlugin({ + name: 'manifest', + chunks: ['vendor'] + }), + // copy custom static assets + new CopyWebpackPlugin([ + { + from: path.resolve(__dirname, '../static'), + to: config.build.assetsSubDirectory, + ignore: ['.*'] + } + ]), + new webpack.ProvidePlugin({ + $: 'jquery', + 'jQuery': 'jquery' + }) + ] +}) +if (config.build.bundleAnalyzerReport) { + var BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin + webpackConfig.plugins.push(new BundleAnalyzerPlugin()) +} +module.exports = webpackConfig diff --git a/config/dev.env.js b/config/dev.env.js new file mode 100644 index 00000000..e26486cd --- /dev/null +++ b/config/dev.env.js @@ -0,0 +1,5 @@ +module.exports = { + NODE_ENV: '"development"', + BASE_API: '"https://api-dev"', + APP_ORIGIN: '"https://wallstreetcn.com"' +} diff --git a/config/index.js b/config/index.js new file mode 100644 index 00000000..646df886 --- /dev/null +++ b/config/index.js @@ -0,0 +1,41 @@ +// see http://vuejs-templates.github.io/webpack for documentation. +var path = require('path') + +module.exports = { + build: { + sitEnv: require('./sit.env'), + prodEnv: require('./prod.env'), + index: path.resolve(__dirname, '../dist/index.html'), + assetsRoot: path.resolve(__dirname, '../dist'), + assetsSubDirectory: '', + assetsPublicPath: '/', + staticPath:'', + productionSourceMap: true, + // Gzip off by default as many popular static hosts such as + // Surge or Netlify already gzip all static assets for you. + // Before setting to `true`, make sure to: + // npm install --save-dev compression-webpack-plugin + productionGzip: false, + productionGzipExtensions: ['js', 'css'], + // Run the build command with an extra argument to + // View the bundle analyzer report after build finishes: + // `npm run build --report` + // Set to `true` or `false` to always turn it on or off + bundleAnalyzerReport: process.env.npm_config_report + }, + dev: { + env: require('./dev.env'), + port: 9527, + autoOpenBrowser: true, + assetsSubDirectory: 'static', + staticPath:'/static', + assetsPublicPath: '/', + proxyTable: {}, + // CSS Sourcemaps off by default because relative paths are "buggy" + // with this option, according to the CSS-Loader README + // (https://github.com/webpack/css-loader#sourcemaps) + // In our experience, they generally work as expected, + // just be aware of this issue when enabling this option. + cssSourceMap: false + } +} diff --git a/config/prod.env.js b/config/prod.env.js new file mode 100644 index 00000000..a3c11bd6 --- /dev/null +++ b/config/prod.env.js @@ -0,0 +1,5 @@ +module.exports = { + NODE_ENV: '"production"', + BASE_API: '"https://api-prod', + APP_ORIGIN: '"https://wallstreetcn.com"' +}; diff --git a/config/sit.env.js b/config/sit.env.js new file mode 100644 index 00000000..64cf403b --- /dev/null +++ b/config/sit.env.js @@ -0,0 +1,5 @@ +module.exports = { + NODE_ENV: '"production"', + BASE_API: '"https://api-sit"', + APP_ORIGIN: '"https://wallstreetcn.com"' +}; diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 00000000..7cd39d7f Binary files /dev/null and b/favicon.ico differ diff --git a/index.html b/index.html new file mode 100644 index 00000000..a8105edf --- /dev/null +++ b/index.html @@ -0,0 +1,17 @@ + + + + + + + + Juicy + + + + +
+ + + + diff --git a/package.json b/package.json new file mode 100644 index 00000000..16f9cb11 --- /dev/null +++ b/package.json @@ -0,0 +1,93 @@ +{ + "name": "juicy", + "version": "1.0.0", + "description": "A Vue.js admin", + "author": "Pan ", + "private": true, + "scripts": { + "dev": "node build/dev-server.js", + "build:prod": "NODE_ENV=production node build/build.js", + "build:sit": "NODE_ENV=sit node build/build.js", + "build:sit-preview": "NODE_ENV=sit npm_config_preview=true npm_config_report=true node build/build.js", + "lint": "eslint --ext .js,.vue src" + }, + "dependencies": { + "axios": "0.15.3", + "codemirror": "5.22.0", + "dropzone": "4.3.0", + "echarts": "3.4.0", + "element-ui": "1.2.7", + "file-saver": "1.3.3", + "jquery": "3.1.1", + "js-cookie": "2.1.3", + "jsonlint": "1.6.2", + "normalize.css": "3.0.2", + "nprogress": "0.2.0", + "showdown": "1.6.4", + "simplemde": "1.11.2", + "vue": "2.2.6", + "vue-multiselect": "2.0.0-beta.14", + "vue-router": "2.3.0", + "vuedraggable": "2.8.4", + "vuex": "2.2.1", + "xlsx": "0.8.1" + }, + "devDependencies": { + "autoprefixer": "6.7.2", + "babel-core": "6.22.1", + "babel-eslint": "7.1.1", + "babel-loader": "6.2.10", + "babel-plugin-transform-runtime": "6.22.0", + "babel-preset-es2015": "6.22.0", + "babel-preset-stage-2": "6.22.0", + "babel-register": "6.22.0", + "chalk": "1.1.3", + "connect-history-api-fallback": "1.3.0", + "copy-webpack-plugin": "4.0.1", + "css-loader": "0.26.1", + "eslint": "3.14.1", + "eslint-friendly-formatter": "2.0.7", + "eslint-loader": "1.6.1", + "eslint-plugin-html": "2.0.0", + "eslint-config-airbnb-base": "11.0.1", + "eslint-import-resolver-webpack": "0.8.1", + "eslint-plugin-import": "2.2.0", + "eventsource-polyfill": "0.9.6", + "express": "4.14.1", + "extract-text-webpack-plugin": "2.0.0", + "file-loader": "0.10.0", + "friendly-errors-webpack-plugin": "^1.1.3", + "function-bind": "1.1.0", + "html-webpack-plugin": "2.28.0", + "http-proxy-middleware": "0.17.3", + "webpack-bundle-analyzer": "2.2.1", + "semver": "5.3.0", + "opn": "4.0.2", + "optimize-css-assets-webpack-plugin": "1.3.0", + "ora": "1.1.0", + "rimraf": "2.6.0", + "url-loader": "0.5.7", + "vue-loader": "11.3.4", + "vue-style-loader": "2.0.0", + "vue-template-compiler": "2.2.6", + "webpack": "2.2.1", + "webpack-dev-middleware": "1.10.0", + "webpack-hot-middleware": "2.16.1", + "webpack-merge": "2.6.1", + "webpack-dashboard": "0.2.1", + "node-sass": "3.7.0", + "pushstate-server": "2.1.0", + "sass-loader": "4.0.2", + "script-loader": "0.7.0", + "style-loader": "0.13.1" + }, + "engines": { + "node": ">= 4.0.0", + "npm": ">= 3.0.0" + }, + "browserlist": [ + "> 1%", + "last 2 versions", + "not ie <= 8" + ] +} diff --git a/src/App.vue b/src/App.vue new file mode 100644 index 00000000..823cad8a --- /dev/null +++ b/src/App.vue @@ -0,0 +1,11 @@ + + + diff --git a/src/api/qiniu.js b/src/api/qiniu.js new file mode 100644 index 00000000..d63319a3 --- /dev/null +++ b/src/api/qiniu.js @@ -0,0 +1,28 @@ +import fetch, { tpFetch } from 'utils/fetch'; + +export function getToken() { + return fetch({ + url: '/qiniu/upload/token', + method: 'get' + }); +} +export function upload(data) { + return tpFetch({ + url: 'https://upload.qbox.me', + method: 'post', + data + }); +} + + +/* 外部uri转七牛uri*/ +export function netUpload(token, net_url) { + const imgData = { + net_url + }; + return fetch({ + url: '/qiniu/upload/net/async', + method: 'post', + data: imgData + }); +} diff --git a/src/assets/401.gif b/src/assets/401.gif new file mode 100644 index 00000000..cd6e0d94 Binary files /dev/null and b/src/assets/401.gif differ diff --git a/src/assets/compbig.gif b/src/assets/compbig.gif new file mode 100644 index 00000000..45bfc49c Binary files /dev/null and b/src/assets/compbig.gif differ diff --git a/src/assets/custom-theme/fonts/element-icons.ttf b/src/assets/custom-theme/fonts/element-icons.ttf new file mode 100644 index 00000000..9c1b7200 Binary files /dev/null and b/src/assets/custom-theme/fonts/element-icons.ttf differ diff --git a/src/assets/custom-theme/fonts/element-icons.woff b/src/assets/custom-theme/fonts/element-icons.woff new file mode 100644 index 00000000..2bbd019f Binary files /dev/null and b/src/assets/custom-theme/fonts/element-icons.woff differ diff --git a/src/assets/custom-theme/index.css b/src/assets/custom-theme/index.css new file mode 100644 index 00000000..6a8b51bb --- /dev/null +++ b/src/assets/custom-theme/index.css @@ -0,0 +1,23959 @@ +.custom-theme .el-form-item__content:before, +.custom-theme .el-form-item__content:after { + display: table; + content: ""; +} + +.custom-theme .el-form-item__content:after { + clear: both; +} + +.custom-theme .el-form-item:before, +.custom-theme .el-form-item:after { + display: table; + content: ""; +} + +.custom-theme .el-form-item:after { + clear: both; +} + +.custom-theme .el-breadcrumb:before, +.custom-theme .el-breadcrumb:after { + display: table; + content: ""; +} + +.custom-theme .el-breadcrumb:after { + clear: both; +} + +.custom-theme .el-button-group:before, +.custom-theme .el-button-group:after { + display: table; + content: ""; +} + +.custom-theme .el-button-group:after { + clear: both; +} + +.custom-theme .el-button-group:before, +.custom-theme .el-button-group:after { + display: table; + content: ""; +} + +.custom-theme .el-button-group:after { + clear: both; +} + +.custom-theme .el-button-group:before, +.custom-theme .el-button-group:after { + display: table; + content: ""; +} + +.custom-theme .el-button-group:after { + clear: both; +} + +.custom-theme .el-autocomplete-suggestion.is-loading li:after { + display: inline-block; + content: ""; + height: 100%; + vertical-align: middle; +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .fade-in-linear-enter-active, +.custom-theme .fade-in-linear-leave-active { + transition: opacity 200ms linear; +} + +.custom-theme .fade-in-linear-enter, +.custom-theme .fade-in-linear-leave, +.custom-theme .fade-in-linear-leave-active { + opacity: 0; +} + +.custom-theme .el-fade-in-enter-active, +.custom-theme .el-fade-in-leave-active { + transition: all .3s cubic-bezier(.55,0,.1,1); +} + +.custom-theme .el-fade-in-enter, +.custom-theme .el-fade-in-leave-active { + opacity: 0; +} + +.custom-theme .el-zoom-in-center-enter-active, +.custom-theme .el-zoom-in-center-leave-active { + transition: all .3s cubic-bezier(.55,0,.1,1); +} + +.custom-theme .el-zoom-in-center-enter, +.custom-theme .el-zoom-in-center-leave-active { + opacity: 0; + transform: scaleX(0); +} + +.custom-theme .el-zoom-in-top-enter-active, +.custom-theme .el-zoom-in-top-leave-active { + opacity: 1; + transform: scaleY(1); + transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1) 100ms, opacity 300ms cubic-bezier(0.23, 1, 0.32, 1) 100ms; + transform-origin: center top; +} + +.custom-theme .el-zoom-in-top-enter, +.custom-theme .el-zoom-in-top-leave-active { + opacity: 0; + transform: scaleY(0); +} + +.custom-theme .el-zoom-in-bottom-enter-active, +.custom-theme .el-zoom-in-bottom-leave-active { + opacity: 1; + transform: scaleY(1); + transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1) 100ms, opacity 300ms cubic-bezier(0.23, 1, 0.32, 1) 100ms; + transform-origin: center bottom; +} + +.custom-theme .el-zoom-in-bottom-enter, +.custom-theme .el-zoom-in-bottom-leave-active { + opacity: 0; + transform: scaleY(0); +} + +.custom-theme .collapse-transition { + transition: 0.3s height ease-in-out, 0.3s padding-top ease-in-out, 0.3s padding-bottom ease-in-out; +} + +.custom-theme .list-enter-active, +.custom-theme .list-leave-active { + transition: all 1s; +} + +.custom-theme .list-enter, +.custom-theme .list-leave-active { + opacity: 0; + transform: translateY(-30px); +} + +@font-face { + font-family: 'element-icons'; + src: url('fonts/element-icons.woff?t=1472440741') format('woff'), + url('fonts/element-icons.ttf?t=1472440741') format('truetype'); + /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/ + font-weight: 400; + font-style: normal; +} + +.custom-theme [class^="el-icon-"], +.custom-theme [class*=" el-icon-"] { + /* use !important to prevent issues with browser extensions that change fonts */ + font-family: 'element-icons' !important; + speak: none; + font-style: normal; + font-weight: 400; + font-variant: normal; + text-transform: none; + line-height: 1; + vertical-align: baseline; + display: inline-block; + /* Better Font Rendering =========== */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.custom-theme .el-icon-arrow-down:before { + content: "\e600"; +} + +.custom-theme .el-icon-arrow-left:before { + content: "\e601"; +} + +.custom-theme .el-icon-arrow-right:before { + content: "\e602"; +} + +.custom-theme .el-icon-arrow-up:before { + content: "\e603"; +} + +.custom-theme .el-icon-caret-bottom:before { + content: "\e604"; +} + +.custom-theme .el-icon-caret-left:before { + content: "\e605"; +} + +.custom-theme .el-icon-caret-right:before { + content: "\e606"; +} + +.custom-theme .el-icon-caret-top:before { + content: "\e607"; +} + +.custom-theme .el-icon-check:before { + content: "\e608"; +} + +.custom-theme .el-icon-circle-check:before { + content: "\e609"; +} + +.custom-theme .el-icon-circle-close:before { + content: "\e60a"; +} + +.custom-theme .el-icon-circle-cross:before { + content: "\e60b"; +} + +.custom-theme .el-icon-close:before { + content: "\e60c"; +} + +.custom-theme .el-icon-upload:before { + content: "\e60d"; +} + +.custom-theme .el-icon-d-arrow-left:before { + content: "\e60e"; +} + +.custom-theme .el-icon-d-arrow-right:before { + content: "\e60f"; +} + +.custom-theme .el-icon-d-caret:before { + content: "\e610"; +} + +.custom-theme .el-icon-date:before { + content: "\e611"; +} + +.custom-theme .el-icon-delete:before { + content: "\e612"; +} + +.custom-theme .el-icon-document:before { + content: "\e613"; +} + +.custom-theme .el-icon-edit:before { + content: "\e614"; +} + +.custom-theme .el-icon-information:before { + content: "\e615"; +} + +.custom-theme .el-icon-loading:before { + content: "\e616"; +} + +.custom-theme .el-icon-menu:before { + content: "\e617"; +} + +.custom-theme .el-icon-message:before { + content: "\e618"; +} + +.custom-theme .el-icon-minus:before { + content: "\e619"; +} + +.custom-theme .el-icon-more:before { + content: "\e61a"; +} + +.custom-theme .el-icon-picture:before { + content: "\e61b"; +} + +.custom-theme .el-icon-plus:before { + content: "\e61c"; +} + +.custom-theme .el-icon-search:before { + content: "\e61d"; +} + +.custom-theme .el-icon-setting:before { + content: "\e61e"; +} + +.custom-theme .el-icon-share:before { + content: "\e61f"; +} + +.custom-theme .el-icon-star-off:before { + content: "\e620"; +} + +.custom-theme .el-icon-star-on:before { + content: "\e621"; +} + +.custom-theme .el-icon-time:before { + content: "\e622"; +} + +.custom-theme .el-icon-warning:before { + content: "\e623"; +} + +.custom-theme .el-icon-delete2:before { + content: "\e624"; +} + +.custom-theme .el-icon-upload2:before { + content: "\e627"; +} + +.custom-theme .el-icon-view:before { + content: "\e626"; +} + +.custom-theme .el-icon-loading { + animation: rotating 1s linear infinite; +} + +.custom-theme .el-icon--right { + margin-left: 5px; +} + +.custom-theme .el-icon--left { + margin-right: 5px; +} + +@keyframes rotating { + 0% { + transform: rotateZ(0deg); + } + + 100% { + transform: rotateZ(360deg); + } +} + +@charset "UTF-8"; + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-select-dropdown { + position: absolute; + z-index: 1001; + border: solid 1px rgb(209, 215, 229); + border-radius: 2px; + background-color: #fff; + box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04); + box-sizing: border-box; + margin: 5px 0; +} + +.custom-theme .el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list { + padding: 0; +} + + + +.custom-theme .el-select-dropdown.is-multiple .el-select-dropdown__item.selected { + color: #073069; + background-color: #fff; +} + +.custom-theme .el-select-dropdown.is-multiple .el-select-dropdown__item.selected.hover { + background-color: rgb(228, 230, 241); +} + +.custom-theme .el-select-dropdown.is-multiple .el-select-dropdown__item.selected::after { + position: absolute; + right: 10px; + font-family: 'element-icons'; + content: "\E608"; + font-size: 11px; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.custom-theme .el-select-dropdown__empty { + padding: 10px 0; + margin: 0; + text-align: center; + color: #999; + font-size: 14px; +} + +.custom-theme .el-select-dropdown__wrap { + max-height: 274px; +} + +.custom-theme .el-select-dropdown__list { + list-style: none; + padding: 6px 0; + margin: 0; + box-sizing: border-box; +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-input { + position: relative; + font-size: 14px; + display: inline-block; + width: 100%; +} + +.custom-theme .el-input.is-disabled .el-input__inner { + background-color: rgb(238, 240, 246); + border-color: rgb(209, 215, 229); + color: #bbb; + cursor: not-allowed; +} + +.custom-theme .el-input.is-disabled .el-input__inner::-webkit-input-placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-input.is-disabled .el-input__inner:-ms-input-placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-input.is-disabled .el-input__inner::placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-input.is-active .el-input__inner { + outline: none; + border-color: #073069; +} + +.custom-theme .el-input__inner { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #fff; + background-image: none; + border-radius: 4px; + border: 1px solid rgb(191, 199, 217); + box-sizing: border-box; + color: rgb(31, 40, 61); + display: block; + font-size: inherit; + height: 36px; + line-height: 1; + outline: none; + padding: 3px 10px; + transition: border-color .2s cubic-bezier(.645,.045,.355,1); + width: 100%; +} + +.custom-theme .el-input__inner::-webkit-input-placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-input__inner:-ms-input-placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-input__inner::placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-input__inner:hover { + border-color: rgb(131, 139, 165); +} + +.custom-theme .el-input__inner:focus { + outline: none; + border-color: #073069; +} + +.custom-theme .el-input__icon { + position: absolute; + width: 35px; + height: 100%; + right: 0; + top: 0; + text-align: center; + color: rgb(191, 199, 217); + transition: all .3s; +} + +.custom-theme .el-input__icon:after { + content: ''; + height: 100%; + width: 0; + display: inline-block; + vertical-align: middle; +} + +.custom-theme .el-input__icon + .el-input__inner { + padding-right: 35px; +} + + + +.custom-theme .el-input__icon.is-clickable:hover { + cursor: pointer; + color: rgb(131, 139, 165); +} + +.custom-theme .el-input__icon.is-clickable:hover + .el-input__inner { + border-color: rgb(131, 139, 165); +} + +.custom-theme .el-input--large { + font-size: 16px; +} + +.custom-theme .el-input--large .el-input__inner { + height: 42px; +} + +.custom-theme .el-input--small { + font-size: 13px; +} + +.custom-theme .el-input--small .el-input__inner { + height: 30px; +} + +.custom-theme .el-input--mini { + font-size: 12px; +} + +.custom-theme .el-input--mini .el-input__inner { + height: 22px; +} + +.custom-theme .el-input-group { + line-height: normal; + display: inline-table; + width: 100%; + border-collapse: separate; +} + +.custom-theme .el-input-group > .el-input__inner { + vertical-align: middle; + display: table-cell; +} + +.custom-theme .el-input-group__append, +.custom-theme .el-input-group__prepend { + background-color: rgb(250, 251, 252); + color: rgb(151, 161, 190); + vertical-align: middle; + display: table-cell; + position: relative; + border: 1px solid rgb(191, 199, 217); + border-radius: 4px; + padding: 0 10px; + width: 1%; + white-space: nowrap; +} + +.custom-theme .el-input-group__append .el-select, +.custom-theme .el-input-group__append .el-button, +.custom-theme .el-input-group__prepend .el-select, +.custom-theme .el-input-group__prepend .el-button { + display: block; + margin: -10px; +} + +.custom-theme .el-input-group__append .el-button, +.custom-theme .el-input-group__append .el-select .el-input__inner, +.custom-theme .el-input-group__append .el-select:hover .el-input__inner, +.custom-theme .el-input-group__prepend .el-button, +.custom-theme .el-input-group__prepend .el-select .el-input__inner, +.custom-theme .el-input-group__prepend .el-select:hover .el-input__inner { + border-color: transparent; + background-color: transparent; + color: inherit; + border-top: 0; + border-bottom: 0; +} + +.custom-theme .el-input-group__append .el-button, +.custom-theme .el-input-group__append .el-input, +.custom-theme .el-input-group__prepend .el-button, +.custom-theme .el-input-group__prepend .el-input { + font-size: inherit; +} + +.custom-theme .el-input-group__prepend { + border-right: 0; + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.custom-theme .el-input-group__append { + border-left: 0; + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.custom-theme .el-input-group--prepend .el-input__inner { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.custom-theme .el-input-group--append .el-input__inner { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.custom-theme .el-textarea { + display: inline-block; + width: 100%; + vertical-align: bottom; +} + +.custom-theme .el-textarea.is-disabled .el-textarea__inner { + background-color: rgb(238, 240, 246); + border-color: rgb(209, 215, 229); + color: #bbb; + cursor: not-allowed; +} + +.custom-theme .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-textarea.is-disabled .el-textarea__inner::placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-textarea__inner { + display: block; + resize: vertical; + padding: 5px 7px; + line-height: 1.5; + box-sizing: border-box; + width: 100%; + font-size: 14px; + color: rgb(31, 40, 61); + background-color: #fff; + background-image: none; + border: 1px solid rgb(191, 199, 217); + border-radius: 4px; + transition: border-color .2s cubic-bezier(.645,.045,.355,1); +} + +.custom-theme .el-textarea__inner::-webkit-input-placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-textarea__inner:-ms-input-placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-textarea__inner::placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-textarea__inner:hover { + border-color: rgb(131, 139, 165); +} + +.custom-theme .el-textarea__inner:focus { + outline: none; + border-color: #073069; +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-tag { + background-color: rgb(131, 139, 165); + display: inline-block; + padding: 0 5px; + height: 24px; + line-height: 22px; + font-size: 12px; + color: #fff; + border-radius: 4px; + box-sizing: border-box; + border: 1px solid transparent; + white-space: nowrap; +} + +.custom-theme .el-tag .el-icon-close { + border-radius: 50%; + text-align: center; + position: relative; + cursor: pointer; + font-size: 12px; + transform: scale(.75, .75); + height: 18px; + width: 18px; + line-height: 18px; + vertical-align: middle; + top: -1px; + right: -2px; +} + +.custom-theme .el-tag .el-icon-close:hover { + background-color: #fff; + color: rgb(131, 139, 165); +} + +.custom-theme .el-tag--gray { + background-color: rgb(228, 230, 241); + border-color: rgb(228, 230, 241); + color: rgb(72, 81, 106); +} + +.custom-theme .el-tag--gray .el-tag__close:hover { + background-color: rgb(72, 81, 106); + color: #fff; +} + +.custom-theme .el-tag--gray.is-hit { + border-color: rgb(72, 81, 106); +} + +.custom-theme .el-tag--primary { + background-color: rgba(7, 48, 105, 0.1); + border-color: rgba(7, 48, 105, 0.2); + color: #073069; +} + +.custom-theme .el-tag--primary .el-tag__close:hover { + background-color: #073069; + color: #fff; +} + +.custom-theme .el-tag--primary.is-hit { + border-color: #073069; +} + +.custom-theme .el-tag--success { + background-color: rgba(18,206,102,0.10); + border-color: rgba(18,206,102,0.20); + color: #00643b; +} + +.custom-theme .el-tag--success .el-tag__close:hover { + background-color: #00643b; + color: #fff; +} + +.custom-theme .el-tag--success.is-hit { + border-color: #00643b; +} + +.custom-theme .el-tag--warning { + background-color: rgba(247,186,41,0.10); + border-color: rgba(247,186,41,0.20); + color: #f56a00; +} + +.custom-theme .el-tag--warning .el-tag__close:hover { + background-color: #f56a00; + color: #fff; +} + +.custom-theme .el-tag--warning.is-hit { + border-color: #f56a00; +} + +.custom-theme .el-tag--danger { + background-color: rgba(255,73,73,0.10); + border-color: rgba(255,73,73,0.20); + color: #ffbf00; +} + +.custom-theme .el-tag--danger .el-tag__close:hover { + background-color: #ffbf00; + color: #fff; +} + +.custom-theme .el-tag--danger.is-hit { + border-color: #ffbf00; +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + + + +.custom-theme .el-select-dropdown__item { + font-size: 14px; + padding: 8px 10px; + position: relative; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + color: rgb(72, 81, 106); + height: 36px; + line-height: 1.5; + box-sizing: border-box; + cursor: pointer; +} + +.custom-theme .el-select-dropdown__item.hover { + background-color: rgb(228, 230, 241); +} + +.custom-theme .el-select-dropdown__item.selected { + color: #fff; + background-color: #073069; +} + +.custom-theme .el-select-dropdown__item.selected.hover { + background-color: rgb(6, 42, 92); +} + +.custom-theme .el-select-dropdown__item span { + line-height: 1.5 !important; +} + +.custom-theme .el-select-dropdown__item.is-disabled { + color: rgb(191, 199, 217); + cursor: not-allowed; +} + +.custom-theme .el-select-dropdown__item.is-disabled:hover { + background-color: #fff; +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-select-group { + margin: 0; + padding: 0; +} + +.custom-theme .el-select-group .el-select-dropdown__item { + padding-left: 20px; +} + +.custom-theme .el-select-group__wrap { + list-style: none; + margin: 0; + padding: 0; +} + +.custom-theme .el-select-group__title { + padding-left: 10px; + font-size: 12px; + color: #999; + height: 30px; + line-height: 30px; +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-scrollbar { + overflow: hidden; + position: relative; +} + +.custom-theme .el-scrollbar:hover .el-scrollbar__bar, +.custom-theme .el-scrollbar:active .el-scrollbar__bar, +.custom-theme .el-scrollbar:focus .el-scrollbar__bar { + opacity: 1; + transition: opacity 340ms ease-out; +} + +.custom-theme .el-scrollbar__wrap { + overflow: scroll; +} + + + +.custom-theme .el-scrollbar__wrap--hidden-default::-webkit-scrollbar { + width: 0; + height: 0; +} + +.custom-theme .el-scrollbar__thumb { + position: relative; + display: block; + width: 0; + height: 0; + cursor: pointer; + border-radius: inherit; + background-color: rgba(151, 161, 190, 0.3); + transition: .3s background-color; +} + +.custom-theme .el-scrollbar__thumb:hover { + background-color: rgba(151, 161, 190, 0.5); +} + +.custom-theme .el-scrollbar__bar { + position: absolute; + right: 2px; + bottom: 2px; + z-index: 1; + border-radius: 4px; + opacity: 0; + transition: opacity 120ms ease-out; +} + +.custom-theme .el-scrollbar__bar.is-horizontal { + height: 6px; + left: 2px; +} + +.custom-theme .el-scrollbar__bar.is-horizontal > div { + height: 100%; +} + +.custom-theme .el-scrollbar__bar.is-vertical { + width: 6px; + top: 2px; +} + +.custom-theme .el-scrollbar__bar.is-vertical > div { + width: 100%; +} + +.custom-theme .el-select { + display: inline-block; + position: relative; +} + +.custom-theme .el-select:hover .el-input__inner { + border-color: rgb(131, 139, 165); +} + +.custom-theme .el-select .el-input__inner { + cursor: pointer; +} + +.custom-theme .el-select .el-input__inner:focus { + border-color: #073069; +} + + + +.custom-theme .el-select .el-input .el-input__icon { + color: rgb(191, 199, 217); + font-size: 12px; + transition: transform .3s; + transform: translateY(-50%) rotateZ(180deg); + line-height: 16px; + top: 50%; + cursor: pointer; +} + +.custom-theme .el-select .el-input .el-input__icon.is-show-close { + transition: 0s; + width: 16px; + height: 16px; + font-size: 14px; + right: 8px; + text-align: center; + transform: translateY(-50%) rotateZ(180deg); + border-radius: 100%; + color: rgb(191, 199, 217); +} + +.custom-theme .el-select .el-input .el-input__icon.is-show-close:hover { + color: rgb(151, 161, 190); +} + +.custom-theme .el-select .el-input .el-input__icon.is-reverse { + transform: translateY(-50%); +} + + + +.custom-theme .el-select .el-input.is-disabled .el-input__inner { + cursor: not-allowed; +} + +.custom-theme .el-select .el-input.is-disabled .el-input__inner:hover { + border-color: rgb(209, 215, 229); +} + +.custom-theme .el-select > .el-input { + display: block; +} + +.custom-theme .el-select .el-tag__close { + margin-top: -2px; +} + +.custom-theme .el-select .el-tag { + height: 24px; + line-height: 24px; + box-sizing: border-box; + margin: 3px 0 3px 6px; +} + +.custom-theme .el-select__input { + border: none; + outline: none; + padding: 0; + margin-left: 10px; + color: #666; + font-size: 14px; + vertical-align: baseline; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + height: 28px; + background-color: transparent; +} + +.custom-theme .el-select__input.is-mini { + height: 14px; +} + +.custom-theme .el-select__close { + cursor: pointer; + position: absolute; + top: 8px; + z-index: 1000; + right: 25px; + color: rgb(191, 199, 217); + line-height: 18px; + font-size: 12px; +} + +.custom-theme .el-select__close:hover { + color: rgb(151, 161, 190); +} + +.custom-theme .el-select__tags { + position: absolute; + line-height: normal; + white-space: normal; + z-index: 1000; + top: 50%; + transform: translateY(-50%); +} + +.custom-theme .el-select__tag { + display: inline-block; + height: 24px; + line-height: 24px; + font-size: 14px; + border-radius: 4px; + color: #fff; + background-color: #073069; +} + +.custom-theme .el-select__tag .el-icon-close { + font-size: 12px; +} + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-pagination { + white-space: nowrap; + padding: 2px 5px; + color: rgb(72, 81, 106); +} + +.custom-theme .el-pagination:before, +.custom-theme .el-pagination:after { + display: table; + content: ""; +} + +.custom-theme .el-pagination:after { + clear: both; +} + +.custom-theme .el-pagination span, +.custom-theme .el-pagination button { + display: inline-block; + font-size: 13px; + min-width: 28px; + height: 28px; + line-height: 28px; + vertical-align: top; + box-sizing: border-box; +} + +.custom-theme .el-pagination .el-select .el-input { + width: 110px; +} + +.custom-theme .el-pagination .el-select .el-input input { + padding-right: 25px; + border-radius: 2px; + height: 28px; +} + +.custom-theme .el-pagination button { + border: none; + padding: 0 6px; + background: transparent; +} + +.custom-theme .el-pagination button:focus { + outline: none; +} + +.custom-theme .el-pagination button:hover { + color: #073069; +} + +.custom-theme .el-pagination button.disabled { + color: #e4e4e4; + background-color: #fff; + cursor: not-allowed; +} + +.custom-theme .el-pagination .btn-prev, +.custom-theme .el-pagination .btn-next { + background: center center no-repeat; + background-size: 16px; + background-color: #fff; + border: 1px solid rgb(209, 215, 229); + cursor: pointer; + margin: 0; + color: rgb(151, 161, 190); +} + +.custom-theme .el-pagination .btn-prev .el-icon, +.custom-theme .el-pagination .btn-next .el-icon { + display: block; + font-size: 12px; +} + +.custom-theme .el-pagination .btn-prev { + border-radius: 2px 0 0 2px; + border-right: 0; +} + +.custom-theme .el-pagination .btn-next { + border-radius: 0 2px 2px 0; + border-left: 0; +} + +.custom-theme .el-pagination--small .btn-prev, +.custom-theme .el-pagination--small .btn-next, +.custom-theme .el-pagination--small .el-pager li, +.custom-theme .el-pagination--small .el-pager li:last-child { + border-color: transparent; + font-size: 12px; + line-height: 22px; + height: 22px; + min-width: 22px; +} + +.custom-theme .el-pagination--small .arrow.disabled { + visibility: hidden; +} + +.custom-theme .el-pagination--small .el-pager li { + border-radius: 2px; +} + +.custom-theme .el-pagination__sizes { + margin: 0 10px 0 0; +} + +.custom-theme .el-pagination__sizes .el-input .el-input__inner { + font-size: 13px; + border-color: rgb(209, 215, 229); +} + +.custom-theme .el-pagination__sizes .el-input .el-input__inner:hover { + border-color: #073069; +} + +.custom-theme .el-pagination__jump { + margin-left: 10px; +} + +.custom-theme .el-pagination__total { + margin: 0 10px; +} + +.custom-theme .el-pagination__rightwrapper { + float: right; +} + +.custom-theme .el-pagination__editor { + border: 1px solid rgb(209, 215, 229); + border-radius: 2px; + line-height: 18px; + padding: 4px 2px; + width: 30px; + text-align: center; + margin: 0 6px; + box-sizing: border-box; + transition: border .3s; +} + +.custom-theme .el-pagination__editor::-webkit-inner-spin-button, +.custom-theme .el-pagination__editor::-webkit-outer-spin-button { + -webkit-appearance: none; + margin: 0; +} + +.custom-theme .el-pagination__editor:focus { + outline: none; + border-color: #073069; +} + +.custom-theme .el-pager { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + list-style: none; + display: inline-block; + vertical-align: top; + font-size: 0; + padding: 0; + margin: 0; +} + +.custom-theme .el-pager li { + padding: 0 4px; + border: 1px solid rgb(209, 215, 229); + border-right: 0; + background: #fff; + vertical-align: top; + display: inline-block; + font-size: 13px; + min-width: 28px; + height: 28px; + line-height: 28px; + cursor: pointer; + box-sizing: border-box; + text-align: center; + margin: 0; +} + +.custom-theme .el-pager li:last-child { + border-right: 1px solid rgb(209, 215, 229); +} + +.custom-theme .el-pager li.btn-quicknext, +.custom-theme .el-pager li.btn-quickprev { + line-height: 28px; + color: rgb(151, 161, 190); +} + +.custom-theme .el-pager li.btn-quickprev:hover { + cursor: pointer; +} + +.custom-theme .el-pager li.btn-quicknext:hover { + cursor: pointer; +} + +.custom-theme .el-pager li.active + li { + border-left: 0; + padding-left: 5px; +} + +.custom-theme .el-pager li:hover { + color: #073069; +} + +.custom-theme .el-pager li.active { + border-color: #073069; + background-color: #073069; + color: #fff; + cursor: default; +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .v-modal-enter { + animation: v-modal-in .2s ease; +} + +.custom-theme .v-modal-leave { + animation: v-modal-out .2s ease forwards; +} + +@keyframes v-modal-in { + 0% { + opacity: 0; + } + + 100% { + + } +} + +@keyframes v-modal-out { + 0% { + + } + + 100% { + opacity: 0; + } +} + +.custom-theme .v-modal { + position: fixed; + left: 0; + top: 0; + width: 100%; + height: 100%; + opacity: 0.5; + background: #000; +} + +.custom-theme .el-dialog { + position: absolute; + left: 50%; + transform: translateX(-50%); + background: #fff; + border-radius: 2px; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3); + box-sizing: border-box; +} + +.custom-theme .el-dialog--tiny { + width: 30%; +} + +.custom-theme .el-dialog--small { + width: 50%; +} + +.custom-theme .el-dialog--large { + width: 90%; +} + +.custom-theme .el-dialog--full { + width: 100%; + top: 0; + height: 100%; + overflow: auto; +} + +.custom-theme .el-dialog__wrapper { + top: 0; + right: 0; + bottom: 0; + left: 0; + position: fixed; + overflow: auto; + margin: 0; +} + +.custom-theme .el-dialog__header { + padding: 20px 20px 0; +} + +.custom-theme .el-dialog__close { + cursor: pointer; + color: rgb(191, 199, 217); +} + +.custom-theme .el-dialog__close:hover { + color: #073069; +} + +.custom-theme .el-dialog__title { + line-height: 1; + font-size: 16px; + font-weight: 700; + color: rgb(31, 40, 61); +} + +.custom-theme .el-dialog__body { + padding: 30px 20px; + color: rgb(72, 81, 106); + font-size: 14px; +} + +.custom-theme .el-dialog__headerbtn { + float: right; +} + +.custom-theme .el-dialog__footer { + padding: 10px 20px 15px; + text-align: right; + box-sizing: border-box; +} + +.custom-theme .dialog-fade-enter-active { + animation: dialog-fade-in .3s; +} + +.custom-theme .dialog-fade-leave-active { + animation: dialog-fade-out .3s; +} + +@keyframes dialog-fade-in { + 0% { + transform: translate3d(0, -20px, 0); + opacity: 0; + } + + 100% { + transform: translate3d(0, 0, 0); + opacity: 1; + } +} + +@keyframes dialog-fade-out { + 0% { + transform: translate3d(0, 0, 0); + opacity: 1; + } + + 100% { + transform: translate3d(0, -20px, 0); + opacity: 0; + } +} + +@charset "UTF-8"; + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-input { + position: relative; + font-size: 14px; + display: inline-block; + width: 100%; +} + +.custom-theme .el-input.is-disabled .el-input__inner { + background-color: rgb(238, 240, 246); + border-color: rgb(209, 215, 229); + color: #bbb; + cursor: not-allowed; +} + +.custom-theme .el-input.is-disabled .el-input__inner::-webkit-input-placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-input.is-disabled .el-input__inner:-ms-input-placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-input.is-disabled .el-input__inner::placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-input.is-active .el-input__inner { + outline: none; + border-color: #073069; +} + +.custom-theme .el-input__inner { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #fff; + background-image: none; + border-radius: 4px; + border: 1px solid rgb(191, 199, 217); + box-sizing: border-box; + color: rgb(31, 40, 61); + display: block; + font-size: inherit; + height: 36px; + line-height: 1; + outline: none; + padding: 3px 10px; + transition: border-color .2s cubic-bezier(.645,.045,.355,1); + width: 100%; +} + +.custom-theme .el-input__inner::-webkit-input-placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-input__inner:-ms-input-placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-input__inner::placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-input__inner:hover { + border-color: rgb(131, 139, 165); +} + +.custom-theme .el-input__inner:focus { + outline: none; + border-color: #073069; +} + +.custom-theme .el-input__icon { + position: absolute; + width: 35px; + height: 100%; + right: 0; + top: 0; + text-align: center; + color: rgb(191, 199, 217); + transition: all .3s; +} + +.custom-theme .el-input__icon:after { + content: ''; + height: 100%; + width: 0; + display: inline-block; + vertical-align: middle; +} + +.custom-theme .el-input__icon + .el-input__inner { + padding-right: 35px; +} + + + +.custom-theme .el-input__icon.is-clickable:hover { + cursor: pointer; + color: rgb(131, 139, 165); +} + +.custom-theme .el-input__icon.is-clickable:hover + .el-input__inner { + border-color: rgb(131, 139, 165); +} + +.custom-theme .el-input--large { + font-size: 16px; +} + +.custom-theme .el-input--large .el-input__inner { + height: 42px; +} + +.custom-theme .el-input--small { + font-size: 13px; +} + +.custom-theme .el-input--small .el-input__inner { + height: 30px; +} + +.custom-theme .el-input--mini { + font-size: 12px; +} + +.custom-theme .el-input--mini .el-input__inner { + height: 22px; +} + +.custom-theme .el-input-group { + line-height: normal; + display: inline-table; + width: 100%; + border-collapse: separate; +} + +.custom-theme .el-input-group > .el-input__inner { + vertical-align: middle; + display: table-cell; +} + +.custom-theme .el-input-group__append, +.custom-theme .el-input-group__prepend { + background-color: rgb(250, 251, 252); + color: rgb(151, 161, 190); + vertical-align: middle; + display: table-cell; + position: relative; + border: 1px solid rgb(191, 199, 217); + border-radius: 4px; + padding: 0 10px; + width: 1%; + white-space: nowrap; +} + +.custom-theme .el-input-group__append .el-select, +.custom-theme .el-input-group__append .el-button, +.custom-theme .el-input-group__prepend .el-select, +.custom-theme .el-input-group__prepend .el-button { + display: block; + margin: -10px; +} + +.custom-theme .el-input-group__append .el-button, +.custom-theme .el-input-group__append .el-select .el-input__inner, +.custom-theme .el-input-group__append .el-select:hover .el-input__inner, +.custom-theme .el-input-group__prepend .el-button, +.custom-theme .el-input-group__prepend .el-select .el-input__inner, +.custom-theme .el-input-group__prepend .el-select:hover .el-input__inner { + border-color: transparent; + background-color: transparent; + color: inherit; + border-top: 0; + border-bottom: 0; +} + +.custom-theme .el-input-group__append .el-button, +.custom-theme .el-input-group__append .el-input, +.custom-theme .el-input-group__prepend .el-button, +.custom-theme .el-input-group__prepend .el-input { + font-size: inherit; +} + +.custom-theme .el-input-group__prepend { + border-right: 0; + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.custom-theme .el-input-group__append { + border-left: 0; + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.custom-theme .el-input-group--prepend .el-input__inner { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.custom-theme .el-input-group--append .el-input__inner { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.custom-theme .el-textarea { + display: inline-block; + width: 100%; + vertical-align: bottom; +} + +.custom-theme .el-textarea.is-disabled .el-textarea__inner { + background-color: rgb(238, 240, 246); + border-color: rgb(209, 215, 229); + color: #bbb; + cursor: not-allowed; +} + +.custom-theme .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-textarea.is-disabled .el-textarea__inner::placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-textarea__inner { + display: block; + resize: vertical; + padding: 5px 7px; + line-height: 1.5; + box-sizing: border-box; + width: 100%; + font-size: 14px; + color: rgb(31, 40, 61); + background-color: #fff; + background-image: none; + border: 1px solid rgb(191, 199, 217); + border-radius: 4px; + transition: border-color .2s cubic-bezier(.645,.045,.355,1); +} + +.custom-theme .el-textarea__inner::-webkit-input-placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-textarea__inner:-ms-input-placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-textarea__inner::placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-textarea__inner:hover { + border-color: rgb(131, 139, 165); +} + +.custom-theme .el-textarea__inner:focus { + outline: none; + border-color: #073069; +} + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-autocomplete { + position: relative; + display: inline-block; +} + +.custom-theme .el-autocomplete-suggestion { + margin: 5px 0; + box-shadow: 0 0 6px 0 rgba(0,0,0,0.04), 0 2px 4px 0 rgba(0,0,0,0.12); +} + +.custom-theme .el-autocomplete-suggestion li { + list-style: none; + line-height: 36px; + padding: 0 10px; + margin: 0; + cursor: pointer; + color: rgb(72, 81, 106); + font-size: 14px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.custom-theme .el-autocomplete-suggestion li:hover { + background-color: rgb(228, 230, 241); +} + +.custom-theme .el-autocomplete-suggestion li.highlighted { + background-color: #073069; + color: #fff; +} + +.custom-theme .el-autocomplete-suggestion li:active { + background-color: rgb(6, 39, 86); +} + +.custom-theme .el-autocomplete-suggestion li.divider { + margin-top: 6px; + border-top: 1px solid rgb(209, 215, 229); +} + +.custom-theme .el-autocomplete-suggestion li.divider:last-child { + margin-bottom: -6px; +} + +.custom-theme .el-autocomplete-suggestion.is-loading li { + text-align: center; + height: 100px; + line-height: 100px; + font-size: 20px; + color: #999; +} + +.custom-theme .el-autocomplete-suggestion.is-loading li:hover { + background-color: #fff; +} + +.custom-theme .el-autocomplete-suggestion.is-loading .el-icon-loading { + vertical-align: middle; +} + +.custom-theme .el-autocomplete-suggestion__wrap { + max-height: 280px; + overflow: auto; + background-color: #fff; + border: 1px solid rgb(209, 215, 229); + padding: 6px 0; + border-radius: 2px; + box-sizing: border-box; +} + +.custom-theme .el-autocomplete-suggestion__list { + margin: 0; + padding: 0; +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-button { + display: inline-block; + line-height: 1; + white-space: nowrap; + cursor: pointer; + background: #fff; + border: 1px solid rgb(191, 199, 217); + color: rgb(31, 40, 61); + -webkit-appearance: none; + text-align: center; + box-sizing: border-box; + outline: none; + margin: 0; + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + padding: 10px 15px; + font-size: 14px; + border-radius: 4px; +} + +.custom-theme .el-button + .el-button { + margin-left: 10px; +} + +.custom-theme .el-button:hover, +.custom-theme .el-button:focus { + color: #073069; + border-color: #073069; +} + +.custom-theme .el-button:active { + color: rgb(6, 43, 95); + border-color: rgb(6, 43, 95); + outline: none; +} + +.custom-theme .el-button::-moz-focus-inner { + border: 0; +} + + + +.custom-theme .el-button [class*="el-icon-"] + span { + margin-left: 5px; +} + +.custom-theme .el-button.is-loading { + position: relative; + pointer-events: none; +} + +.custom-theme .el-button.is-loading:before { + pointer-events: none; + content: ''; + position: absolute; + left: -1px; + top: -1px; + right: -1px; + bottom: -1px; + border-radius: inherit; + background-color: rgba(255,255,255,.35); +} + + + +.custom-theme .el-button.is-disabled, +.custom-theme .el-button.is-disabled:hover, +.custom-theme .el-button.is-disabled:focus { + color: rgb(191, 199, 217); + cursor: not-allowed; + background-image: none; + background-color: rgb(238, 240, 246); + border-color: rgb(209, 215, 229); +} + +.custom-theme .el-button.is-disabled.el-button--text { + background-color: transparent; +} + + + +.custom-theme .el-button.is-disabled.is-plain, +.custom-theme .el-button.is-disabled.is-plain:hover, +.custom-theme .el-button.is-disabled.is-plain:focus { + background-color: #fff; + border-color: rgb(209, 215, 229); + color: rgb(191, 199, 217); +} + +.custom-theme .el-button.is-active { + color: rgb(6, 43, 95); + border-color: rgb(6, 43, 95); +} + + + +.custom-theme .el-button.is-plain:hover, +.custom-theme .el-button.is-plain:focus { + background: #fff; + border-color: #073069; + color: #073069; +} + +.custom-theme .el-button.is-plain:active { + background: #fff; + border-color: rgb(6, 43, 95); + color: rgb(6, 43, 95); + outline: none; +} + +.custom-theme .el-button--primary { + color: #fff; + background-color: #073069; + border-color: #073069; +} + +.custom-theme .el-button--primary:hover, +.custom-theme .el-button--primary:focus { + background: rgb(57, 89, 135); + border-color: rgb(57, 89, 135); + color: #fff; +} + +.custom-theme .el-button--primary:active { + background: rgb(6, 43, 95); + border-color: rgb(6, 43, 95); + color: #fff; + outline: none; +} + +.custom-theme .el-button--primary.is-active { + background: rgb(6, 43, 95); + border-color: rgb(6, 43, 95); + color: #fff; +} + +.custom-theme .el-button--primary.is-plain { + background: #fff; + border: 1px solid rgb(191, 199, 217); + color: rgb(31, 40, 61); +} + +.custom-theme .el-button--primary.is-plain:hover, +.custom-theme .el-button--primary.is-plain:focus { + background: #fff; + border-color: #073069; + color: #073069; +} + +.custom-theme .el-button--primary.is-plain:active { + background: #fff; + border-color: rgb(6, 43, 95); + color: rgb(6, 43, 95); + outline: none; +} + +.custom-theme .el-button--success { + color: #fff; + background-color: #00643b; + border-color: #00643b; +} + +.custom-theme .el-button--success:hover, +.custom-theme .el-button--success:focus { + background: rgb(51, 131, 98); + border-color: rgb(51, 131, 98); + color: #fff; +} + +.custom-theme .el-button--success:active { + background: rgb(0, 90, 53); + border-color: rgb(0, 90, 53); + color: #fff; + outline: none; +} + +.custom-theme .el-button--success.is-active { + background: rgb(0, 90, 53); + border-color: rgb(0, 90, 53); + color: #fff; +} + +.custom-theme .el-button--success.is-plain { + background: #fff; + border: 1px solid rgb(191, 199, 217); + color: rgb(31, 40, 61); +} + +.custom-theme .el-button--success.is-plain:hover, +.custom-theme .el-button--success.is-plain:focus { + background: #fff; + border-color: #00643b; + color: #00643b; +} + +.custom-theme .el-button--success.is-plain:active { + background: #fff; + border-color: rgb(0, 90, 53); + color: rgb(0, 90, 53); + outline: none; +} + +.custom-theme .el-button--warning { + color: #fff; + background-color: #f56a00; + border-color: #f56a00; +} + +.custom-theme .el-button--warning:hover, +.custom-theme .el-button--warning:focus { + background: rgb(247, 136, 51); + border-color: rgb(247, 136, 51); + color: #fff; +} + +.custom-theme .el-button--warning:active { + background: rgb(221, 95, 0); + border-color: rgb(221, 95, 0); + color: #fff; + outline: none; +} + +.custom-theme .el-button--warning.is-active { + background: rgb(221, 95, 0); + border-color: rgb(221, 95, 0); + color: #fff; +} + +.custom-theme .el-button--warning.is-plain { + background: #fff; + border: 1px solid rgb(191, 199, 217); + color: rgb(31, 40, 61); +} + +.custom-theme .el-button--warning.is-plain:hover, +.custom-theme .el-button--warning.is-plain:focus { + background: #fff; + border-color: #f56a00; + color: #f56a00; +} + +.custom-theme .el-button--warning.is-plain:active { + background: #fff; + border-color: rgb(221, 95, 0); + color: rgb(221, 95, 0); + outline: none; +} + +.custom-theme .el-button--danger { + color: #fff; + background-color: #ffbf00; + border-color: #ffbf00; +} + +.custom-theme .el-button--danger:hover, +.custom-theme .el-button--danger:focus { + background: rgb(255, 204, 51); + border-color: rgb(255, 204, 51); + color: #fff; +} + +.custom-theme .el-button--danger:active { + background: rgb(230, 172, 0); + border-color: rgb(230, 172, 0); + color: #fff; + outline: none; +} + +.custom-theme .el-button--danger.is-active { + background: rgb(230, 172, 0); + border-color: rgb(230, 172, 0); + color: #fff; +} + +.custom-theme .el-button--danger.is-plain { + background: #fff; + border: 1px solid rgb(191, 199, 217); + color: rgb(31, 40, 61); +} + +.custom-theme .el-button--danger.is-plain:hover, +.custom-theme .el-button--danger.is-plain:focus { + background: #fff; + border-color: #ffbf00; + color: #ffbf00; +} + +.custom-theme .el-button--danger.is-plain:active { + background: #fff; + border-color: rgb(230, 172, 0); + color: rgb(230, 172, 0); + outline: none; +} + +.custom-theme .el-button--info { + color: #fff; + background-color: #00a2ae; + border-color: #00a2ae; +} + +.custom-theme .el-button--info:hover, +.custom-theme .el-button--info:focus { + background: rgb(51, 181, 190); + border-color: rgb(51, 181, 190); + color: #fff; +} + +.custom-theme .el-button--info:active { + background: rgb(0, 146, 157); + border-color: rgb(0, 146, 157); + color: #fff; + outline: none; +} + +.custom-theme .el-button--info.is-active { + background: rgb(0, 146, 157); + border-color: rgb(0, 146, 157); + color: #fff; +} + +.custom-theme .el-button--info.is-plain { + background: #fff; + border: 1px solid rgb(191, 199, 217); + color: rgb(31, 40, 61); +} + +.custom-theme .el-button--info.is-plain:hover, +.custom-theme .el-button--info.is-plain:focus { + background: #fff; + border-color: #00a2ae; + color: #00a2ae; +} + +.custom-theme .el-button--info.is-plain:active { + background: #fff; + border-color: rgb(0, 146, 157); + color: rgb(0, 146, 157); + outline: none; +} + +.custom-theme .el-button--large { + padding: 11px 19px; + font-size: 16px; + border-radius: 4px; +} + +.custom-theme .el-button--small { + padding: 7px 9px; + font-size: 12px; + border-radius: 4px; +} + +.custom-theme .el-button--mini { + padding: 4px 4px; + font-size: 12px; + border-radius: 4px; +} + +.custom-theme .el-button--text { + border: none; + color: #073069; + background: transparent; + padding-left: 0; + padding-right: 0; +} + +.custom-theme .el-button--text:hover, +.custom-theme .el-button--text:focus { + color: rgb(57, 89, 135); +} + +.custom-theme .el-button--text:active { + color: rgb(6, 43, 95); +} + +.custom-theme .el-button-group { + display: inline-block; + vertical-align: middle; +} + + + +.custom-theme .el-button-group .el-button--primary:first-child { + border-right-color: rgba(255, 255, 255, 0.5); +} + +.custom-theme .el-button-group .el-button--primary:last-child { + border-left-color: rgba(255, 255, 255, 0.5); +} + +.custom-theme .el-button-group .el-button--primary:not(:first-child):not(:last-child) { + border-left-color: rgba(255, 255, 255, 0.5); + border-right-color: rgba(255, 255, 255, 0.5); +} + + + +.custom-theme .el-button-group .el-button--success:first-child { + border-right-color: rgba(255, 255, 255, 0.5); +} + +.custom-theme .el-button-group .el-button--success:last-child { + border-left-color: rgba(255, 255, 255, 0.5); +} + +.custom-theme .el-button-group .el-button--success:not(:first-child):not(:last-child) { + border-left-color: rgba(255, 255, 255, 0.5); + border-right-color: rgba(255, 255, 255, 0.5); +} + + + +.custom-theme .el-button-group .el-button--warning:first-child { + border-right-color: rgba(255, 255, 255, 0.5); +} + +.custom-theme .el-button-group .el-button--warning:last-child { + border-left-color: rgba(255, 255, 255, 0.5); +} + +.custom-theme .el-button-group .el-button--warning:not(:first-child):not(:last-child) { + border-left-color: rgba(255, 255, 255, 0.5); + border-right-color: rgba(255, 255, 255, 0.5); +} + + + +.custom-theme .el-button-group .el-button--danger:first-child { + border-right-color: rgba(255, 255, 255, 0.5); +} + +.custom-theme .el-button-group .el-button--danger:last-child { + border-left-color: rgba(255, 255, 255, 0.5); +} + +.custom-theme .el-button-group .el-button--danger:not(:first-child):not(:last-child) { + border-left-color: rgba(255, 255, 255, 0.5); + border-right-color: rgba(255, 255, 255, 0.5); +} + + + +.custom-theme .el-button-group .el-button--info:first-child { + border-right-color: rgba(255, 255, 255, 0.5); +} + +.custom-theme .el-button-group .el-button--info:last-child { + border-left-color: rgba(255, 255, 255, 0.5); +} + +.custom-theme .el-button-group .el-button--info:not(:first-child):not(:last-child) { + border-left-color: rgba(255, 255, 255, 0.5); + border-right-color: rgba(255, 255, 255, 0.5); +} + +.custom-theme .el-button-group .el-button { + float: left; + position: relative; +} + +.custom-theme .el-button-group .el-button + .el-button { + margin-left: 0; +} + +.custom-theme .el-button-group .el-button:first-child { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.custom-theme .el-button-group .el-button:last-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.custom-theme .el-button-group .el-button:not(:first-child):not(:last-child) { + border-radius: 0; +} + +.custom-theme .el-button-group .el-button:not(:last-child) { + margin-right: -1px; +} + +.custom-theme .el-button-group .el-button:hover, +.custom-theme .el-button-group .el-button:focus, +.custom-theme .el-button-group .el-button:active { + z-index: 1; +} + +.custom-theme .el-button-group .el-button.is-active { + z-index: 1; +} + +.custom-theme .el-dropdown { + display: inline-block; + position: relative; + color: rgb(72, 81, 106); + font-size: 14px; +} + +.custom-theme .el-dropdown .el-button-group { + display: block; +} + +.custom-theme .el-dropdown .el-dropdown__caret-button { + padding-right: 5px; + padding-left: 5px; +} + +.custom-theme .el-dropdown .el-dropdown__caret-button .el-dropdown__icon { + padding-left: 0; +} + +.custom-theme .el-dropdown__icon { + font-size: 12px; + margin: 0 3px; +} + +.custom-theme .el-dropdown-menu { + margin: 5px 0; + background-color: #fff; + border: 1px solid rgb(209, 215, 229); + box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .12); + padding: 6px 0; + z-index: 10; + position: absolute; + top: 0; + left: 0; + min-width: 100px; +} + +.custom-theme .el-dropdown-menu__item { + list-style: none; + line-height: 36px; + padding: 0 10px; + margin: 0; + cursor: pointer; +} + +.custom-theme .el-dropdown-menu__item:not(.is-disabled):hover { + background-color: rgb(228, 230, 241); + color: rgb(72, 81, 106); +} + +.custom-theme .el-dropdown-menu__item.is-disabled { + cursor: default; + color: rgb(191, 199, 217); + pointer-events: none; +} + +.custom-theme .el-dropdown-menu__item--divided { + position: relative; + margin-top: 6px; + border-top: 1px solid rgb(209, 215, 229); +} + +.custom-theme .el-dropdown-menu__item--divided:before { + content: ''; + height: 6px; + display: block; + margin: 0 -10px; + background-color: #fff; +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-menu-item, +.custom-theme .el-submenu__title { + height: 56px; + line-height: 56px; + font-size: 14px; + color: rgb(72, 81, 106); + padding: 0 20px; + cursor: pointer; + position: relative; + transition: border-color .3s, background-color .3s, color .3s; + box-sizing: border-box; + white-space: nowrap; +} + +.custom-theme .el-menu { + border-radius: 2px; + list-style: none; + position: relative; + margin: 0; + padding-left: 0; + background-color: rgb(238, 240, 246); +} + +.custom-theme .el-menu:before, +.custom-theme .el-menu:after { + display: table; + content: ""; +} + +.custom-theme .el-menu:after { + clear: both; +} + +.custom-theme .el-menu li { + list-style: none; +} + +.custom-theme .el-menu--dark { + background-color: #00a2ae; +} + +.custom-theme .el-menu--dark .el-menu-item, +.custom-theme .el-menu--dark .el-submenu__title { + color: rgb(191, 199, 217); +} + +.custom-theme .el-menu--dark .el-menu-item:hover, +.custom-theme .el-menu--dark .el-submenu__title:hover { + background-color: rgb(72, 81, 106); +} + +.custom-theme .el-menu--dark .el-submenu .el-menu { + background-color: rgb(31, 40, 61); +} + +.custom-theme .el-menu--dark .el-submenu .el-menu .el-menu-item:hover { + background-color: rgb(72, 81, 106); +} + + + +.custom-theme .el-menu--horizontal .el-menu-item { + float: left; + height: 60px; + line-height: 60px; + margin: 0; + cursor: pointer; + position: relative; + box-sizing: border-box; + border-bottom: 5px solid transparent; +} + +.custom-theme .el-menu--horizontal .el-menu-item a, +.custom-theme .el-menu--horizontal .el-menu-item a:hover { + color: inherit; +} + +.custom-theme .el-menu--horizontal .el-menu-item:hover { + background-color: rgb(209, 215, 229); +} + +.custom-theme .el-menu--horizontal .el-submenu { + float: left; + position: relative; +} + +.custom-theme .el-menu--horizontal .el-submenu > .el-menu { + position: absolute; + top: 65px; + left: 0; + border: 1px solid rgb(209, 215, 229); + padding: 5px 0; + background-color: #fff; + z-index: 100; + min-width: 100%; + box-shadow: 0px 2px 4px 0px rgba(0,0,0,0.12), 0px 0px 6px 0px rgba(0,0,0,0.04); +} + +.custom-theme .el-menu--horizontal .el-submenu .el-submenu__title { + height: 60px; + line-height: 60px; + border-bottom: 5px solid transparent; +} + +.custom-theme .el-menu--horizontal .el-submenu .el-menu-item { + background-color: #fff; + float: none; + height: 36px; + line-height: 36px; + padding: 0 10px; +} + +.custom-theme .el-menu--horizontal .el-submenu .el-submenu__icon-arrow { + position: static; + vertical-align: middle; + margin-left: 5px; + color: rgb(151, 161, 190); + margin-top: -3px; +} + +.custom-theme .el-menu--horizontal .el-menu-item:hover, +.custom-theme .el-menu--horizontal .el-submenu__title:hover { + background-color: rgb(238, 240, 246); +} + +.custom-theme .el-menu--horizontal > .el-menu-item:hover, +.custom-theme .el-menu--horizontal > .el-submenu:hover .el-submenu__title, +.custom-theme .el-menu--horizontal > .el-submenu.is-active .el-submenu__title { + border-bottom: 5px solid #073069; +} + + + +.custom-theme .el-menu--horizontal.el-menu--dark .el-menu-item:hover, +.custom-theme .el-menu--horizontal.el-menu--dark .el-submenu__title:hover { + background-color: rgb(50, 58, 87); +} + +.custom-theme .el-menu--horizontal.el-menu--dark .el-submenu .el-menu-item, +.custom-theme .el-menu--horizontal.el-menu--dark .el-submenu .el-submenu-title { + color: rgb(72, 81, 106); +} + +.custom-theme .el-menu--horizontal.el-menu--dark .el-submenu .el-menu-item:hover, +.custom-theme .el-menu--horizontal.el-menu--dark .el-submenu .el-submenu-title:hover { + background-color: rgb(209, 215, 229); +} + +.custom-theme .el-menu--horizontal.el-menu--dark .el-submenu .el-menu-item.is-active { + color: #073069; +} + +.custom-theme .el-menu-item [class^="el-icon-"] { + vertical-align: baseline; + margin-right: 10px; +} + +.custom-theme .el-menu-item:first-child { + margin-left: 0; +} + +.custom-theme .el-menu-item:last-child { + margin-right: 0; +} + +.custom-theme .el-menu-item:hover { + background-color: rgb(209, 215, 229); +} + +.custom-theme .el-menu-item.is-active { + color: #073069; +} + +.custom-theme .el-submenu [class^="el-icon-"] { + vertical-align: baseline; + margin-right: 10px; +} + +.custom-theme .el-submenu .el-menu { + background-color: rgb(228, 230, 241); +} + +.custom-theme .el-submenu .el-menu-item { + height: 50px; + line-height: 50px; + padding: 0 45px; +} + +.custom-theme .el-submenu .el-menu-item:hover { + background-color: rgb(209, 215, 229); +} + +.custom-theme .el-submenu.is-opened > .el-submenu__title .el-submenu__icon-arrow { + transform: rotateZ(180deg); +} + +.custom-theme .el-submenu.is-active .el-submenu__title { + border-bottom-color: #073069; +} + +.custom-theme .el-submenu__title { + position: relative; +} + +.custom-theme .el-submenu__title:hover { + background-color: rgb(209, 215, 229); +} + +.custom-theme .el-submenu__icon-arrow { + position: absolute; + top: 50%; + right: 20px; + margin-top: -7px; + transition: transform .3s; + font-size: 12px; +} + +.custom-theme .el-menu-item-group > ul { + padding: 0; +} + +.custom-theme .el-menu-item-group__title { + padding-top: 15px; + line-height: normal; + font-size: 14px; + padding-left: 20px; + color: rgb(151, 161, 190); +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-input { + position: relative; + font-size: 14px; + display: inline-block; + width: 100%; +} + +.custom-theme .el-input.is-disabled .el-input__inner { + background-color: rgb(238, 240, 246); + border-color: rgb(209, 215, 229); + color: #bbb; + cursor: not-allowed; +} + +.custom-theme .el-input.is-disabled .el-input__inner::-webkit-input-placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-input.is-disabled .el-input__inner:-ms-input-placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-input.is-disabled .el-input__inner::placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-input.is-active .el-input__inner { + outline: none; + border-color: #073069; +} + +.custom-theme .el-input__inner { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #fff; + background-image: none; + border-radius: 4px; + border: 1px solid rgb(191, 199, 217); + box-sizing: border-box; + color: rgb(31, 40, 61); + display: block; + font-size: inherit; + height: 36px; + line-height: 1; + outline: none; + padding: 3px 10px; + transition: border-color .2s cubic-bezier(.645,.045,.355,1); + width: 100%; +} + +.custom-theme .el-input__inner::-webkit-input-placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-input__inner:-ms-input-placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-input__inner::placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-input__inner:hover { + border-color: rgb(131, 139, 165); +} + +.custom-theme .el-input__inner:focus { + outline: none; + border-color: #073069; +} + +.custom-theme .el-input__icon { + position: absolute; + width: 35px; + height: 100%; + right: 0; + top: 0; + text-align: center; + color: rgb(191, 199, 217); + transition: all .3s; +} + +.custom-theme .el-input__icon:after { + content: ''; + height: 100%; + width: 0; + display: inline-block; + vertical-align: middle; +} + +.custom-theme .el-input__icon + .el-input__inner { + padding-right: 35px; +} + + + +.custom-theme .el-input__icon.is-clickable:hover { + cursor: pointer; + color: rgb(131, 139, 165); +} + +.custom-theme .el-input__icon.is-clickable:hover + .el-input__inner { + border-color: rgb(131, 139, 165); +} + +.custom-theme .el-input--large { + font-size: 16px; +} + +.custom-theme .el-input--large .el-input__inner { + height: 42px; +} + +.custom-theme .el-input--small { + font-size: 13px; +} + +.custom-theme .el-input--small .el-input__inner { + height: 30px; +} + +.custom-theme .el-input--mini { + font-size: 12px; +} + +.custom-theme .el-input--mini .el-input__inner { + height: 22px; +} + +.custom-theme .el-input-group { + line-height: normal; + display: inline-table; + width: 100%; + border-collapse: separate; +} + +.custom-theme .el-input-group > .el-input__inner { + vertical-align: middle; + display: table-cell; +} + +.custom-theme .el-input-group__append, +.custom-theme .el-input-group__prepend { + background-color: rgb(250, 251, 252); + color: rgb(151, 161, 190); + vertical-align: middle; + display: table-cell; + position: relative; + border: 1px solid rgb(191, 199, 217); + border-radius: 4px; + padding: 0 10px; + width: 1%; + white-space: nowrap; +} + +.custom-theme .el-input-group__append .el-select, +.custom-theme .el-input-group__append .el-button, +.custom-theme .el-input-group__prepend .el-select, +.custom-theme .el-input-group__prepend .el-button { + display: block; + margin: -10px; +} + +.custom-theme .el-input-group__append .el-button, +.custom-theme .el-input-group__append .el-select .el-input__inner, +.custom-theme .el-input-group__append .el-select:hover .el-input__inner, +.custom-theme .el-input-group__prepend .el-button, +.custom-theme .el-input-group__prepend .el-select .el-input__inner, +.custom-theme .el-input-group__prepend .el-select:hover .el-input__inner { + border-color: transparent; + background-color: transparent; + color: inherit; + border-top: 0; + border-bottom: 0; +} + +.custom-theme .el-input-group__append .el-button, +.custom-theme .el-input-group__append .el-input, +.custom-theme .el-input-group__prepend .el-button, +.custom-theme .el-input-group__prepend .el-input { + font-size: inherit; +} + +.custom-theme .el-input-group__prepend { + border-right: 0; + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.custom-theme .el-input-group__append { + border-left: 0; + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.custom-theme .el-input-group--prepend .el-input__inner { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.custom-theme .el-input-group--append .el-input__inner { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.custom-theme .el-textarea { + display: inline-block; + width: 100%; + vertical-align: bottom; +} + +.custom-theme .el-textarea.is-disabled .el-textarea__inner { + background-color: rgb(238, 240, 246); + border-color: rgb(209, 215, 229); + color: #bbb; + cursor: not-allowed; +} + +.custom-theme .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-textarea.is-disabled .el-textarea__inner::placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-textarea__inner { + display: block; + resize: vertical; + padding: 5px 7px; + line-height: 1.5; + box-sizing: border-box; + width: 100%; + font-size: 14px; + color: rgb(31, 40, 61); + background-color: #fff; + background-image: none; + border: 1px solid rgb(191, 199, 217); + border-radius: 4px; + transition: border-color .2s cubic-bezier(.645,.045,.355,1); +} + +.custom-theme .el-textarea__inner::-webkit-input-placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-textarea__inner:-ms-input-placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-textarea__inner::placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-textarea__inner:hover { + border-color: rgb(131, 139, 165); +} + +.custom-theme .el-textarea__inner:focus { + outline: none; + border-color: #073069; +} + +@charset "UTF-8"; + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-input { + position: relative; + font-size: 14px; + display: inline-block; + width: 100%; +} + +.custom-theme .el-input.is-disabled .el-input__inner { + background-color: rgb(238, 240, 246); + border-color: rgb(209, 215, 229); + color: #bbb; + cursor: not-allowed; +} + +.custom-theme .el-input.is-disabled .el-input__inner::-webkit-input-placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-input.is-disabled .el-input__inner:-ms-input-placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-input.is-disabled .el-input__inner::placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-input.is-active .el-input__inner { + outline: none; + border-color: #073069; +} + +.custom-theme .el-input__inner { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #fff; + background-image: none; + border-radius: 4px; + border: 1px solid rgb(191, 199, 217); + box-sizing: border-box; + color: rgb(31, 40, 61); + display: block; + font-size: inherit; + height: 36px; + line-height: 1; + outline: none; + padding: 3px 10px; + transition: border-color .2s cubic-bezier(.645,.045,.355,1); + width: 100%; +} + +.custom-theme .el-input__inner::-webkit-input-placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-input__inner:-ms-input-placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-input__inner::placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-input__inner:hover { + border-color: rgb(131, 139, 165); +} + +.custom-theme .el-input__inner:focus { + outline: none; + border-color: #073069; +} + +.custom-theme .el-input__icon { + position: absolute; + width: 35px; + height: 100%; + right: 0; + top: 0; + text-align: center; + color: rgb(191, 199, 217); + transition: all .3s; +} + +.custom-theme .el-input__icon:after { + content: ''; + height: 100%; + width: 0; + display: inline-block; + vertical-align: middle; +} + +.custom-theme .el-input__icon + .el-input__inner { + padding-right: 35px; +} + + + +.custom-theme .el-input__icon.is-clickable:hover { + cursor: pointer; + color: rgb(131, 139, 165); +} + +.custom-theme .el-input__icon.is-clickable:hover + .el-input__inner { + border-color: rgb(131, 139, 165); +} + +.custom-theme .el-input--large { + font-size: 16px; +} + +.custom-theme .el-input--large .el-input__inner { + height: 42px; +} + +.custom-theme .el-input--small { + font-size: 13px; +} + +.custom-theme .el-input--small .el-input__inner { + height: 30px; +} + +.custom-theme .el-input--mini { + font-size: 12px; +} + +.custom-theme .el-input--mini .el-input__inner { + height: 22px; +} + +.custom-theme .el-input-group { + line-height: normal; + display: inline-table; + width: 100%; + border-collapse: separate; +} + +.custom-theme .el-input-group > .el-input__inner { + vertical-align: middle; + display: table-cell; +} + +.custom-theme .el-input-group__append, +.custom-theme .el-input-group__prepend { + background-color: rgb(250, 251, 252); + color: rgb(151, 161, 190); + vertical-align: middle; + display: table-cell; + position: relative; + border: 1px solid rgb(191, 199, 217); + border-radius: 4px; + padding: 0 10px; + width: 1%; + white-space: nowrap; +} + +.custom-theme .el-input-group__append .el-select, +.custom-theme .el-input-group__append .el-button, +.custom-theme .el-input-group__prepend .el-select, +.custom-theme .el-input-group__prepend .el-button { + display: block; + margin: -10px; +} + +.custom-theme .el-input-group__append .el-button, +.custom-theme .el-input-group__append .el-select .el-input__inner, +.custom-theme .el-input-group__append .el-select:hover .el-input__inner, +.custom-theme .el-input-group__prepend .el-button, +.custom-theme .el-input-group__prepend .el-select .el-input__inner, +.custom-theme .el-input-group__prepend .el-select:hover .el-input__inner { + border-color: transparent; + background-color: transparent; + color: inherit; + border-top: 0; + border-bottom: 0; +} + +.custom-theme .el-input-group__append .el-button, +.custom-theme .el-input-group__append .el-input, +.custom-theme .el-input-group__prepend .el-button, +.custom-theme .el-input-group__prepend .el-input { + font-size: inherit; +} + +.custom-theme .el-input-group__prepend { + border-right: 0; + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.custom-theme .el-input-group__append { + border-left: 0; + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.custom-theme .el-input-group--prepend .el-input__inner { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.custom-theme .el-input-group--append .el-input__inner { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.custom-theme .el-textarea { + display: inline-block; + width: 100%; + vertical-align: bottom; +} + +.custom-theme .el-textarea.is-disabled .el-textarea__inner { + background-color: rgb(238, 240, 246); + border-color: rgb(209, 215, 229); + color: #bbb; + cursor: not-allowed; +} + +.custom-theme .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-textarea.is-disabled .el-textarea__inner::placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-textarea__inner { + display: block; + resize: vertical; + padding: 5px 7px; + line-height: 1.5; + box-sizing: border-box; + width: 100%; + font-size: 14px; + color: rgb(31, 40, 61); + background-color: #fff; + background-image: none; + border: 1px solid rgb(191, 199, 217); + border-radius: 4px; + transition: border-color .2s cubic-bezier(.645,.045,.355,1); +} + +.custom-theme .el-textarea__inner::-webkit-input-placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-textarea__inner:-ms-input-placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-textarea__inner::placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-textarea__inner:hover { + border-color: rgb(131, 139, 165); +} + +.custom-theme .el-textarea__inner:focus { + outline: none; + border-color: #073069; +} + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-input-number { + display: inline-block; + overflow: hidden; + width: 180px; + position: relative; +} + +.custom-theme .el-input-number .el-input { + display: block; +} + +.custom-theme .el-input-number .el-input__inner { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + padding-right: 82px; +} + + + +.custom-theme .el-input-number.is-without-controls .el-input__inner { + padding-right: 10px; +} + +.custom-theme .el-input-number.is-disabled .el-input-number__increase, +.custom-theme .el-input-number.is-disabled .el-input-number__decrease { + border-color: rgb(209, 215, 229); + color: rgb(209, 215, 229); +} + +.custom-theme .el-input-number.is-disabled .el-input-number__increase:hover, +.custom-theme .el-input-number.is-disabled .el-input-number__decrease:hover { + color: rgb(209, 215, 229); + cursor: not-allowed; +} + +.custom-theme .el-input-number__increase, +.custom-theme .el-input-number__decrease { + height: auto; + border-left: 1px solid rgb(191, 199, 217); + width: 36px; + line-height: 34px; + top: 1px; + text-align: center; + color: rgb(151, 161, 190); + cursor: pointer; + position: absolute; + z-index: 1; +} + +.custom-theme .el-input-number__increase:hover, +.custom-theme .el-input-number__decrease:hover { + color: #073069; +} + +.custom-theme .el-input-number__increase:hover:not(.is-disabled) ~ .el-input .el-input__inner:not(.is-disabled), +.custom-theme .el-input-number__decrease:hover:not(.is-disabled) ~ .el-input .el-input__inner:not(.is-disabled) { + border-color: #073069; +} + +.custom-theme .el-input-number__increase.is-disabled, +.custom-theme .el-input-number__decrease.is-disabled { + color: rgb(209, 215, 229); + cursor: not-allowed; +} + +.custom-theme .el-input-number__increase { + right: 0; +} + +.custom-theme .el-input-number__decrease { + right: 37px; +} + +.custom-theme .el-input-number--large { + width: 200px; +} + +.custom-theme .el-input-number--large .el-input-number__increase, +.custom-theme .el-input-number--large .el-input-number__decrease { + line-height: 42px; + width: 42px; + font-size: 16px; +} + +.custom-theme .el-input-number--large .el-input-number__decrease { + right: 43px; +} + +.custom-theme .el-input-number--large .el-input__inner { + padding-right: 94px; +} + +.custom-theme .el-input-number--small { + width: 130px; +} + +.custom-theme .el-input-number--small .el-input-number__increase, +.custom-theme .el-input-number--small .el-input-number__decrease { + line-height: 30px; + width: 30px; + font-size: 13px; +} + +.custom-theme .el-input-number--small .el-input-number__decrease { + right: 31px; +} + +.custom-theme .el-input-number--small .el-input__inner { + padding-right: 70px; +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-radio { + color: rgb(31, 40, 61); + position: relative; + cursor: pointer; + display: inline-block; + white-space: nowrap; + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; +} + +.custom-theme .el-radio + .el-radio { + margin-left: 15px; +} + +.custom-theme .el-radio__input { + white-space: nowrap; + cursor: pointer; + outline: none; + display: inline-block; + line-height: 1; + position: relative; + vertical-align: middle; +} + +.custom-theme .el-radio__input.is-focus .el-radio__inner { + border-color: #073069; +} + +.custom-theme .el-radio__input.is-checked .el-radio__inner { + border-color: #073069; + background: #073069; +} + +.custom-theme .el-radio__input.is-checked .el-radio__inner::after { + transform: translate(-50%, -50%) scale(1); +} + +.custom-theme .el-radio__input.is-disabled .el-radio__inner { + background-color: rgb(238, 240, 246); + border-color: rgb(209, 215, 229); + cursor: not-allowed; +} + +.custom-theme .el-radio__input.is-disabled .el-radio__inner::after { + cursor: not-allowed; + background-color: rgb(238, 240, 246); +} + +.custom-theme .el-radio__input.is-disabled .el-radio__inner + .el-radio__label { + cursor: not-allowed; +} + +.custom-theme .el-radio__input.is-disabled.is-checked .el-radio__inner { + background-color: rgb(209, 215, 229); + border-color: rgb(209, 215, 229); +} + +.custom-theme .el-radio__input.is-disabled.is-checked .el-radio__inner::after { + background-color: #fff; +} + +.custom-theme .el-radio__input.is-disabled + .el-radio__label { + color: #bbb; + cursor: not-allowed; +} + +.custom-theme .el-radio__inner { + border: 1px solid rgb(191, 199, 217); + border-radius: 100%; + width: 18px; + height: 18px; + border-radius: 50%; + background-color: #fff; + position: relative; + cursor: pointer; + display: inline-block; + box-sizing: border-box; +} + +.custom-theme .el-radio__inner:hover { + border-color: #073069; +} + +.custom-theme .el-radio__inner::after { + width: 6px; + height: 6px; + border-radius: 50%; + background-color: #fff; + content: ""; + position: absolute; + left: 50%; + top: 50%; + transform: translate(-50%, -50%) scale(0); + transition: transform .15s cubic-bezier(.71,-.46,.88,.6); +} + +.custom-theme .el-radio__original { + opacity: 0; + outline: none; + position: absolute; + z-index: -1; + top: 0; + left: 0; + right: 0; + bottom: 0; + margin: 0; +} + +.custom-theme .el-radio__label { + font-size: 14px; + padding-left: 5px; +} + +.custom-theme .el-radio-group { + display: inline-block; + font-size: 0; + line-height: 1; +} + +.custom-theme .el-radio-group .el-radio { + font-size: 14px; +} + +.custom-theme .el-radio-button { + position: relative; + display: inline-block; +} + +.custom-theme .el-radio-button:first-child .el-radio-button__inner { + border-left: 1px solid rgb(191, 199, 217); + border-radius: 4px 0 0 4px; + box-shadow: none !important; +} + +.custom-theme .el-radio-button:last-child .el-radio-button__inner { + border-radius: 0 4px 4px 0; +} + +.custom-theme .el-radio-button__inner { + display: inline-block; + line-height: 1; + white-space: nowrap; + vertical-align: middle; + cursor: pointer; + background: #fff; + border: 1px solid rgb(191, 199, 217); + border-left: 0; + color: rgb(31, 40, 61); + -webkit-appearance: none; + text-align: center; + box-sizing: border-box; + outline: none; + margin: 0; + position: relative; + cursor: pointer; + transition: all .3s cubic-bezier(.645,.045,.355,1); + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + padding: 10px 15px; + font-size: 14px; + border-radius: 0; +} + +.custom-theme .el-radio-button__inner:hover { + color: #073069; +} + +.custom-theme .el-radio-button__inner [class*="el-icon-"] { + line-height: 0.9; +} + +.custom-theme .el-radio-button__inner [class*="el-icon-"] + span { + margin-left: 5px; +} + +.custom-theme .el-radio-button__orig-radio { + opacity: 0; + outline: none; + position: absolute; + z-index: -1; + left: -999px; +} + + + +.custom-theme .el-radio-button__orig-radio:checked + .el-radio-button__inner { + color: #fff; + background-color: #073069; + border-color: #073069; + box-shadow: -1px 0 0 0 #073069; +} + + + +.custom-theme .el-radio-button__orig-radio:disabled + .el-radio-button__inner { + color: rgb(191, 199, 217); + cursor: not-allowed; + background-image: none; + background-color: rgb(238, 240, 246); + border-color: rgb(209, 215, 229); +} + + + +.custom-theme .el-radio-button--large .el-radio-button__inner { + padding: 11px 19px; + font-size: 16px; + border-radius: 0; +} + + + +.custom-theme .el-radio-button--small .el-radio-button__inner { + padding: 7px 9px; + font-size: 12px; + border-radius: 0; +} + + + +.custom-theme .el-radio-button--mini .el-radio-button__inner { + padding: 4px 4px; + font-size: 12px; + border-radius: 0; +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-checkbox { + color: rgb(31, 40, 61); + position: relative; + cursor: pointer; + display: inline-block; + white-space: nowrap; + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; +} + +.custom-theme .el-checkbox + .el-checkbox { + margin-left: 15px; +} + +.custom-theme .el-checkbox__input { + white-space: nowrap; + cursor: pointer; + outline: none; + display: inline-block; + line-height: 1; + position: relative; + vertical-align: middle; +} + +.custom-theme .el-checkbox__input.is-indeterminate .el-checkbox__inner { + background-color: #073069; + border-color: rgb(1, 43, 101); +} + +.custom-theme .el-checkbox__input.is-indeterminate .el-checkbox__inner::before { + content: ''; + position: absolute; + display: block; + border: 1px solid #fff; + margin-top: -1px; + left: 3px; + right: 3px; + top: 50%; +} + +.custom-theme .el-checkbox__input.is-indeterminate .el-checkbox__inner::after { + display: none; +} + +.custom-theme .el-checkbox__input.is-focus .el-checkbox__inner { + border-color: #073069; +} + +.custom-theme .el-checkbox__input.is-checked .el-checkbox__inner { + background-color: #073069; + border-color: rgb(1, 43, 101); +} + +.custom-theme .el-checkbox__input.is-checked .el-checkbox__inner::after { + transform: rotate(45deg) scaleY(1); +} + +.custom-theme .el-checkbox__input.is-disabled .el-checkbox__inner { + background-color: rgb(238, 240, 246); + border-color: rgb(209, 215, 229); + cursor: not-allowed; +} + +.custom-theme .el-checkbox__input.is-disabled .el-checkbox__inner::after { + cursor: not-allowed; + border-color: rgb(238, 240, 246); +} + +.custom-theme .el-checkbox__input.is-disabled .el-checkbox__inner + .el-checkbox__label { + cursor: not-allowed; +} + +.custom-theme .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner { + background-color: rgb(209, 215, 229); + border-color: rgb(209, 215, 229); +} + +.custom-theme .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after { + border-color: #fff; +} + +.custom-theme .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner { + background-color: rgb(209, 215, 229); + border-color: rgb(209, 215, 229); +} + +.custom-theme .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before { + border-color: #fff; +} + +.custom-theme .el-checkbox__input.is-disabled + .el-checkbox__label { + color: #bbb; + cursor: not-allowed; +} + +.custom-theme .el-checkbox__inner { + display: inline-block; + position: relative; + border: 1px solid rgb(191, 199, 217); + border-radius: 4px; + box-sizing: border-box; + width: 18px; + height: 18px; + background-color: #fff; + z-index: 1; + transition: border-color .25s cubic-bezier(.71,-.46,.29,1.46), + background-color .25s cubic-bezier(.71,-.46,.29,1.46); +} + +.custom-theme .el-checkbox__inner:hover { + border-color: #073069; +} + +.custom-theme .el-checkbox__inner::after { + box-sizing: content-box; + content: ""; + border: 2px solid #fff; + border-left: 0; + border-top: 0; + height: 8px; + left: 5px; + position: absolute; + top: 1px; + transform: rotate(45deg) scaleY(0); + width: 4px; + transition: transform .15s cubic-bezier(.71,-.46,.88,.6) .05s; + transform-origin: center; +} + +.custom-theme .el-checkbox__original { + opacity: 0; + outline: none; + position: absolute; + margin: 0; + left: -999px; +} + +.custom-theme .el-checkbox__label { + font-size: 14px; + padding-left: 5px; +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-switch { + display: inline-block; + position: relative; + font-size: 14px; + line-height: 22px; + height: 22px; + vertical-align: middle; +} + +.custom-theme .el-switch .label-fade-enter, +.custom-theme .el-switch .label-fade-leave-active { + opacity: 0; +} + +.custom-theme .el-switch.is-disabled .el-switch__core { + border-color: rgb(228, 230, 241) !important; + background: rgb(228, 230, 241) !important; +} + +.custom-theme .el-switch.is-disabled .el-switch__core span { + background-color: rgb(250, 251, 252) !important; +} + +.custom-theme .el-switch.is-disabled .el-switch__core ~ .el-switch__label * { + color: rgb(250, 251, 252) !important; +} + +.custom-theme .el-switch.is-disabled .el-switch__input:checked + .el-switch__core { + border-color: rgb(228, 230, 241); + background-color: rgb(228, 230, 241); +} + + + +.custom-theme .el-switch.is-disabled .el-switch__core, +.custom-theme .el-switch.is-disabled .el-switch__label { + cursor: not-allowed; +} + +.custom-theme .el-switch__label { + transition: .2s; + position: absolute; + z-index: 10; + width: 46px; + height: 22px; + left: 0; + top: 0; + display: inline-block; + font-size: 14px; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.custom-theme .el-switch__label * { + line-height: 1; + top: 4px; + position: absolute; + font-size: 14px; + display: inline-block; + color: #fff; +} + +.custom-theme .el-switch__label--left i { + left: 6px; +} + +.custom-theme .el-switch__label--right i { + right: 6px; +} + +.custom-theme .el-switch__input { + display: none; +} + +.custom-theme .el-switch__input:checked + .el-switch__core { + border-color: #073069; + background-color: #073069; +} + +.custom-theme .el-switch__core { + margin: 0; + display: inline-block; + position: relative; + width: 46px; + height: 22px; + border: 1px solid rgb(191, 199, 217); + outline: none; + border-radius: 12px; + box-sizing: border-box; + background: rgb(191, 199, 217); + cursor: pointer; + transition: border-color .3s, background-color .3s; +} + +.custom-theme .el-switch__core .el-switch__button { + top: 0; + left: 0; + position: absolute; + border-radius: 100%; + transition: transform .3s; + width: 16px; + height: 16px; + z-index: 20; + background-color: #fff; +} + + + +.custom-theme .el-switch--wide .el-switch__label.el-switch__label--left span { + left: 10px; +} + +.custom-theme .el-switch--wide .el-switch__label.el-switch__label--right span { + right: 10px; +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-select-dropdown { + position: absolute; + z-index: 1001; + border: solid 1px rgb(209, 215, 229); + border-radius: 2px; + background-color: #fff; + box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04); + box-sizing: border-box; + margin: 5px 0; +} + +.custom-theme .el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list { + padding: 0; +} + + + +.custom-theme .el-select-dropdown.is-multiple .el-select-dropdown__item.selected { + color: #073069; + background-color: #fff; +} + +.custom-theme .el-select-dropdown.is-multiple .el-select-dropdown__item.selected.hover { + background-color: rgb(228, 230, 241); +} + +.custom-theme .el-select-dropdown.is-multiple .el-select-dropdown__item.selected::after { + position: absolute; + right: 10px; + font-family: 'element-icons'; + content: "\E608"; + font-size: 11px; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.custom-theme .el-select-dropdown__empty { + padding: 10px 0; + margin: 0; + text-align: center; + color: #999; + font-size: 14px; +} + +.custom-theme .el-select-dropdown__wrap { + max-height: 274px; +} + +.custom-theme .el-select-dropdown__list { + list-style: none; + padding: 6px 0; + margin: 0; + box-sizing: border-box; +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-input { + position: relative; + font-size: 14px; + display: inline-block; + width: 100%; +} + +.custom-theme .el-input.is-disabled .el-input__inner { + background-color: rgb(238, 240, 246); + border-color: rgb(209, 215, 229); + color: #bbb; + cursor: not-allowed; +} + +.custom-theme .el-input.is-disabled .el-input__inner::-webkit-input-placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-input.is-disabled .el-input__inner:-ms-input-placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-input.is-disabled .el-input__inner::placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-input.is-active .el-input__inner { + outline: none; + border-color: #073069; +} + +.custom-theme .el-input__inner { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #fff; + background-image: none; + border-radius: 4px; + border: 1px solid rgb(191, 199, 217); + box-sizing: border-box; + color: rgb(31, 40, 61); + display: block; + font-size: inherit; + height: 36px; + line-height: 1; + outline: none; + padding: 3px 10px; + transition: border-color .2s cubic-bezier(.645,.045,.355,1); + width: 100%; +} + +.custom-theme .el-input__inner::-webkit-input-placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-input__inner:-ms-input-placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-input__inner::placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-input__inner:hover { + border-color: rgb(131, 139, 165); +} + +.custom-theme .el-input__inner:focus { + outline: none; + border-color: #073069; +} + +.custom-theme .el-input__icon { + position: absolute; + width: 35px; + height: 100%; + right: 0; + top: 0; + text-align: center; + color: rgb(191, 199, 217); + transition: all .3s; +} + +.custom-theme .el-input__icon:after { + content: ''; + height: 100%; + width: 0; + display: inline-block; + vertical-align: middle; +} + +.custom-theme .el-input__icon + .el-input__inner { + padding-right: 35px; +} + + + +.custom-theme .el-input__icon.is-clickable:hover { + cursor: pointer; + color: rgb(131, 139, 165); +} + +.custom-theme .el-input__icon.is-clickable:hover + .el-input__inner { + border-color: rgb(131, 139, 165); +} + +.custom-theme .el-input--large { + font-size: 16px; +} + +.custom-theme .el-input--large .el-input__inner { + height: 42px; +} + +.custom-theme .el-input--small { + font-size: 13px; +} + +.custom-theme .el-input--small .el-input__inner { + height: 30px; +} + +.custom-theme .el-input--mini { + font-size: 12px; +} + +.custom-theme .el-input--mini .el-input__inner { + height: 22px; +} + +.custom-theme .el-input-group { + line-height: normal; + display: inline-table; + width: 100%; + border-collapse: separate; +} + +.custom-theme .el-input-group > .el-input__inner { + vertical-align: middle; + display: table-cell; +} + +.custom-theme .el-input-group__append, +.custom-theme .el-input-group__prepend { + background-color: rgb(250, 251, 252); + color: rgb(151, 161, 190); + vertical-align: middle; + display: table-cell; + position: relative; + border: 1px solid rgb(191, 199, 217); + border-radius: 4px; + padding: 0 10px; + width: 1%; + white-space: nowrap; +} + +.custom-theme .el-input-group__append .el-select, +.custom-theme .el-input-group__append .el-button, +.custom-theme .el-input-group__prepend .el-select, +.custom-theme .el-input-group__prepend .el-button { + display: block; + margin: -10px; +} + +.custom-theme .el-input-group__append .el-button, +.custom-theme .el-input-group__append .el-select .el-input__inner, +.custom-theme .el-input-group__append .el-select:hover .el-input__inner, +.custom-theme .el-input-group__prepend .el-button, +.custom-theme .el-input-group__prepend .el-select .el-input__inner, +.custom-theme .el-input-group__prepend .el-select:hover .el-input__inner { + border-color: transparent; + background-color: transparent; + color: inherit; + border-top: 0; + border-bottom: 0; +} + +.custom-theme .el-input-group__append .el-button, +.custom-theme .el-input-group__append .el-input, +.custom-theme .el-input-group__prepend .el-button, +.custom-theme .el-input-group__prepend .el-input { + font-size: inherit; +} + +.custom-theme .el-input-group__prepend { + border-right: 0; + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.custom-theme .el-input-group__append { + border-left: 0; + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.custom-theme .el-input-group--prepend .el-input__inner { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.custom-theme .el-input-group--append .el-input__inner { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.custom-theme .el-textarea { + display: inline-block; + width: 100%; + vertical-align: bottom; +} + +.custom-theme .el-textarea.is-disabled .el-textarea__inner { + background-color: rgb(238, 240, 246); + border-color: rgb(209, 215, 229); + color: #bbb; + cursor: not-allowed; +} + +.custom-theme .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-textarea.is-disabled .el-textarea__inner::placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-textarea__inner { + display: block; + resize: vertical; + padding: 5px 7px; + line-height: 1.5; + box-sizing: border-box; + width: 100%; + font-size: 14px; + color: rgb(31, 40, 61); + background-color: #fff; + background-image: none; + border: 1px solid rgb(191, 199, 217); + border-radius: 4px; + transition: border-color .2s cubic-bezier(.645,.045,.355,1); +} + +.custom-theme .el-textarea__inner::-webkit-input-placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-textarea__inner:-ms-input-placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-textarea__inner::placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-textarea__inner:hover { + border-color: rgb(131, 139, 165); +} + +.custom-theme .el-textarea__inner:focus { + outline: none; + border-color: #073069; +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-tag { + background-color: rgb(131, 139, 165); + display: inline-block; + padding: 0 5px; + height: 24px; + line-height: 22px; + font-size: 12px; + color: #fff; + border-radius: 4px; + box-sizing: border-box; + border: 1px solid transparent; + white-space: nowrap; +} + +.custom-theme .el-tag .el-icon-close { + border-radius: 50%; + text-align: center; + position: relative; + cursor: pointer; + font-size: 12px; + transform: scale(.75, .75); + height: 18px; + width: 18px; + line-height: 18px; + vertical-align: middle; + top: -1px; + right: -2px; +} + +.custom-theme .el-tag .el-icon-close:hover { + background-color: #fff; + color: rgb(131, 139, 165); +} + +.custom-theme .el-tag--gray { + background-color: rgb(228, 230, 241); + border-color: rgb(228, 230, 241); + color: rgb(72, 81, 106); +} + +.custom-theme .el-tag--gray .el-tag__close:hover { + background-color: rgb(72, 81, 106); + color: #fff; +} + +.custom-theme .el-tag--gray.is-hit { + border-color: rgb(72, 81, 106); +} + +.custom-theme .el-tag--primary { + background-color: rgba(7, 48, 105, 0.1); + border-color: rgba(7, 48, 105, 0.2); + color: #073069; +} + +.custom-theme .el-tag--primary .el-tag__close:hover { + background-color: #073069; + color: #fff; +} + +.custom-theme .el-tag--primary.is-hit { + border-color: #073069; +} + +.custom-theme .el-tag--success { + background-color: rgba(18,206,102,0.10); + border-color: rgba(18,206,102,0.20); + color: #00643b; +} + +.custom-theme .el-tag--success .el-tag__close:hover { + background-color: #00643b; + color: #fff; +} + +.custom-theme .el-tag--success.is-hit { + border-color: #00643b; +} + +.custom-theme .el-tag--warning { + background-color: rgba(247,186,41,0.10); + border-color: rgba(247,186,41,0.20); + color: #f56a00; +} + +.custom-theme .el-tag--warning .el-tag__close:hover { + background-color: #f56a00; + color: #fff; +} + +.custom-theme .el-tag--warning.is-hit { + border-color: #f56a00; +} + +.custom-theme .el-tag--danger { + background-color: rgba(255,73,73,0.10); + border-color: rgba(255,73,73,0.20); + color: #ffbf00; +} + +.custom-theme .el-tag--danger .el-tag__close:hover { + background-color: #ffbf00; + color: #fff; +} + +.custom-theme .el-tag--danger.is-hit { + border-color: #ffbf00; +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + + + +.custom-theme .el-select-dropdown__item { + font-size: 14px; + padding: 8px 10px; + position: relative; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + color: rgb(72, 81, 106); + height: 36px; + line-height: 1.5; + box-sizing: border-box; + cursor: pointer; +} + +.custom-theme .el-select-dropdown__item.hover { + background-color: rgb(228, 230, 241); +} + +.custom-theme .el-select-dropdown__item.selected { + color: #fff; + background-color: #073069; +} + +.custom-theme .el-select-dropdown__item.selected.hover { + background-color: rgb(6, 42, 92); +} + +.custom-theme .el-select-dropdown__item span { + line-height: 1.5 !important; +} + +.custom-theme .el-select-dropdown__item.is-disabled { + color: rgb(191, 199, 217); + cursor: not-allowed; +} + +.custom-theme .el-select-dropdown__item.is-disabled:hover { + background-color: #fff; +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-select-group { + margin: 0; + padding: 0; +} + +.custom-theme .el-select-group .el-select-dropdown__item { + padding-left: 20px; +} + +.custom-theme .el-select-group__wrap { + list-style: none; + margin: 0; + padding: 0; +} + +.custom-theme .el-select-group__title { + padding-left: 10px; + font-size: 12px; + color: #999; + height: 30px; + line-height: 30px; +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-scrollbar { + overflow: hidden; + position: relative; +} + +.custom-theme .el-scrollbar:hover .el-scrollbar__bar, +.custom-theme .el-scrollbar:active .el-scrollbar__bar, +.custom-theme .el-scrollbar:focus .el-scrollbar__bar { + opacity: 1; + transition: opacity 340ms ease-out; +} + +.custom-theme .el-scrollbar__wrap { + overflow: scroll; +} + + + +.custom-theme .el-scrollbar__wrap--hidden-default::-webkit-scrollbar { + width: 0; + height: 0; +} + +.custom-theme .el-scrollbar__thumb { + position: relative; + display: block; + width: 0; + height: 0; + cursor: pointer; + border-radius: inherit; + background-color: rgba(151, 161, 190, 0.3); + transition: .3s background-color; +} + +.custom-theme .el-scrollbar__thumb:hover { + background-color: rgba(151, 161, 190, 0.5); +} + +.custom-theme .el-scrollbar__bar { + position: absolute; + right: 2px; + bottom: 2px; + z-index: 1; + border-radius: 4px; + opacity: 0; + transition: opacity 120ms ease-out; +} + +.custom-theme .el-scrollbar__bar.is-horizontal { + height: 6px; + left: 2px; +} + +.custom-theme .el-scrollbar__bar.is-horizontal > div { + height: 100%; +} + +.custom-theme .el-scrollbar__bar.is-vertical { + width: 6px; + top: 2px; +} + +.custom-theme .el-scrollbar__bar.is-vertical > div { + width: 100%; +} + +.custom-theme .el-select { + display: inline-block; + position: relative; +} + +.custom-theme .el-select:hover .el-input__inner { + border-color: rgb(131, 139, 165); +} + +.custom-theme .el-select .el-input__inner { + cursor: pointer; +} + +.custom-theme .el-select .el-input__inner:focus { + border-color: #073069; +} + + + +.custom-theme .el-select .el-input .el-input__icon { + color: rgb(191, 199, 217); + font-size: 12px; + transition: transform .3s; + transform: translateY(-50%) rotateZ(180deg); + line-height: 16px; + top: 50%; + cursor: pointer; +} + +.custom-theme .el-select .el-input .el-input__icon.is-show-close { + transition: 0s; + width: 16px; + height: 16px; + font-size: 14px; + right: 8px; + text-align: center; + transform: translateY(-50%) rotateZ(180deg); + border-radius: 100%; + color: rgb(191, 199, 217); +} + +.custom-theme .el-select .el-input .el-input__icon.is-show-close:hover { + color: rgb(151, 161, 190); +} + +.custom-theme .el-select .el-input .el-input__icon.is-reverse { + transform: translateY(-50%); +} + + + +.custom-theme .el-select .el-input.is-disabled .el-input__inner { + cursor: not-allowed; +} + +.custom-theme .el-select .el-input.is-disabled .el-input__inner:hover { + border-color: rgb(209, 215, 229); +} + +.custom-theme .el-select > .el-input { + display: block; +} + +.custom-theme .el-select .el-tag__close { + margin-top: -2px; +} + +.custom-theme .el-select .el-tag { + height: 24px; + line-height: 24px; + box-sizing: border-box; + margin: 3px 0 3px 6px; +} + +.custom-theme .el-select__input { + border: none; + outline: none; + padding: 0; + margin-left: 10px; + color: #666; + font-size: 14px; + vertical-align: baseline; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + height: 28px; + background-color: transparent; +} + +.custom-theme .el-select__input.is-mini { + height: 14px; +} + +.custom-theme .el-select__close { + cursor: pointer; + position: absolute; + top: 8px; + z-index: 1000; + right: 25px; + color: rgb(191, 199, 217); + line-height: 18px; + font-size: 12px; +} + +.custom-theme .el-select__close:hover { + color: rgb(151, 161, 190); +} + +.custom-theme .el-select__tags { + position: absolute; + line-height: normal; + white-space: normal; + z-index: 1000; + top: 50%; + transform: translateY(-50%); +} + +.custom-theme .el-select__tag { + display: inline-block; + height: 24px; + line-height: 24px; + font-size: 14px; + border-radius: 4px; + color: #fff; + background-color: #073069; +} + +.custom-theme .el-select__tag .el-icon-close { + font-size: 12px; +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-button { + display: inline-block; + line-height: 1; + white-space: nowrap; + cursor: pointer; + background: #fff; + border: 1px solid rgb(191, 199, 217); + color: rgb(31, 40, 61); + -webkit-appearance: none; + text-align: center; + box-sizing: border-box; + outline: none; + margin: 0; + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + padding: 10px 15px; + font-size: 14px; + border-radius: 4px; +} + +.custom-theme .el-button + .el-button { + margin-left: 10px; +} + +.custom-theme .el-button:hover, +.custom-theme .el-button:focus { + color: #073069; + border-color: #073069; +} + +.custom-theme .el-button:active { + color: rgb(6, 43, 95); + border-color: rgb(6, 43, 95); + outline: none; +} + +.custom-theme .el-button::-moz-focus-inner { + border: 0; +} + + + +.custom-theme .el-button [class*="el-icon-"] + span { + margin-left: 5px; +} + +.custom-theme .el-button.is-loading { + position: relative; + pointer-events: none; +} + +.custom-theme .el-button.is-loading:before { + pointer-events: none; + content: ''; + position: absolute; + left: -1px; + top: -1px; + right: -1px; + bottom: -1px; + border-radius: inherit; + background-color: rgba(255,255,255,.35); +} + + + +.custom-theme .el-button.is-disabled, +.custom-theme .el-button.is-disabled:hover, +.custom-theme .el-button.is-disabled:focus { + color: rgb(191, 199, 217); + cursor: not-allowed; + background-image: none; + background-color: rgb(238, 240, 246); + border-color: rgb(209, 215, 229); +} + +.custom-theme .el-button.is-disabled.el-button--text { + background-color: transparent; +} + + + +.custom-theme .el-button.is-disabled.is-plain, +.custom-theme .el-button.is-disabled.is-plain:hover, +.custom-theme .el-button.is-disabled.is-plain:focus { + background-color: #fff; + border-color: rgb(209, 215, 229); + color: rgb(191, 199, 217); +} + +.custom-theme .el-button.is-active { + color: rgb(6, 43, 95); + border-color: rgb(6, 43, 95); +} + + + +.custom-theme .el-button.is-plain:hover, +.custom-theme .el-button.is-plain:focus { + background: #fff; + border-color: #073069; + color: #073069; +} + +.custom-theme .el-button.is-plain:active { + background: #fff; + border-color: rgb(6, 43, 95); + color: rgb(6, 43, 95); + outline: none; +} + +.custom-theme .el-button--primary { + color: #fff; + background-color: #073069; + border-color: #073069; +} + +.custom-theme .el-button--primary:hover, +.custom-theme .el-button--primary:focus { + background: rgb(57, 89, 135); + border-color: rgb(57, 89, 135); + color: #fff; +} + +.custom-theme .el-button--primary:active { + background: rgb(6, 43, 95); + border-color: rgb(6, 43, 95); + color: #fff; + outline: none; +} + +.custom-theme .el-button--primary.is-active { + background: rgb(6, 43, 95); + border-color: rgb(6, 43, 95); + color: #fff; +} + +.custom-theme .el-button--primary.is-plain { + background: #fff; + border: 1px solid rgb(191, 199, 217); + color: rgb(31, 40, 61); +} + +.custom-theme .el-button--primary.is-plain:hover, +.custom-theme .el-button--primary.is-plain:focus { + background: #fff; + border-color: #073069; + color: #073069; +} + +.custom-theme .el-button--primary.is-plain:active { + background: #fff; + border-color: rgb(6, 43, 95); + color: rgb(6, 43, 95); + outline: none; +} + +.custom-theme .el-button--success { + color: #fff; + background-color: #00643b; + border-color: #00643b; +} + +.custom-theme .el-button--success:hover, +.custom-theme .el-button--success:focus { + background: rgb(51, 131, 98); + border-color: rgb(51, 131, 98); + color: #fff; +} + +.custom-theme .el-button--success:active { + background: rgb(0, 90, 53); + border-color: rgb(0, 90, 53); + color: #fff; + outline: none; +} + +.custom-theme .el-button--success.is-active { + background: rgb(0, 90, 53); + border-color: rgb(0, 90, 53); + color: #fff; +} + +.custom-theme .el-button--success.is-plain { + background: #fff; + border: 1px solid rgb(191, 199, 217); + color: rgb(31, 40, 61); +} + +.custom-theme .el-button--success.is-plain:hover, +.custom-theme .el-button--success.is-plain:focus { + background: #fff; + border-color: #00643b; + color: #00643b; +} + +.custom-theme .el-button--success.is-plain:active { + background: #fff; + border-color: rgb(0, 90, 53); + color: rgb(0, 90, 53); + outline: none; +} + +.custom-theme .el-button--warning { + color: #fff; + background-color: #f56a00; + border-color: #f56a00; +} + +.custom-theme .el-button--warning:hover, +.custom-theme .el-button--warning:focus { + background: rgb(247, 136, 51); + border-color: rgb(247, 136, 51); + color: #fff; +} + +.custom-theme .el-button--warning:active { + background: rgb(221, 95, 0); + border-color: rgb(221, 95, 0); + color: #fff; + outline: none; +} + +.custom-theme .el-button--warning.is-active { + background: rgb(221, 95, 0); + border-color: rgb(221, 95, 0); + color: #fff; +} + +.custom-theme .el-button--warning.is-plain { + background: #fff; + border: 1px solid rgb(191, 199, 217); + color: rgb(31, 40, 61); +} + +.custom-theme .el-button--warning.is-plain:hover, +.custom-theme .el-button--warning.is-plain:focus { + background: #fff; + border-color: #f56a00; + color: #f56a00; +} + +.custom-theme .el-button--warning.is-plain:active { + background: #fff; + border-color: rgb(221, 95, 0); + color: rgb(221, 95, 0); + outline: none; +} + +.custom-theme .el-button--danger { + color: #fff; + background-color: #ffbf00; + border-color: #ffbf00; +} + +.custom-theme .el-button--danger:hover, +.custom-theme .el-button--danger:focus { + background: rgb(255, 204, 51); + border-color: rgb(255, 204, 51); + color: #fff; +} + +.custom-theme .el-button--danger:active { + background: rgb(230, 172, 0); + border-color: rgb(230, 172, 0); + color: #fff; + outline: none; +} + +.custom-theme .el-button--danger.is-active { + background: rgb(230, 172, 0); + border-color: rgb(230, 172, 0); + color: #fff; +} + +.custom-theme .el-button--danger.is-plain { + background: #fff; + border: 1px solid rgb(191, 199, 217); + color: rgb(31, 40, 61); +} + +.custom-theme .el-button--danger.is-plain:hover, +.custom-theme .el-button--danger.is-plain:focus { + background: #fff; + border-color: #ffbf00; + color: #ffbf00; +} + +.custom-theme .el-button--danger.is-plain:active { + background: #fff; + border-color: rgb(230, 172, 0); + color: rgb(230, 172, 0); + outline: none; +} + +.custom-theme .el-button--info { + color: #fff; + background-color: #00a2ae; + border-color: #00a2ae; +} + +.custom-theme .el-button--info:hover, +.custom-theme .el-button--info:focus { + background: rgb(51, 181, 190); + border-color: rgb(51, 181, 190); + color: #fff; +} + +.custom-theme .el-button--info:active { + background: rgb(0, 146, 157); + border-color: rgb(0, 146, 157); + color: #fff; + outline: none; +} + +.custom-theme .el-button--info.is-active { + background: rgb(0, 146, 157); + border-color: rgb(0, 146, 157); + color: #fff; +} + +.custom-theme .el-button--info.is-plain { + background: #fff; + border: 1px solid rgb(191, 199, 217); + color: rgb(31, 40, 61); +} + +.custom-theme .el-button--info.is-plain:hover, +.custom-theme .el-button--info.is-plain:focus { + background: #fff; + border-color: #00a2ae; + color: #00a2ae; +} + +.custom-theme .el-button--info.is-plain:active { + background: #fff; + border-color: rgb(0, 146, 157); + color: rgb(0, 146, 157); + outline: none; +} + +.custom-theme .el-button--large { + padding: 11px 19px; + font-size: 16px; + border-radius: 4px; +} + +.custom-theme .el-button--small { + padding: 7px 9px; + font-size: 12px; + border-radius: 4px; +} + +.custom-theme .el-button--mini { + padding: 4px 4px; + font-size: 12px; + border-radius: 4px; +} + +.custom-theme .el-button--text { + border: none; + color: #073069; + background: transparent; + padding-left: 0; + padding-right: 0; +} + +.custom-theme .el-button--text:hover, +.custom-theme .el-button--text:focus { + color: rgb(57, 89, 135); +} + +.custom-theme .el-button--text:active { + color: rgb(6, 43, 95); +} + +.custom-theme .el-button-group { + display: inline-block; + vertical-align: middle; +} + + + +.custom-theme .el-button-group .el-button--primary:first-child { + border-right-color: rgba(255, 255, 255, 0.5); +} + +.custom-theme .el-button-group .el-button--primary:last-child { + border-left-color: rgba(255, 255, 255, 0.5); +} + +.custom-theme .el-button-group .el-button--primary:not(:first-child):not(:last-child) { + border-left-color: rgba(255, 255, 255, 0.5); + border-right-color: rgba(255, 255, 255, 0.5); +} + + + +.custom-theme .el-button-group .el-button--success:first-child { + border-right-color: rgba(255, 255, 255, 0.5); +} + +.custom-theme .el-button-group .el-button--success:last-child { + border-left-color: rgba(255, 255, 255, 0.5); +} + +.custom-theme .el-button-group .el-button--success:not(:first-child):not(:last-child) { + border-left-color: rgba(255, 255, 255, 0.5); + border-right-color: rgba(255, 255, 255, 0.5); +} + + + +.custom-theme .el-button-group .el-button--warning:first-child { + border-right-color: rgba(255, 255, 255, 0.5); +} + +.custom-theme .el-button-group .el-button--warning:last-child { + border-left-color: rgba(255, 255, 255, 0.5); +} + +.custom-theme .el-button-group .el-button--warning:not(:first-child):not(:last-child) { + border-left-color: rgba(255, 255, 255, 0.5); + border-right-color: rgba(255, 255, 255, 0.5); +} + + + +.custom-theme .el-button-group .el-button--danger:first-child { + border-right-color: rgba(255, 255, 255, 0.5); +} + +.custom-theme .el-button-group .el-button--danger:last-child { + border-left-color: rgba(255, 255, 255, 0.5); +} + +.custom-theme .el-button-group .el-button--danger:not(:first-child):not(:last-child) { + border-left-color: rgba(255, 255, 255, 0.5); + border-right-color: rgba(255, 255, 255, 0.5); +} + + + +.custom-theme .el-button-group .el-button--info:first-child { + border-right-color: rgba(255, 255, 255, 0.5); +} + +.custom-theme .el-button-group .el-button--info:last-child { + border-left-color: rgba(255, 255, 255, 0.5); +} + +.custom-theme .el-button-group .el-button--info:not(:first-child):not(:last-child) { + border-left-color: rgba(255, 255, 255, 0.5); + border-right-color: rgba(255, 255, 255, 0.5); +} + +.custom-theme .el-button-group .el-button { + float: left; + position: relative; +} + +.custom-theme .el-button-group .el-button + .el-button { + margin-left: 0; +} + +.custom-theme .el-button-group .el-button:first-child { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.custom-theme .el-button-group .el-button:last-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.custom-theme .el-button-group .el-button:not(:first-child):not(:last-child) { + border-radius: 0; +} + +.custom-theme .el-button-group .el-button:not(:last-child) { + margin-right: -1px; +} + +.custom-theme .el-button-group .el-button:hover, +.custom-theme .el-button-group .el-button:focus, +.custom-theme .el-button-group .el-button:active { + z-index: 1; +} + +.custom-theme .el-button-group .el-button.is-active { + z-index: 1; +} + +@charset "UTF-8"; + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-checkbox { + color: rgb(31, 40, 61); + position: relative; + cursor: pointer; + display: inline-block; + white-space: nowrap; + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; +} + +.custom-theme .el-checkbox + .el-checkbox { + margin-left: 15px; +} + +.custom-theme .el-checkbox__input { + white-space: nowrap; + cursor: pointer; + outline: none; + display: inline-block; + line-height: 1; + position: relative; + vertical-align: middle; +} + +.custom-theme .el-checkbox__input.is-indeterminate .el-checkbox__inner { + background-color: #073069; + border-color: rgb(1, 43, 101); +} + +.custom-theme .el-checkbox__input.is-indeterminate .el-checkbox__inner::before { + content: ''; + position: absolute; + display: block; + border: 1px solid #fff; + margin-top: -1px; + left: 3px; + right: 3px; + top: 50%; +} + +.custom-theme .el-checkbox__input.is-indeterminate .el-checkbox__inner::after { + display: none; +} + +.custom-theme .el-checkbox__input.is-focus .el-checkbox__inner { + border-color: #073069; +} + +.custom-theme .el-checkbox__input.is-checked .el-checkbox__inner { + background-color: #073069; + border-color: rgb(1, 43, 101); +} + +.custom-theme .el-checkbox__input.is-checked .el-checkbox__inner::after { + transform: rotate(45deg) scaleY(1); +} + +.custom-theme .el-checkbox__input.is-disabled .el-checkbox__inner { + background-color: rgb(238, 240, 246); + border-color: rgb(209, 215, 229); + cursor: not-allowed; +} + +.custom-theme .el-checkbox__input.is-disabled .el-checkbox__inner::after { + cursor: not-allowed; + border-color: rgb(238, 240, 246); +} + +.custom-theme .el-checkbox__input.is-disabled .el-checkbox__inner + .el-checkbox__label { + cursor: not-allowed; +} + +.custom-theme .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner { + background-color: rgb(209, 215, 229); + border-color: rgb(209, 215, 229); +} + +.custom-theme .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after { + border-color: #fff; +} + +.custom-theme .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner { + background-color: rgb(209, 215, 229); + border-color: rgb(209, 215, 229); +} + +.custom-theme .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before { + border-color: #fff; +} + +.custom-theme .el-checkbox__input.is-disabled + .el-checkbox__label { + color: #bbb; + cursor: not-allowed; +} + +.custom-theme .el-checkbox__inner { + display: inline-block; + position: relative; + border: 1px solid rgb(191, 199, 217); + border-radius: 4px; + box-sizing: border-box; + width: 18px; + height: 18px; + background-color: #fff; + z-index: 1; + transition: border-color .25s cubic-bezier(.71,-.46,.29,1.46), + background-color .25s cubic-bezier(.71,-.46,.29,1.46); +} + +.custom-theme .el-checkbox__inner:hover { + border-color: #073069; +} + +.custom-theme .el-checkbox__inner::after { + box-sizing: content-box; + content: ""; + border: 2px solid #fff; + border-left: 0; + border-top: 0; + height: 8px; + left: 5px; + position: absolute; + top: 1px; + transform: rotate(45deg) scaleY(0); + width: 4px; + transition: transform .15s cubic-bezier(.71,-.46,.88,.6) .05s; + transform-origin: center; +} + +.custom-theme .el-checkbox__original { + opacity: 0; + outline: none; + position: absolute; + margin: 0; + left: -999px; +} + +.custom-theme .el-checkbox__label { + font-size: 14px; + padding-left: 5px; +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-tag { + background-color: rgb(131, 139, 165); + display: inline-block; + padding: 0 5px; + height: 24px; + line-height: 22px; + font-size: 12px; + color: #fff; + border-radius: 4px; + box-sizing: border-box; + border: 1px solid transparent; + white-space: nowrap; +} + +.custom-theme .el-tag .el-icon-close { + border-radius: 50%; + text-align: center; + position: relative; + cursor: pointer; + font-size: 12px; + transform: scale(.75, .75); + height: 18px; + width: 18px; + line-height: 18px; + vertical-align: middle; + top: -1px; + right: -2px; +} + +.custom-theme .el-tag .el-icon-close:hover { + background-color: #fff; + color: rgb(131, 139, 165); +} + +.custom-theme .el-tag--gray { + background-color: rgb(228, 230, 241); + border-color: rgb(228, 230, 241); + color: rgb(72, 81, 106); +} + +.custom-theme .el-tag--gray .el-tag__close:hover { + background-color: rgb(72, 81, 106); + color: #fff; +} + +.custom-theme .el-tag--gray.is-hit { + border-color: rgb(72, 81, 106); +} + +.custom-theme .el-tag--primary { + background-color: rgba(7, 48, 105, 0.1); + border-color: rgba(7, 48, 105, 0.2); + color: #073069; +} + +.custom-theme .el-tag--primary .el-tag__close:hover { + background-color: #073069; + color: #fff; +} + +.custom-theme .el-tag--primary.is-hit { + border-color: #073069; +} + +.custom-theme .el-tag--success { + background-color: rgba(18,206,102,0.10); + border-color: rgba(18,206,102,0.20); + color: #00643b; +} + +.custom-theme .el-tag--success .el-tag__close:hover { + background-color: #00643b; + color: #fff; +} + +.custom-theme .el-tag--success.is-hit { + border-color: #00643b; +} + +.custom-theme .el-tag--warning { + background-color: rgba(247,186,41,0.10); + border-color: rgba(247,186,41,0.20); + color: #f56a00; +} + +.custom-theme .el-tag--warning .el-tag__close:hover { + background-color: #f56a00; + color: #fff; +} + +.custom-theme .el-tag--warning.is-hit { + border-color: #f56a00; +} + +.custom-theme .el-tag--danger { + background-color: rgba(255,73,73,0.10); + border-color: rgba(255,73,73,0.20); + color: #ffbf00; +} + +.custom-theme .el-tag--danger .el-tag__close:hover { + background-color: #ffbf00; + color: #fff; +} + +.custom-theme .el-tag--danger.is-hit { + border-color: #ffbf00; +} + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-table { + position: relative; + overflow: hidden; + box-sizing: border-box; + width: 100%; + max-width: 100%; + background-color: #fff; + border: 1px solid rgb(223, 227, 236); + font-size: 14px; + color: rgb(31, 40, 61); +} + +.custom-theme .el-table .el-tooltip.cell { + white-space: nowrap; +} + +.custom-theme .el-table th, +.custom-theme .el-table td { + height: 40px; + min-width: 0; + box-sizing: border-box; + text-overflow: ellipsis; + vertical-align: middle; + position: relative; +} + +.custom-theme .el-table th.is-right, +.custom-theme .el-table td.is-right { + text-align: right; +} + +.custom-theme .el-table th.is-left, +.custom-theme .el-table td.is-left { + text-align: left; +} + +.custom-theme .el-table th.is-center, +.custom-theme .el-table td.is-center { + text-align: center; +} + +.custom-theme .el-table th.is-leaf, +.custom-theme .el-table td { + border-bottom: 1px solid rgb(223, 227, 236); +} + +.custom-theme .el-table th.gutter, +.custom-theme .el-table td.gutter { + width: 15px; + border-right-width: 0; + border-bottom-width: 0; + padding: 0; +} + +.custom-theme .el-table td.is-hidden > *, +.custom-theme .el-table th.is-hidden > * { + visibility: hidden; +} + +.custom-theme .el-table::before { + content: ''; + position: absolute; + left: 0; + bottom: 0; + width: 100%; + height: 1px; + background-color: rgb(223, 227, 236); + z-index: 1; +} + +.custom-theme .el-table::after { + content: ''; + position: absolute; + top: 0; + right: 0; + width: 1px; + height: 100%; + background-color: rgb(223, 227, 236); + z-index: 1; +} + +.custom-theme .el-table th { + white-space: nowrap; + overflow: hidden; +} + +.custom-theme .el-table th { + background-color: rgb(238, 240, 246); + text-align: left; +} + +.custom-theme .el-table th > div { + display: inline-block; + padding-left: 18px; + padding-right: 18px; + line-height: 40px; + box-sizing: border-box; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +.custom-theme .el-table td > div { + box-sizing: border-box; +} + +.custom-theme .el-table th.required > div::before { + display: inline-block; + content: ""; + width: 8px; + height: 8px; + border-radius: 50%; + background: #ff4d51; + margin-right: 5px; + vertical-align: middle; +} + +.custom-theme .el-table th > .cell { + position: relative; + word-wrap: normal; + text-overflow: ellipsis; + display: inline-block; + line-height: 20px; + vertical-align: middle; + width: 100%; + box-sizing: border-box; +} + +.custom-theme .el-table th > .cell.highlight { + color: #073069; +} + +.custom-theme .el-table .caret-wrapper { + position: relative; + cursor: pointer; + display: inline-block; + vertical-align: middle; + margin-left: 5px; + margin-top: -2px; + width: 16px; + height: 34px; + overflow: visible; + overflow: initial; +} + +.custom-theme .el-table .sort-caret { + display: inline-block; + width: 0; + height: 0; + border: 0; + content: ""; + position: absolute; + left: 3px; + z-index: 2; +} + +.custom-theme .el-table .sort-caret.ascending { + top: 11px; + border-top: none; + border-right: 5px solid transparent; + border-bottom: 5px solid rgb(151, 161, 190); + border-left: 5px solid transparent; +} + +.custom-theme .el-table .sort-caret.descending { + bottom: 11px; + border-top: 5px solid rgb(151, 161, 190); + border-right: 5px solid transparent; + border-bottom: none; + border-left: 5px solid transparent; +} + +.custom-theme .el-table .ascending .sort-caret.ascending { + border-bottom-color: rgb(72, 81, 106); +} + +.custom-theme .el-table .descending .sort-caret.descending { + border-top-color: rgb(72, 81, 106); +} + +.custom-theme .el-table td.gutter { + width: 0; +} + +.custom-theme .el-table .cell { + box-sizing: border-box; + overflow: hidden; + text-overflow: ellipsis; + white-space: normal; + word-break: break-all; + line-height: 24px; + padding-left: 18px; + padding-right: 18px; +} + +.custom-theme .el-table tr input[type="checkbox"] { + margin: 0; +} + +.custom-theme .el-table tr { + background-color: #fff; +} + +.custom-theme .el-table .hidden-columns { + visibility: hidden; + position: absolute; + z-index: -1; +} + +.custom-theme .el-table__empty-block { + position: relative; + min-height: 60px; + text-align: center; + width: 100%; + height: 100%; +} + +.custom-theme .el-table__empty-text { + position: absolute; + left: 50%; + top: 50%; + transform: translate(-50%, -50%); + color: rgb(94, 109, 130); +} + +.custom-theme .el-table__expand-column .cell { + padding: 0; + text-align: center; +} + +.custom-theme .el-table__expand-icon { + position: relative; + cursor: pointer; + color: #666; + font-size: 12px; + transition: transform 0.2s ease-in-out; + height: 40px; +} + +.custom-theme .el-table__expand-icon > .el-icon { + position: absolute; + left: 50%; + top: 50%; + margin-left: -5px; + margin-top: -5px; +} + +.custom-theme .el-table__expand-icon--expanded { + transform: rotate(90deg); +} + +.custom-theme .el-table__expanded-cell { + padding: 20px 50px; + background-color: rgb(250, 251, 252); + box-shadow: inset 0 2px 0 #f4f4f4; +} + +.custom-theme .el-table__expanded-cell:hover { + background-color: rgb(250, 251, 252) !important; +} + +.custom-theme .el-table--fit { + border-right: 0; + border-bottom: 0; +} + +.custom-theme .el-table--fit th.gutter, +.custom-theme .el-table--fit td.gutter { + border-right-width: 1px; +} + +.custom-theme .el-table--border th, +.custom-theme .el-table--border td { + border-right: 1px solid rgb(223, 227, 236); +} + +.custom-theme .el-table--border th { + border-bottom: 1px solid rgb(223, 227, 236); +} + +.custom-theme .el-table__fixed, +.custom-theme .el-table__fixed-right { + position: absolute; + top: 0; + left: 0; + box-shadow: 1px 0 8px #d3d4d6; + overflow-x: hidden; +} + +.custom-theme .el-table__fixed::before, +.custom-theme .el-table__fixed-right::before { + content: ''; + position: absolute; + left: 0; + bottom: 0; + width: 100%; + height: 1px; + background-color: rgb(223, 227, 236); + z-index: 4; +} + +.custom-theme .el-table__fixed-right-patch { + position: absolute; + top: -1px; + right: 0; + background-color: rgb(238, 240, 246); + border-bottom: 1px solid rgb(223, 227, 236); +} + +.custom-theme .el-table__fixed-right { + top: 0; + left: auto; + right: 0; + box-shadow: -1px 0 8px #d3d4d6; +} + +.custom-theme .el-table__fixed-right .el-table__fixed-header-wrapper, +.custom-theme .el-table__fixed-right .el-table__fixed-body-wrapper { + left: auto; + right: 0; +} + +.custom-theme .el-table__fixed-header-wrapper { + position: absolute; + left: 0; + top: 0; + z-index: 3; +} + +.custom-theme .el-table__fixed-header-wrapper thead div { + background-color: rgb(238, 240, 246); + color: rgb(31, 40, 61); +} + +.custom-theme .el-table__fixed-body-wrapper { + position: absolute; + left: 0; + top: 37px; + overflow: hidden; + z-index: 3; +} + +.custom-theme .el-table__header-wrapper, +.custom-theme .el-table__body-wrapper { + width: 100%; +} + +.custom-theme .el-table__header, +.custom-theme .el-table__body { + table-layout: fixed; +} + +.custom-theme .el-table__header-wrapper { + overflow: hidden; +} + +.custom-theme .el-table__header-wrapper thead div { + background-color: rgb(238, 240, 246); + color: rgb(31, 40, 61); +} + +.custom-theme .el-table__body-wrapper { + overflow: auto; + position: relative; +} + + + + + +.custom-theme .el-table--striped .el-table__body tr:nth-child(2n) td { + background: #FAFAFA; +} + +.custom-theme .el-table--striped .el-table__body tr:nth-child(2n).current-row td { + background: rgb(235, 238, 243); +} + +.custom-theme .el-table__body tr.hover-row > td { + background-color: rgb(238, 240, 246); +} + +.custom-theme .el-table__body tr.current-row > td { + background: rgb(235, 238, 243); +} + +.custom-theme .el-table__column-resize-proxy { + position: absolute; + left: 200px; + top: 0; + bottom: 0; + width: 0; + border-left: 1px solid rgb(223, 227, 236); + z-index: 10; +} + +.custom-theme .el-table__column-filter-trigger { + display: inline-block; + line-height: 34px; + margin-left: 5px; + cursor: pointer; +} + +.custom-theme .el-table__column-filter-trigger i { + color: rgb(151, 161, 190); +} + +.custom-theme .el-table--enable-row-transition .el-table__body td { + transition: background-color .25s ease; +} + +.custom-theme .el-table--enable-row-hover tr:hover > td { + background-color: rgb(238, 240, 246); +} + +.custom-theme .el-table--fluid-height .el-table__fixed, +.custom-theme .el-table--fluid-height .el-table__fixed-right { + bottom: 0; + overflow: hidden; +} + +@charset "UTF-8"; + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-checkbox { + color: rgb(31, 40, 61); + position: relative; + cursor: pointer; + display: inline-block; + white-space: nowrap; + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; +} + +.custom-theme .el-checkbox + .el-checkbox { + margin-left: 15px; +} + +.custom-theme .el-checkbox__input { + white-space: nowrap; + cursor: pointer; + outline: none; + display: inline-block; + line-height: 1; + position: relative; + vertical-align: middle; +} + +.custom-theme .el-checkbox__input.is-indeterminate .el-checkbox__inner { + background-color: #073069; + border-color: rgb(1, 43, 101); +} + +.custom-theme .el-checkbox__input.is-indeterminate .el-checkbox__inner::before { + content: ''; + position: absolute; + display: block; + border: 1px solid #fff; + margin-top: -1px; + left: 3px; + right: 3px; + top: 50%; +} + +.custom-theme .el-checkbox__input.is-indeterminate .el-checkbox__inner::after { + display: none; +} + +.custom-theme .el-checkbox__input.is-focus .el-checkbox__inner { + border-color: #073069; +} + +.custom-theme .el-checkbox__input.is-checked .el-checkbox__inner { + background-color: #073069; + border-color: rgb(1, 43, 101); +} + +.custom-theme .el-checkbox__input.is-checked .el-checkbox__inner::after { + transform: rotate(45deg) scaleY(1); +} + +.custom-theme .el-checkbox__input.is-disabled .el-checkbox__inner { + background-color: rgb(238, 240, 246); + border-color: rgb(209, 215, 229); + cursor: not-allowed; +} + +.custom-theme .el-checkbox__input.is-disabled .el-checkbox__inner::after { + cursor: not-allowed; + border-color: rgb(238, 240, 246); +} + +.custom-theme .el-checkbox__input.is-disabled .el-checkbox__inner + .el-checkbox__label { + cursor: not-allowed; +} + +.custom-theme .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner { + background-color: rgb(209, 215, 229); + border-color: rgb(209, 215, 229); +} + +.custom-theme .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after { + border-color: #fff; +} + +.custom-theme .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner { + background-color: rgb(209, 215, 229); + border-color: rgb(209, 215, 229); +} + +.custom-theme .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before { + border-color: #fff; +} + +.custom-theme .el-checkbox__input.is-disabled + .el-checkbox__label { + color: #bbb; + cursor: not-allowed; +} + +.custom-theme .el-checkbox__inner { + display: inline-block; + position: relative; + border: 1px solid rgb(191, 199, 217); + border-radius: 4px; + box-sizing: border-box; + width: 18px; + height: 18px; + background-color: #fff; + z-index: 1; + transition: border-color .25s cubic-bezier(.71,-.46,.29,1.46), + background-color .25s cubic-bezier(.71,-.46,.29,1.46); +} + +.custom-theme .el-checkbox__inner:hover { + border-color: #073069; +} + +.custom-theme .el-checkbox__inner::after { + box-sizing: content-box; + content: ""; + border: 2px solid #fff; + border-left: 0; + border-top: 0; + height: 8px; + left: 5px; + position: absolute; + top: 1px; + transform: rotate(45deg) scaleY(0); + width: 4px; + transition: transform .15s cubic-bezier(.71,-.46,.88,.6) .05s; + transform-origin: center; +} + +.custom-theme .el-checkbox__original { + opacity: 0; + outline: none; + position: absolute; + margin: 0; + left: -999px; +} + +.custom-theme .el-checkbox__label { + font-size: 14px; + padding-left: 5px; +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-tag { + background-color: rgb(131, 139, 165); + display: inline-block; + padding: 0 5px; + height: 24px; + line-height: 22px; + font-size: 12px; + color: #fff; + border-radius: 4px; + box-sizing: border-box; + border: 1px solid transparent; + white-space: nowrap; +} + +.custom-theme .el-tag .el-icon-close { + border-radius: 50%; + text-align: center; + position: relative; + cursor: pointer; + font-size: 12px; + transform: scale(.75, .75); + height: 18px; + width: 18px; + line-height: 18px; + vertical-align: middle; + top: -1px; + right: -2px; +} + +.custom-theme .el-tag .el-icon-close:hover { + background-color: #fff; + color: rgb(131, 139, 165); +} + +.custom-theme .el-tag--gray { + background-color: rgb(228, 230, 241); + border-color: rgb(228, 230, 241); + color: rgb(72, 81, 106); +} + +.custom-theme .el-tag--gray .el-tag__close:hover { + background-color: rgb(72, 81, 106); + color: #fff; +} + +.custom-theme .el-tag--gray.is-hit { + border-color: rgb(72, 81, 106); +} + +.custom-theme .el-tag--primary { + background-color: rgba(7, 48, 105, 0.1); + border-color: rgba(7, 48, 105, 0.2); + color: #073069; +} + +.custom-theme .el-tag--primary .el-tag__close:hover { + background-color: #073069; + color: #fff; +} + +.custom-theme .el-tag--primary.is-hit { + border-color: #073069; +} + +.custom-theme .el-tag--success { + background-color: rgba(18,206,102,0.10); + border-color: rgba(18,206,102,0.20); + color: #00643b; +} + +.custom-theme .el-tag--success .el-tag__close:hover { + background-color: #00643b; + color: #fff; +} + +.custom-theme .el-tag--success.is-hit { + border-color: #00643b; +} + +.custom-theme .el-tag--warning { + background-color: rgba(247,186,41,0.10); + border-color: rgba(247,186,41,0.20); + color: #f56a00; +} + +.custom-theme .el-tag--warning .el-tag__close:hover { + background-color: #f56a00; + color: #fff; +} + +.custom-theme .el-tag--warning.is-hit { + border-color: #f56a00; +} + +.custom-theme .el-tag--danger { + background-color: rgba(255,73,73,0.10); + border-color: rgba(255,73,73,0.20); + color: #ffbf00; +} + +.custom-theme .el-tag--danger .el-tag__close:hover { + background-color: #ffbf00; + color: #fff; +} + +.custom-theme .el-tag--danger.is-hit { + border-color: #ffbf00; +} + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + + + +.custom-theme .el-table-column--selection .cell { + padding-left: 14px; + padding-right: 14px; +} + +.custom-theme .el-table-filter { + border: solid 1px rgb(209, 215, 229); + border-radius: 2px; + background-color: #fff; + box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .12); + box-sizing: border-box; + margin: 2px 0; + /** used for dropdown mode */ +} + +.custom-theme .el-table-filter__list { + padding: 5px 0; + margin: 0; + list-style: none; + min-width: 100px; +} + +.custom-theme .el-table-filter__list-item { + line-height: 36px; + padding: 0 10px; + cursor: pointer; + font-size: 14px; +} + +.custom-theme .el-table-filter__list-item:hover { + background-color: rgb(228, 230, 241); + color: rgb(72, 81, 106); +} + +.custom-theme .el-table-filter__list-item.is-active { + background-color: #073069; + color: #fff; +} + +.custom-theme .el-table-filter__content { + min-width: 100px; +} + +.custom-theme .el-table-filter__bottom { + border-top: 1px solid rgb(209, 215, 229); + padding: 8px; +} + +.custom-theme .el-table-filter__bottom button { + background: transparent; + border: none; + color: rgb(131, 139, 165); + cursor: pointer; + font-size: 14px; + padding: 0 3px; +} + +.custom-theme .el-table-filter__bottom button:hover { + color: #073069; +} + +.custom-theme .el-table-filter__bottom button:focus { + outline: none; +} + +.custom-theme .el-table-filter__bottom button.is-disabled { + color: rgb(191, 199, 217); + cursor: not-allowed; +} + +.custom-theme .el-table-filter__checkbox-group { + padding: 10px; +} + +.custom-theme .el-table-filter__checkbox-group .el-checkbox { + display: block; + margin-bottom: 8px; + margin-left: 5px; +} + +.custom-theme .el-table-filter__checkbox-group .el-checkbox:last-child { + margin-bottom: 0; +} + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-date-table { + font-size: 12px; + min-width: 224px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.custom-theme .el-date-table td { + width: 32px; + height: 32px; + box-sizing: border-box; + text-align: center; + cursor: pointer; +} + +.custom-theme .el-date-table td.next-month, +.custom-theme .el-date-table td.prev-month { + color: #ddd; +} + +.custom-theme .el-date-table td.today { + color: #073069; + position: relative; +} + +.custom-theme .el-date-table td.today:before { + content: " "; + position: absolute; + top: 0px; + right: 0px; + width: 0; + height: 0; + border-top: 0.5em solid #073069; + border-left: .5em solid transparent; +} + +.custom-theme .el-date-table td.available:hover { + background-color: rgb(228, 230, 241); +} + +.custom-theme .el-date-table td.in-range { + background-color: rgb(205, 214, 225); +} + +.custom-theme .el-date-table td.in-range:hover { + background-color: rgb(166, 180, 201); +} + +.custom-theme .el-date-table td.current:not(.disabled), +.custom-theme .el-date-table td.start-date, +.custom-theme .el-date-table td.end-date { + background-color: #073069 !important; + color: #fff; +} + +.custom-theme .el-date-table td.disabled { + background-color: #f4f4f4; + opacity: 1; + cursor: not-allowed; + color: #ccc; +} + +.custom-theme .el-date-table td.week { + font-size: 80%; + color: rgb(131, 139, 165); +} + +.custom-theme .el-date-table th { + padding: 5px; + color: rgb(131, 139, 165); + font-weight: 400; +} + + + +.custom-theme .el-date-table.is-week-mode .el-date-table__row:hover { + background-color: rgb(228, 230, 241); +} + +.custom-theme .el-date-table.is-week-mode .el-date-table__row.current { + background-color: rgb(205, 214, 225); +} + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-month-table { + font-size: 12px; + margin: -1px; + border-collapse: collapse; +} + +.custom-theme .el-month-table td { + text-align: center; + padding: 20px 3px; + cursor: pointer; +} + +.custom-theme .el-month-table td .cell { + width: 48px; + height: 32px; + display: block; + line-height: 32px; + color: rgb(72, 81, 106); +} + +.custom-theme .el-month-table td .cell:hover { + background-color: rgb(228, 230, 241); +} + +.custom-theme .el-month-table td.disabled .cell { + background-color: #f4f4f4; + cursor: not-allowed; + color: #ccc; +} + +.custom-theme .el-month-table td.current:not(.disabled) .cell { + background-color: #073069 !important; + color: #fff; +} + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-year-table { + font-size: 12px; + margin: -1px; + border-collapse: collapse; +} + +.custom-theme .el-year-table .el-icon { + color: rgb(151, 161, 190); +} + +.custom-theme .el-year-table td { + text-align: center; + padding: 20px 3px; + cursor: pointer; +} + +.custom-theme .el-year-table td .cell { + width: 48px; + height: 32px; + display: block; + line-height: 32px; + color: rgb(72, 81, 106); +} + +.custom-theme .el-year-table td .cell:hover { + background-color: rgb(228, 230, 241); +} + +.custom-theme .el-year-table td.disabled .cell { + background-color: #f4f4f4; + cursor: not-allowed; + color: #ccc; +} + +.custom-theme .el-year-table td.current:not(.disabled) .cell { + background-color: #073069 !important; + color: #fff; +} + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + + + +.custom-theme .el-time-spinner.has-seconds .el-time-spinner__wrapper { + width: 33%; +} + +.custom-theme .el-time-spinner.has-seconds .el-time-spinner__wrapper .el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default) { + padding-bottom: 15px; +} + +.custom-theme .el-time-spinner.has-seconds .el-time-spinner__wrapper:nth-child(2) { + margin-left: 1%; +} + +.custom-theme .el-time-spinner__wrapper { + max-height: 190px; + overflow: auto; + display: inline-block; + width: 50%; + vertical-align: top; + position: relative; +} + +.custom-theme .el-time-spinner__list { + padding: 0; + margin: 0; + list-style: none; + text-align: center; +} + +.custom-theme .el-time-spinner__list::after, +.custom-theme .el-time-spinner__list::before { + content: ''; + display: block; + width: 100%; + height: 80px; +} + +.custom-theme .el-time-spinner__item { + height: 32px; + line-height: 32px; + font-size: 12px; +} + +.custom-theme .el-time-spinner__item:hover:not(.disabled):not(.active) { + background: rgb(228, 230, 241); + cursor: pointer; +} + +.custom-theme .el-time-spinner__item.active:not(.disabled) { + color: #fff; +} + +.custom-theme .el-time-spinner__item.disabled { + color: rgb(209, 215, 229); + cursor: not-allowed; +} + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .fade-in-linear-enter-active, +.custom-theme .fade-in-linear-leave-active { + transition: opacity 200ms linear; +} + +.custom-theme .fade-in-linear-enter, +.custom-theme .fade-in-linear-leave, +.custom-theme .fade-in-linear-leave-active { + opacity: 0; +} + +.custom-theme .el-fade-in-enter-active, +.custom-theme .el-fade-in-leave-active { + transition: all .3s cubic-bezier(.55,0,.1,1); +} + +.custom-theme .el-fade-in-enter, +.custom-theme .el-fade-in-leave-active { + opacity: 0; +} + +.custom-theme .el-zoom-in-center-enter-active, +.custom-theme .el-zoom-in-center-leave-active { + transition: all .3s cubic-bezier(.55,0,.1,1); +} + +.custom-theme .el-zoom-in-center-enter, +.custom-theme .el-zoom-in-center-leave-active { + opacity: 0; + transform: scaleX(0); +} + +.custom-theme .el-zoom-in-top-enter-active, +.custom-theme .el-zoom-in-top-leave-active { + opacity: 1; + transform: scaleY(1); + transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1) 100ms, opacity 300ms cubic-bezier(0.23, 1, 0.32, 1) 100ms; + transform-origin: center top; +} + +.custom-theme .el-zoom-in-top-enter, +.custom-theme .el-zoom-in-top-leave-active { + opacity: 0; + transform: scaleY(0); +} + +.custom-theme .el-zoom-in-bottom-enter-active, +.custom-theme .el-zoom-in-bottom-leave-active { + opacity: 1; + transform: scaleY(1); + transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1) 100ms, opacity 300ms cubic-bezier(0.23, 1, 0.32, 1) 100ms; + transform-origin: center bottom; +} + +.custom-theme .el-zoom-in-bottom-enter, +.custom-theme .el-zoom-in-bottom-leave-active { + opacity: 0; + transform: scaleY(0); +} + +.custom-theme .collapse-transition { + transition: 0.3s height ease-in-out, 0.3s padding-top ease-in-out, 0.3s padding-bottom ease-in-out; +} + +.custom-theme .list-enter-active, +.custom-theme .list-leave-active { + transition: all 1s; +} + +.custom-theme .list-enter, +.custom-theme .list-leave-active { + opacity: 0; + transform: translateY(-30px); +} + +.custom-theme .el-date-editor { + position: relative; + display: inline-block; +} + +.custom-theme .el-date-editor .el-picker-panel { + position: absolute; + min-width: 180px; + box-sizing: border-box; + box-shadow: 0 2px 6px #ccc; + background: #fff; + z-index: 10; + top: 41px; +} + +.custom-theme .el-date-editor.el-input { + width: 193px; +} + + + +.custom-theme .el-date-editor--daterange.el-input { + width: 220px; +} + + + +.custom-theme .el-date-editor--datetimerange.el-input { + width: 350px; +} + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-picker-panel { + color: rgb(72, 81, 106); + border: 1px solid rgb(209, 215, 229); + box-shadow: 0 2px 6px #ccc; + background: #fff; + border-radius: 2px; + line-height: 20px; + margin: 5px 0; +} + + + +.custom-theme .el-picker-panel__body::after, +.custom-theme .el-picker-panel__body-wrapper::after { + content: ""; + display: table; + clear: both; +} + +.custom-theme .el-picker-panel__content { + position: relative; + margin: 15px; +} + +.custom-theme .el-picker-panel__footer { + border-top: 1px solid #e4e4e4; + padding: 4px; + text-align: right; + background-color: #fff; + position: relative; +} + +.custom-theme .el-picker-panel__shortcut { + display: block; + width: 100%; + border: 0; + background-color: transparent; + line-height: 28px; + font-size: 14px; + color: rgb(72, 81, 106); + padding-left: 12px; + text-align: left; + outline: none; + cursor: pointer; +} + +.custom-theme .el-picker-panel__shortcut:hover { + background-color: rgb(228, 230, 241); +} + +.custom-theme .el-picker-panel__shortcut.active { + background-color: #e6f1fe; + color: #073069; +} + +.custom-theme .el-picker-panel__btn { + border: 1px solid #dcdcdc; + color: #333; + line-height: 24px; + border-radius: 2px; + padding: 0 20px; + cursor: pointer; + background-color: transparent; + outline: none; + font-size: 12px; +} + +.custom-theme .el-picker-panel__btn[disabled] { + color: #cccccc; + cursor: not-allowed; +} + +.custom-theme .el-picker-panel__icon-btn { + font-size: 12px; + color: rgb(151, 161, 190); + border: 0; + background: transparent; + cursor: pointer; + outline: none; + margin-top: 3px; +} + +.custom-theme .el-picker-panel__icon-btn:hover { + color: #073069; +} + +.custom-theme .el-picker-panel__link-btn { + cursor: pointer; + color: #073069; + text-decoration: none; + padding: 15px; + font-size: 12px; +} + +.custom-theme .el-picker-panel *[slot=sidebar], +.custom-theme .el-picker-panel__sidebar { + position: absolute; + top: 0; + bottom: 0; + width: 110px; + border-right: 1px solid #e4e4e4; + box-sizing: border-box; + padding-top: 6px; + background-color: rgb(250, 251, 252); +} + +.custom-theme .el-picker-panel *[slot=sidebar] + .el-picker-panel__body, +.custom-theme .el-picker-panel__sidebar + .el-picker-panel__body { + margin-left: 110px; +} + +.custom-theme .el-date-picker { + min-width: 254px; +} + +.custom-theme .el-date-picker .el-picker-panel__content { + min-width: 224px; +} + +.custom-theme .el-date-picker table { + table-layout: fixed; + width: 100%; +} + +.custom-theme .el-date-picker.has-sidebar.has-time { + min-width: 434px; +} + +.custom-theme .el-date-picker.has-sidebar { + min-width: 370px; +} + +.custom-theme .el-date-picker.has-time { + min-width: 324px; +} + +.custom-theme .el-date-picker__editor-wrap { + position: relative; + display: table-cell; + padding: 0 5px; +} + +.custom-theme .el-date-picker__time-header { + position: relative; + border-bottom: 1px solid #e4e4e4; + font-size: 12px; + padding: 8px 5px 5px 5px; + display: table; + width: 100%; + box-sizing: border-box; +} + +.custom-theme .el-date-picker__header { + margin: 12px; + text-align: center; +} + +.custom-theme .el-date-picker__header-label { + font-size: 14px; + padding: 0 5px; + line-height: 22px; + text-align: center; + cursor: pointer; +} + +.custom-theme .el-date-picker__header-label:hover { + color: #073069; +} + +.custom-theme .el-date-picker__header-label.active { + color: #073069; +} + +.custom-theme .el-date-picker__prev-btn { + float: left; +} + +.custom-theme .el-date-picker__next-btn { + float: right; +} + +.custom-theme .el-date-picker__time-wrap { + padding: 10px; + text-align: center; +} + +.custom-theme .el-date-picker__time-label { + float: left; + cursor: pointer; + line-height: 30px; + margin-left: 10px; +} + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-date-range-picker { + min-width: 520px; +} + +.custom-theme .el-date-range-picker table { + table-layout: fixed; + width: 100%; +} + +.custom-theme .el-date-range-picker .el-picker-panel__body { + min-width: 513px; +} + +.custom-theme .el-date-range-picker .el-picker-panel__content { + margin: 0; +} + +.custom-theme .el-date-range-picker.has-sidebar.has-time { + min-width: 766px; +} + +.custom-theme .el-date-range-picker.has-sidebar { + min-width: 620px; +} + +.custom-theme .el-date-range-picker.has-time { + min-width: 660px; +} + +.custom-theme .el-date-range-picker__header { + position: relative; + text-align: center; + height: 28px; +} + +.custom-theme .el-date-range-picker__header button { + float: left; +} + +.custom-theme .el-date-range-picker__header div { + font-size: 14px; + margin-right: 50px; +} + +.custom-theme .el-date-range-picker__content { + float: left; + width: 50%; + box-sizing: border-box; + margin: 0; + padding: 16px; +} + +.custom-theme .el-date-range-picker__content.is-right .el-date-range-picker__header button { + float: right; +} + +.custom-theme .el-date-range-picker__content.is-right .el-date-range-picker__header div { + margin-left: 50px; + margin-right: 50px; +} + +.custom-theme .el-date-range-picker__content.is-left { + border-right: 1px solid #e4e4e4; +} + +.custom-theme .el-date-range-picker__editors-wrap { + box-sizing: border-box; + display: table-cell; +} + +.custom-theme .el-date-range-picker__editors-wrap.is-right { + text-align: right; +} + +.custom-theme .el-date-range-picker__time-header { + position: relative; + border-bottom: 1px solid #e4e4e4; + font-size: 12px; + padding: 8px 5px 5px 5px; + display: table; + width: 100%; + box-sizing: border-box; +} + +.custom-theme .el-date-range-picker__time-header > .el-icon-arrow-right { + font-size: 20px; + vertical-align: middle; + display: table-cell; + color: rgb(151, 161, 190); +} + +.custom-theme .el-date-range-picker__time-picker-wrap { + position: relative; + display: table-cell; + padding: 0 5px; +} + +.custom-theme .el-date-range-picker__time-picker-wrap .el-picker-panel { + position: absolute; + top: 13px; + right: 0; + z-index: 1; + background: #fff; +} + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-time-range-picker { + min-width: 354px; + overflow: visible; +} + +.custom-theme .el-time-range-picker__content { + position: relative; + text-align: center; + padding: 10px; +} + +.custom-theme .el-time-range-picker__cell { + box-sizing: border-box; + margin: 0; + padding: 4px 7px 7px; + width: 50%; + display: inline-block; +} + +.custom-theme .el-time-range-picker__header { + margin-bottom: 5px; + text-align: center; + font-size: 14px; +} + +.custom-theme .el-time-range-picker__body { + border-radius: 2px; + border: 1px solid rgb(209, 215, 229); +} + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-time-panel { + margin: 5px 0; + border: solid 1px rgb(209, 215, 229); + background-color: #fff; + box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04); + border-radius: 2px; + position: absolute; + width: 180px; + left: 0; + z-index: 1000; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.custom-theme .el-time-panel__content { + font-size: 0; + position: relative; + overflow: hidden; +} + +.custom-theme .el-time-panel__content::after, +.custom-theme .el-time-panel__content::before { + content: ":"; + top: 50%; + color: #fff; + position: absolute; + font-size: 14px; + margin-top: -15px; + line-height: 16px; + background-color: #073069; + height: 32px; + z-index: -1; + left: 0; + right: 0; + box-sizing: border-box; + padding-top: 6px; + text-align: left; +} + +.custom-theme .el-time-panel__content::after { + left: 50%; + margin-left: -2px; +} + +.custom-theme .el-time-panel__content::before { + padding-left: 50%; + margin-right: -2px; +} + + + +.custom-theme .el-time-panel__content.has-seconds::after { + left: 66.66667%; +} + +.custom-theme .el-time-panel__content.has-seconds::before { + padding-left: 33.33333%; +} + +.custom-theme .el-time-panel__footer { + border-top: 1px solid #e4e4e4; + padding: 4px; + height: 36px; + line-height: 25px; + text-align: right; + box-sizing: border-box; +} + +.custom-theme .el-time-panel__btn { + border: none; + line-height: 28px; + padding: 0 5px; + margin: 0 5px; + cursor: pointer; + background-color: transparent; + outline: none; + font-size: 12px; + color: rgb(131, 139, 165); +} + +.custom-theme .el-time-panel__btn.confirm { + font-weight: 800; + color: #073069; +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-input { + position: relative; + font-size: 14px; + display: inline-block; + width: 100%; +} + +.custom-theme .el-input.is-disabled .el-input__inner { + background-color: rgb(238, 240, 246); + border-color: rgb(209, 215, 229); + color: #bbb; + cursor: not-allowed; +} + +.custom-theme .el-input.is-disabled .el-input__inner::-webkit-input-placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-input.is-disabled .el-input__inner:-ms-input-placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-input.is-disabled .el-input__inner::placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-input.is-active .el-input__inner { + outline: none; + border-color: #073069; +} + +.custom-theme .el-input__inner { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #fff; + background-image: none; + border-radius: 4px; + border: 1px solid rgb(191, 199, 217); + box-sizing: border-box; + color: rgb(31, 40, 61); + display: block; + font-size: inherit; + height: 36px; + line-height: 1; + outline: none; + padding: 3px 10px; + transition: border-color .2s cubic-bezier(.645,.045,.355,1); + width: 100%; +} + +.custom-theme .el-input__inner::-webkit-input-placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-input__inner:-ms-input-placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-input__inner::placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-input__inner:hover { + border-color: rgb(131, 139, 165); +} + +.custom-theme .el-input__inner:focus { + outline: none; + border-color: #073069; +} + +.custom-theme .el-input__icon { + position: absolute; + width: 35px; + height: 100%; + right: 0; + top: 0; + text-align: center; + color: rgb(191, 199, 217); + transition: all .3s; +} + +.custom-theme .el-input__icon:after { + content: ''; + height: 100%; + width: 0; + display: inline-block; + vertical-align: middle; +} + +.custom-theme .el-input__icon + .el-input__inner { + padding-right: 35px; +} + + + +.custom-theme .el-input__icon.is-clickable:hover { + cursor: pointer; + color: rgb(131, 139, 165); +} + +.custom-theme .el-input__icon.is-clickable:hover + .el-input__inner { + border-color: rgb(131, 139, 165); +} + +.custom-theme .el-input--large { + font-size: 16px; +} + +.custom-theme .el-input--large .el-input__inner { + height: 42px; +} + +.custom-theme .el-input--small { + font-size: 13px; +} + +.custom-theme .el-input--small .el-input__inner { + height: 30px; +} + +.custom-theme .el-input--mini { + font-size: 12px; +} + +.custom-theme .el-input--mini .el-input__inner { + height: 22px; +} + +.custom-theme .el-input-group { + line-height: normal; + display: inline-table; + width: 100%; + border-collapse: separate; +} + +.custom-theme .el-input-group > .el-input__inner { + vertical-align: middle; + display: table-cell; +} + +.custom-theme .el-input-group__append, +.custom-theme .el-input-group__prepend { + background-color: rgb(250, 251, 252); + color: rgb(151, 161, 190); + vertical-align: middle; + display: table-cell; + position: relative; + border: 1px solid rgb(191, 199, 217); + border-radius: 4px; + padding: 0 10px; + width: 1%; + white-space: nowrap; +} + +.custom-theme .el-input-group__append .el-select, +.custom-theme .el-input-group__append .el-button, +.custom-theme .el-input-group__prepend .el-select, +.custom-theme .el-input-group__prepend .el-button { + display: block; + margin: -10px; +} + +.custom-theme .el-input-group__append .el-button, +.custom-theme .el-input-group__append .el-select .el-input__inner, +.custom-theme .el-input-group__append .el-select:hover .el-input__inner, +.custom-theme .el-input-group__prepend .el-button, +.custom-theme .el-input-group__prepend .el-select .el-input__inner, +.custom-theme .el-input-group__prepend .el-select:hover .el-input__inner { + border-color: transparent; + background-color: transparent; + color: inherit; + border-top: 0; + border-bottom: 0; +} + +.custom-theme .el-input-group__append .el-button, +.custom-theme .el-input-group__append .el-input, +.custom-theme .el-input-group__prepend .el-button, +.custom-theme .el-input-group__prepend .el-input { + font-size: inherit; +} + +.custom-theme .el-input-group__prepend { + border-right: 0; + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.custom-theme .el-input-group__append { + border-left: 0; + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.custom-theme .el-input-group--prepend .el-input__inner { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.custom-theme .el-input-group--append .el-input__inner { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.custom-theme .el-textarea { + display: inline-block; + width: 100%; + vertical-align: bottom; +} + +.custom-theme .el-textarea.is-disabled .el-textarea__inner { + background-color: rgb(238, 240, 246); + border-color: rgb(209, 215, 229); + color: #bbb; + cursor: not-allowed; +} + +.custom-theme .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-textarea.is-disabled .el-textarea__inner::placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-textarea__inner { + display: block; + resize: vertical; + padding: 5px 7px; + line-height: 1.5; + box-sizing: border-box; + width: 100%; + font-size: 14px; + color: rgb(31, 40, 61); + background-color: #fff; + background-image: none; + border: 1px solid rgb(191, 199, 217); + border-radius: 4px; + transition: border-color .2s cubic-bezier(.645,.045,.355,1); +} + +.custom-theme .el-textarea__inner::-webkit-input-placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-textarea__inner:-ms-input-placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-textarea__inner::placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-textarea__inner:hover { + border-color: rgb(131, 139, 165); +} + +.custom-theme .el-textarea__inner:focus { + outline: none; + border-color: #073069; +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-scrollbar { + overflow: hidden; + position: relative; +} + +.custom-theme .el-scrollbar:hover .el-scrollbar__bar, +.custom-theme .el-scrollbar:active .el-scrollbar__bar, +.custom-theme .el-scrollbar:focus .el-scrollbar__bar { + opacity: 1; + transition: opacity 340ms ease-out; +} + +.custom-theme .el-scrollbar__wrap { + overflow: scroll; +} + + + +.custom-theme .el-scrollbar__wrap--hidden-default::-webkit-scrollbar { + width: 0; + height: 0; +} + +.custom-theme .el-scrollbar__thumb { + position: relative; + display: block; + width: 0; + height: 0; + cursor: pointer; + border-radius: inherit; + background-color: rgba(151, 161, 190, 0.3); + transition: .3s background-color; +} + +.custom-theme .el-scrollbar__thumb:hover { + background-color: rgba(151, 161, 190, 0.5); +} + +.custom-theme .el-scrollbar__bar { + position: absolute; + right: 2px; + bottom: 2px; + z-index: 1; + border-radius: 4px; + opacity: 0; + transition: opacity 120ms ease-out; +} + +.custom-theme .el-scrollbar__bar.is-horizontal { + height: 6px; + left: 2px; +} + +.custom-theme .el-scrollbar__bar.is-horizontal > div { + height: 100%; +} + +.custom-theme .el-scrollbar__bar.is-vertical { + width: 6px; + top: 2px; +} + +.custom-theme .el-scrollbar__bar.is-vertical > div { + width: 100%; +} + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .fade-in-linear-enter-active, +.custom-theme .fade-in-linear-leave-active { + transition: opacity 200ms linear; +} + +.custom-theme .fade-in-linear-enter, +.custom-theme .fade-in-linear-leave, +.custom-theme .fade-in-linear-leave-active { + opacity: 0; +} + +.custom-theme .el-fade-in-enter-active, +.custom-theme .el-fade-in-leave-active { + transition: all .3s cubic-bezier(.55,0,.1,1); +} + +.custom-theme .el-fade-in-enter, +.custom-theme .el-fade-in-leave-active { + opacity: 0; +} + +.custom-theme .el-zoom-in-center-enter-active, +.custom-theme .el-zoom-in-center-leave-active { + transition: all .3s cubic-bezier(.55,0,.1,1); +} + +.custom-theme .el-zoom-in-center-enter, +.custom-theme .el-zoom-in-center-leave-active { + opacity: 0; + transform: scaleX(0); +} + +.custom-theme .el-zoom-in-top-enter-active, +.custom-theme .el-zoom-in-top-leave-active { + opacity: 1; + transform: scaleY(1); + transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1) 100ms, opacity 300ms cubic-bezier(0.23, 1, 0.32, 1) 100ms; + transform-origin: center top; +} + +.custom-theme .el-zoom-in-top-enter, +.custom-theme .el-zoom-in-top-leave-active { + opacity: 0; + transform: scaleY(0); +} + +.custom-theme .el-zoom-in-bottom-enter-active, +.custom-theme .el-zoom-in-bottom-leave-active { + opacity: 1; + transform: scaleY(1); + transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1) 100ms, opacity 300ms cubic-bezier(0.23, 1, 0.32, 1) 100ms; + transform-origin: center bottom; +} + +.custom-theme .el-zoom-in-bottom-enter, +.custom-theme .el-zoom-in-bottom-leave-active { + opacity: 0; + transform: scaleY(0); +} + +.custom-theme .collapse-transition { + transition: 0.3s height ease-in-out, 0.3s padding-top ease-in-out, 0.3s padding-bottom ease-in-out; +} + +.custom-theme .list-enter-active, +.custom-theme .list-leave-active { + transition: all 1s; +} + +.custom-theme .list-enter, +.custom-theme .list-leave-active { + opacity: 0; + transform: translateY(-30px); +} + +.custom-theme .el-date-editor { + position: relative; + display: inline-block; +} + +.custom-theme .el-date-editor .el-picker-panel { + position: absolute; + min-width: 180px; + box-sizing: border-box; + box-shadow: 0 2px 6px #ccc; + background: #fff; + z-index: 10; + top: 41px; +} + +.custom-theme .el-date-editor.el-input { + width: 193px; +} + + + +.custom-theme .el-date-editor--daterange.el-input { + width: 220px; +} + + + +.custom-theme .el-date-editor--datetimerange.el-input { + width: 350px; +} + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-picker-panel { + color: rgb(72, 81, 106); + border: 1px solid rgb(209, 215, 229); + box-shadow: 0 2px 6px #ccc; + background: #fff; + border-radius: 2px; + line-height: 20px; + margin: 5px 0; +} + + + +.custom-theme .el-picker-panel__body::after, +.custom-theme .el-picker-panel__body-wrapper::after { + content: ""; + display: table; + clear: both; +} + +.custom-theme .el-picker-panel__content { + position: relative; + margin: 15px; +} + +.custom-theme .el-picker-panel__footer { + border-top: 1px solid #e4e4e4; + padding: 4px; + text-align: right; + background-color: #fff; + position: relative; +} + +.custom-theme .el-picker-panel__shortcut { + display: block; + width: 100%; + border: 0; + background-color: transparent; + line-height: 28px; + font-size: 14px; + color: rgb(72, 81, 106); + padding-left: 12px; + text-align: left; + outline: none; + cursor: pointer; +} + +.custom-theme .el-picker-panel__shortcut:hover { + background-color: rgb(228, 230, 241); +} + +.custom-theme .el-picker-panel__shortcut.active { + background-color: #e6f1fe; + color: #073069; +} + +.custom-theme .el-picker-panel__btn { + border: 1px solid #dcdcdc; + color: #333; + line-height: 24px; + border-radius: 2px; + padding: 0 20px; + cursor: pointer; + background-color: transparent; + outline: none; + font-size: 12px; +} + +.custom-theme .el-picker-panel__btn[disabled] { + color: #cccccc; + cursor: not-allowed; +} + +.custom-theme .el-picker-panel__icon-btn { + font-size: 12px; + color: rgb(151, 161, 190); + border: 0; + background: transparent; + cursor: pointer; + outline: none; + margin-top: 3px; +} + +.custom-theme .el-picker-panel__icon-btn:hover { + color: #073069; +} + +.custom-theme .el-picker-panel__link-btn { + cursor: pointer; + color: #073069; + text-decoration: none; + padding: 15px; + font-size: 12px; +} + +.custom-theme .el-picker-panel *[slot=sidebar], +.custom-theme .el-picker-panel__sidebar { + position: absolute; + top: 0; + bottom: 0; + width: 110px; + border-right: 1px solid #e4e4e4; + box-sizing: border-box; + padding-top: 6px; + background-color: rgb(250, 251, 252); +} + +.custom-theme .el-picker-panel *[slot=sidebar] + .el-picker-panel__body, +.custom-theme .el-picker-panel__sidebar + .el-picker-panel__body { + margin-left: 110px; +} + +.custom-theme .el-date-picker { + min-width: 254px; +} + +.custom-theme .el-date-picker .el-picker-panel__content { + min-width: 224px; +} + +.custom-theme .el-date-picker table { + table-layout: fixed; + width: 100%; +} + +.custom-theme .el-date-picker.has-sidebar.has-time { + min-width: 434px; +} + +.custom-theme .el-date-picker.has-sidebar { + min-width: 370px; +} + +.custom-theme .el-date-picker.has-time { + min-width: 324px; +} + +.custom-theme .el-date-picker__editor-wrap { + position: relative; + display: table-cell; + padding: 0 5px; +} + +.custom-theme .el-date-picker__time-header { + position: relative; + border-bottom: 1px solid #e4e4e4; + font-size: 12px; + padding: 8px 5px 5px 5px; + display: table; + width: 100%; + box-sizing: border-box; +} + +.custom-theme .el-date-picker__header { + margin: 12px; + text-align: center; +} + +.custom-theme .el-date-picker__header-label { + font-size: 14px; + padding: 0 5px; + line-height: 22px; + text-align: center; + cursor: pointer; +} + +.custom-theme .el-date-picker__header-label:hover { + color: #073069; +} + +.custom-theme .el-date-picker__header-label.active { + color: #073069; +} + +.custom-theme .el-date-picker__prev-btn { + float: left; +} + +.custom-theme .el-date-picker__next-btn { + float: right; +} + +.custom-theme .el-date-picker__time-wrap { + padding: 10px; + text-align: center; +} + +.custom-theme .el-date-picker__time-label { + float: left; + cursor: pointer; + line-height: 30px; + margin-left: 10px; +} + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-scrollbar { + overflow: hidden; + position: relative; +} + +.custom-theme .el-scrollbar:hover .el-scrollbar__bar, +.custom-theme .el-scrollbar:active .el-scrollbar__bar, +.custom-theme .el-scrollbar:focus .el-scrollbar__bar { + opacity: 1; + transition: opacity 340ms ease-out; +} + +.custom-theme .el-scrollbar__wrap { + overflow: scroll; +} + + + +.custom-theme .el-scrollbar__wrap--hidden-default::-webkit-scrollbar { + width: 0; + height: 0; +} + +.custom-theme .el-scrollbar__thumb { + position: relative; + display: block; + width: 0; + height: 0; + cursor: pointer; + border-radius: inherit; + background-color: rgba(151, 161, 190, 0.3); + transition: .3s background-color; +} + +.custom-theme .el-scrollbar__thumb:hover { + background-color: rgba(151, 161, 190, 0.5); +} + +.custom-theme .el-scrollbar__bar { + position: absolute; + right: 2px; + bottom: 2px; + z-index: 1; + border-radius: 4px; + opacity: 0; + transition: opacity 120ms ease-out; +} + +.custom-theme .el-scrollbar__bar.is-horizontal { + height: 6px; + left: 2px; +} + +.custom-theme .el-scrollbar__bar.is-horizontal > div { + height: 100%; +} + +.custom-theme .el-scrollbar__bar.is-vertical { + width: 6px; + top: 2px; +} + +.custom-theme .el-scrollbar__bar.is-vertical > div { + width: 100%; +} + +.custom-theme .time-select { + margin: 5px 0; + min-width: 0; +} + +.custom-theme .time-select .el-picker-panel__content { + max-height: 200px; + margin: 0; +} + +.custom-theme .time-select-item { + padding: 8px 10px; + font-size: 14px; +} + +.custom-theme .time-select-item.selected:not(.disabled) { + background-color: #073069; + color: #fff; +} + +.custom-theme .time-select-item.selected:not(.disabled):hover { + background-color: #073069; +} + +.custom-theme .time-select-item.disabled { + color: rgb(209, 215, 229); + cursor: not-allowed; +} + +.custom-theme .time-select-item:hover { + background-color: rgb(228, 230, 241); + cursor: pointer; +} + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .fade-in-linear-enter-active, +.custom-theme .fade-in-linear-leave-active { + transition: opacity 200ms linear; +} + +.custom-theme .fade-in-linear-enter, +.custom-theme .fade-in-linear-leave, +.custom-theme .fade-in-linear-leave-active { + opacity: 0; +} + +.custom-theme .el-fade-in-enter-active, +.custom-theme .el-fade-in-leave-active { + transition: all .3s cubic-bezier(.55,0,.1,1); +} + +.custom-theme .el-fade-in-enter, +.custom-theme .el-fade-in-leave-active { + opacity: 0; +} + +.custom-theme .el-zoom-in-center-enter-active, +.custom-theme .el-zoom-in-center-leave-active { + transition: all .3s cubic-bezier(.55,0,.1,1); +} + +.custom-theme .el-zoom-in-center-enter, +.custom-theme .el-zoom-in-center-leave-active { + opacity: 0; + transform: scaleX(0); +} + +.custom-theme .el-zoom-in-top-enter-active, +.custom-theme .el-zoom-in-top-leave-active { + opacity: 1; + transform: scaleY(1); + transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1) 100ms, opacity 300ms cubic-bezier(0.23, 1, 0.32, 1) 100ms; + transform-origin: center top; +} + +.custom-theme .el-zoom-in-top-enter, +.custom-theme .el-zoom-in-top-leave-active { + opacity: 0; + transform: scaleY(0); +} + +.custom-theme .el-zoom-in-bottom-enter-active, +.custom-theme .el-zoom-in-bottom-leave-active { + opacity: 1; + transform: scaleY(1); + transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1) 100ms, opacity 300ms cubic-bezier(0.23, 1, 0.32, 1) 100ms; + transform-origin: center bottom; +} + +.custom-theme .el-zoom-in-bottom-enter, +.custom-theme .el-zoom-in-bottom-leave-active { + opacity: 0; + transform: scaleY(0); +} + +.custom-theme .collapse-transition { + transition: 0.3s height ease-in-out, 0.3s padding-top ease-in-out, 0.3s padding-bottom ease-in-out; +} + +.custom-theme .list-enter-active, +.custom-theme .list-leave-active { + transition: all 1s; +} + +.custom-theme .list-enter, +.custom-theme .list-leave-active { + opacity: 0; + transform: translateY(-30px); +} + +.custom-theme .el-date-editor { + position: relative; + display: inline-block; +} + +.custom-theme .el-date-editor .el-picker-panel { + position: absolute; + min-width: 180px; + box-sizing: border-box; + box-shadow: 0 2px 6px #ccc; + background: #fff; + z-index: 10; + top: 41px; +} + +.custom-theme .el-date-editor.el-input { + width: 193px; +} + + + +.custom-theme .el-date-editor--daterange.el-input { + width: 220px; +} + + + +.custom-theme .el-date-editor--datetimerange.el-input { + width: 350px; +} + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + + + +.custom-theme .el-time-spinner.has-seconds .el-time-spinner__wrapper { + width: 33%; +} + +.custom-theme .el-time-spinner.has-seconds .el-time-spinner__wrapper .el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default) { + padding-bottom: 15px; +} + +.custom-theme .el-time-spinner.has-seconds .el-time-spinner__wrapper:nth-child(2) { + margin-left: 1%; +} + +.custom-theme .el-time-spinner__wrapper { + max-height: 190px; + overflow: auto; + display: inline-block; + width: 50%; + vertical-align: top; + position: relative; +} + +.custom-theme .el-time-spinner__list { + padding: 0; + margin: 0; + list-style: none; + text-align: center; +} + +.custom-theme .el-time-spinner__list::after, +.custom-theme .el-time-spinner__list::before { + content: ''; + display: block; + width: 100%; + height: 80px; +} + +.custom-theme .el-time-spinner__item { + height: 32px; + line-height: 32px; + font-size: 12px; +} + +.custom-theme .el-time-spinner__item:hover:not(.disabled):not(.active) { + background: rgb(228, 230, 241); + cursor: pointer; +} + +.custom-theme .el-time-spinner__item.active:not(.disabled) { + color: #fff; +} + +.custom-theme .el-time-spinner__item.disabled { + color: rgb(209, 215, 229); + cursor: not-allowed; +} + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-time-panel { + margin: 5px 0; + border: solid 1px rgb(209, 215, 229); + background-color: #fff; + box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04); + border-radius: 2px; + position: absolute; + width: 180px; + left: 0; + z-index: 1000; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.custom-theme .el-time-panel__content { + font-size: 0; + position: relative; + overflow: hidden; +} + +.custom-theme .el-time-panel__content::after, +.custom-theme .el-time-panel__content::before { + content: ":"; + top: 50%; + color: #fff; + position: absolute; + font-size: 14px; + margin-top: -15px; + line-height: 16px; + background-color: #073069; + height: 32px; + z-index: -1; + left: 0; + right: 0; + box-sizing: border-box; + padding-top: 6px; + text-align: left; +} + +.custom-theme .el-time-panel__content::after { + left: 50%; + margin-left: -2px; +} + +.custom-theme .el-time-panel__content::before { + padding-left: 50%; + margin-right: -2px; +} + + + +.custom-theme .el-time-panel__content.has-seconds::after { + left: 66.66667%; +} + +.custom-theme .el-time-panel__content.has-seconds::before { + padding-left: 33.33333%; +} + +.custom-theme .el-time-panel__footer { + border-top: 1px solid #e4e4e4; + padding: 4px; + height: 36px; + line-height: 25px; + text-align: right; + box-sizing: border-box; +} + +.custom-theme .el-time-panel__btn { + border: none; + line-height: 28px; + padding: 0 5px; + margin: 0 5px; + cursor: pointer; + background-color: transparent; + outline: none; + font-size: 12px; + color: rgb(131, 139, 165); +} + +.custom-theme .el-time-panel__btn.confirm { + font-weight: 800; + color: #073069; +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-input { + position: relative; + font-size: 14px; + display: inline-block; + width: 100%; +} + +.custom-theme .el-input.is-disabled .el-input__inner { + background-color: rgb(238, 240, 246); + border-color: rgb(209, 215, 229); + color: #bbb; + cursor: not-allowed; +} + +.custom-theme .el-input.is-disabled .el-input__inner::-webkit-input-placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-input.is-disabled .el-input__inner:-ms-input-placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-input.is-disabled .el-input__inner::placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-input.is-active .el-input__inner { + outline: none; + border-color: #073069; +} + +.custom-theme .el-input__inner { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #fff; + background-image: none; + border-radius: 4px; + border: 1px solid rgb(191, 199, 217); + box-sizing: border-box; + color: rgb(31, 40, 61); + display: block; + font-size: inherit; + height: 36px; + line-height: 1; + outline: none; + padding: 3px 10px; + transition: border-color .2s cubic-bezier(.645,.045,.355,1); + width: 100%; +} + +.custom-theme .el-input__inner::-webkit-input-placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-input__inner:-ms-input-placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-input__inner::placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-input__inner:hover { + border-color: rgb(131, 139, 165); +} + +.custom-theme .el-input__inner:focus { + outline: none; + border-color: #073069; +} + +.custom-theme .el-input__icon { + position: absolute; + width: 35px; + height: 100%; + right: 0; + top: 0; + text-align: center; + color: rgb(191, 199, 217); + transition: all .3s; +} + +.custom-theme .el-input__icon:after { + content: ''; + height: 100%; + width: 0; + display: inline-block; + vertical-align: middle; +} + +.custom-theme .el-input__icon + .el-input__inner { + padding-right: 35px; +} + + + +.custom-theme .el-input__icon.is-clickable:hover { + cursor: pointer; + color: rgb(131, 139, 165); +} + +.custom-theme .el-input__icon.is-clickable:hover + .el-input__inner { + border-color: rgb(131, 139, 165); +} + +.custom-theme .el-input--large { + font-size: 16px; +} + +.custom-theme .el-input--large .el-input__inner { + height: 42px; +} + +.custom-theme .el-input--small { + font-size: 13px; +} + +.custom-theme .el-input--small .el-input__inner { + height: 30px; +} + +.custom-theme .el-input--mini { + font-size: 12px; +} + +.custom-theme .el-input--mini .el-input__inner { + height: 22px; +} + +.custom-theme .el-input-group { + line-height: normal; + display: inline-table; + width: 100%; + border-collapse: separate; +} + +.custom-theme .el-input-group > .el-input__inner { + vertical-align: middle; + display: table-cell; +} + +.custom-theme .el-input-group__append, +.custom-theme .el-input-group__prepend { + background-color: rgb(250, 251, 252); + color: rgb(151, 161, 190); + vertical-align: middle; + display: table-cell; + position: relative; + border: 1px solid rgb(191, 199, 217); + border-radius: 4px; + padding: 0 10px; + width: 1%; + white-space: nowrap; +} + +.custom-theme .el-input-group__append .el-select, +.custom-theme .el-input-group__append .el-button, +.custom-theme .el-input-group__prepend .el-select, +.custom-theme .el-input-group__prepend .el-button { + display: block; + margin: -10px; +} + +.custom-theme .el-input-group__append .el-button, +.custom-theme .el-input-group__append .el-select .el-input__inner, +.custom-theme .el-input-group__append .el-select:hover .el-input__inner, +.custom-theme .el-input-group__prepend .el-button, +.custom-theme .el-input-group__prepend .el-select .el-input__inner, +.custom-theme .el-input-group__prepend .el-select:hover .el-input__inner { + border-color: transparent; + background-color: transparent; + color: inherit; + border-top: 0; + border-bottom: 0; +} + +.custom-theme .el-input-group__append .el-button, +.custom-theme .el-input-group__append .el-input, +.custom-theme .el-input-group__prepend .el-button, +.custom-theme .el-input-group__prepend .el-input { + font-size: inherit; +} + +.custom-theme .el-input-group__prepend { + border-right: 0; + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.custom-theme .el-input-group__append { + border-left: 0; + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.custom-theme .el-input-group--prepend .el-input__inner { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.custom-theme .el-input-group--append .el-input__inner { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.custom-theme .el-textarea { + display: inline-block; + width: 100%; + vertical-align: bottom; +} + +.custom-theme .el-textarea.is-disabled .el-textarea__inner { + background-color: rgb(238, 240, 246); + border-color: rgb(209, 215, 229); + color: #bbb; + cursor: not-allowed; +} + +.custom-theme .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-textarea.is-disabled .el-textarea__inner::placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-textarea__inner { + display: block; + resize: vertical; + padding: 5px 7px; + line-height: 1.5; + box-sizing: border-box; + width: 100%; + font-size: 14px; + color: rgb(31, 40, 61); + background-color: #fff; + background-image: none; + border: 1px solid rgb(191, 199, 217); + border-radius: 4px; + transition: border-color .2s cubic-bezier(.645,.045,.355,1); +} + +.custom-theme .el-textarea__inner::-webkit-input-placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-textarea__inner:-ms-input-placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-textarea__inner::placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-textarea__inner:hover { + border-color: rgb(131, 139, 165); +} + +.custom-theme .el-textarea__inner:focus { + outline: none; + border-color: #073069; +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-scrollbar { + overflow: hidden; + position: relative; +} + +.custom-theme .el-scrollbar:hover .el-scrollbar__bar, +.custom-theme .el-scrollbar:active .el-scrollbar__bar, +.custom-theme .el-scrollbar:focus .el-scrollbar__bar { + opacity: 1; + transition: opacity 340ms ease-out; +} + +.custom-theme .el-scrollbar__wrap { + overflow: scroll; +} + + + +.custom-theme .el-scrollbar__wrap--hidden-default::-webkit-scrollbar { + width: 0; + height: 0; +} + +.custom-theme .el-scrollbar__thumb { + position: relative; + display: block; + width: 0; + height: 0; + cursor: pointer; + border-radius: inherit; + background-color: rgba(151, 161, 190, 0.3); + transition: .3s background-color; +} + +.custom-theme .el-scrollbar__thumb:hover { + background-color: rgba(151, 161, 190, 0.5); +} + +.custom-theme .el-scrollbar__bar { + position: absolute; + right: 2px; + bottom: 2px; + z-index: 1; + border-radius: 4px; + opacity: 0; + transition: opacity 120ms ease-out; +} + +.custom-theme .el-scrollbar__bar.is-horizontal { + height: 6px; + left: 2px; +} + +.custom-theme .el-scrollbar__bar.is-horizontal > div { + height: 100%; +} + +.custom-theme .el-scrollbar__bar.is-vertical { + width: 6px; + top: 2px; +} + +.custom-theme .el-scrollbar__bar.is-vertical > div { + width: 100%; +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-popover { + position: absolute; + background: #fff; + min-width: 150px; + border-radius: 2px; + border: 1px solid rgb(209, 215, 229); + padding: 10px; + z-index: 2000; + font-size: 12px; + box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, .12), + 0px 0px 6px 0px rgba(0, 0, 0, .04); +} + +.custom-theme .el-popover .popper__arrow, +.custom-theme .el-popover .popper__arrow::after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} + +.custom-theme .el-popover .popper__arrow { + border-width: 6px; +} + +.custom-theme .el-popover .popper__arrow::after { + content: " "; + border-width: 6px; +} + +.custom-theme .el-popover[x-placement^="top"] { + margin-bottom: 12px; +} + +.custom-theme .el-popover[x-placement^="top"] .popper__arrow { + bottom: -6px; + left: 50%; + margin-right: 3px; + border-top-color: rgb(209, 215, 229); + border-bottom-width: 0; +} + +.custom-theme .el-popover[x-placement^="top"] .popper__arrow::after { + bottom: 1px; + margin-left: -6px; + border-top-color: #fff; + border-bottom-width: 0; +} + +.custom-theme .el-popover[x-placement^="bottom"] { + margin-top: 12px; +} + +.custom-theme .el-popover[x-placement^="bottom"] .popper__arrow { + top: -6px; + left: 50%; + margin-right: 3px; + border-top-width: 0; + border-bottom-color: rgb(209, 215, 229); +} + +.custom-theme .el-popover[x-placement^="bottom"] .popper__arrow::after { + top: 1px; + margin-left: -6px; + border-top-width: 0; + border-bottom-color: #fff; +} + +.custom-theme .el-popover[x-placement^="right"] { + margin-left: 12px; +} + +.custom-theme .el-popover[x-placement^="right"] .popper__arrow { + top: 50%; + left: -6px; + margin-bottom: 3px; + border-right-color: rgb(209, 215, 229); + border-left-width: 0; +} + +.custom-theme .el-popover[x-placement^="right"] .popper__arrow::after { + bottom: -6px; + left: 1px; + border-right-color: #fff; + border-left-width: 0; +} + +.custom-theme .el-popover[x-placement^="left"] { + margin-right: 12px; +} + +.custom-theme .el-popover[x-placement^="left"] .popper__arrow { + top: 50%; + right: -6px; + margin-bottom: 3px; + border-right-width: 0; + border-left-color: rgb(209, 215, 229); +} + +.custom-theme .el-popover[x-placement^="left"] .popper__arrow::after { + right: 1px; + bottom: -6px; + margin-left: -6px; + border-right-width: 0; + border-left-color: #fff; +} + +.custom-theme .el-popover__title { + color: rgb(31, 40, 61); + font-size: 13px; + line-height: 1; + margin-bottom: 9px; +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + + + +.custom-theme .el-tooltip__popper { + position: absolute; + border-radius: 4px; + padding: 10px; + z-index: 2000; + font-size: 12px; + line-height: 1.2; +} + +.custom-theme .el-tooltip__popper .popper__arrow, +.custom-theme .el-tooltip__popper .popper__arrow::after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} + +.custom-theme .el-tooltip__popper .popper__arrow { + border-width: 6px; +} + +.custom-theme .el-tooltip__popper .popper__arrow::after { + content: " "; + border-width: 5px; +} + +.custom-theme .el-tooltip__popper[x-placement^="top"] { + margin-bottom: 12px; +} + +.custom-theme .el-tooltip__popper[x-placement^="top"] .popper__arrow { + bottom: -6px; + border-top-color: rgb(31, 40, 61); + border-bottom-width: 0; +} + +.custom-theme .el-tooltip__popper[x-placement^="top"] .popper__arrow::after { + bottom: 1px; + margin-left: -5px; + border-top-color: rgb(31, 40, 61); + border-bottom-width: 0; +} + +.custom-theme .el-tooltip__popper[x-placement^="bottom"] { + margin-top: 12px; +} + +.custom-theme .el-tooltip__popper[x-placement^="bottom"] .popper__arrow { + top: -6px; + border-top-width: 0; + border-bottom-color: rgb(31, 40, 61); +} + +.custom-theme .el-tooltip__popper[x-placement^="bottom"] .popper__arrow::after { + top: 1px; + margin-left: -5px; + border-top-width: 0; + border-bottom-color: rgb(31, 40, 61); +} + +.custom-theme .el-tooltip__popper[x-placement^="right"] { + margin-left: 12px; +} + +.custom-theme .el-tooltip__popper[x-placement^="right"] .popper__arrow { + left: -6px; + border-right-color: rgb(31, 40, 61); + border-left-width: 0; +} + +.custom-theme .el-tooltip__popper[x-placement^="right"] .popper__arrow::after { + bottom: -5px; + left: 1px; + border-right-color: rgb(31, 40, 61); + border-left-width: 0; +} + +.custom-theme .el-tooltip__popper[x-placement^="left"] { + margin-right: 12px; +} + +.custom-theme .el-tooltip__popper[x-placement^="left"] .popper__arrow { + right: -6px; + border-right-width: 0; + border-left-color: rgb(31, 40, 61); +} + +.custom-theme .el-tooltip__popper[x-placement^="left"] .popper__arrow::after { + right: 1px; + bottom: -5px; + margin-left: -5px; + border-right-width: 0; + border-left-color: rgb(31, 40, 61); +} + +.custom-theme .el-tooltip__popper.is-light { + background: #fff; + border: 1px solid rgb(31, 40, 61); +} + +.custom-theme .el-tooltip__popper.is-light[x-placement^="top"] .popper__arrow { + border-top-color: rgb(31, 40, 61); +} + +.custom-theme .el-tooltip__popper.is-light[x-placement^="top"] .popper__arrow::after { + border-top-color: #fff; +} + +.custom-theme .el-tooltip__popper.is-light[x-placement^="bottom"] .popper__arrow { + border-bottom-color: rgb(31, 40, 61); +} + +.custom-theme .el-tooltip__popper.is-light[x-placement^="bottom"] .popper__arrow::after { + border-bottom-color: #fff; +} + +.custom-theme .el-tooltip__popper.is-light[x-placement^="left"] .popper__arrow { + border-left-color: rgb(31, 40, 61); +} + +.custom-theme .el-tooltip__popper.is-light[x-placement^="left"] .popper__arrow::after { + border-left-color: #fff; +} + +.custom-theme .el-tooltip__popper.is-light[x-placement^="right"] .popper__arrow { + border-right-color: rgb(31, 40, 61); +} + +.custom-theme .el-tooltip__popper.is-light[x-placement^="right"] .popper__arrow::after { + border-right-color: #fff; +} + +.custom-theme .el-tooltip__popper.is-dark { + background: rgb(31, 40, 61); + color: #fff; +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .v-modal-enter { + animation: v-modal-in .2s ease; +} + +.custom-theme .v-modal-leave { + animation: v-modal-out .2s ease forwards; +} + +@keyframes v-modal-in { + 0% { + opacity: 0; + } + + 100% { + + } +} + +@keyframes v-modal-out { + 0% { + + } + + 100% { + opacity: 0; + } +} + +.custom-theme .v-modal { + position: fixed; + left: 0; + top: 0; + width: 100%; + height: 100%; + opacity: 0.5; + background: #000; +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-button { + display: inline-block; + line-height: 1; + white-space: nowrap; + cursor: pointer; + background: #fff; + border: 1px solid rgb(191, 199, 217); + color: rgb(31, 40, 61); + -webkit-appearance: none; + text-align: center; + box-sizing: border-box; + outline: none; + margin: 0; + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + padding: 10px 15px; + font-size: 14px; + border-radius: 4px; +} + +.custom-theme .el-button + .el-button { + margin-left: 10px; +} + +.custom-theme .el-button:hover, +.custom-theme .el-button:focus { + color: #073069; + border-color: #073069; +} + +.custom-theme .el-button:active { + color: rgb(6, 43, 95); + border-color: rgb(6, 43, 95); + outline: none; +} + +.custom-theme .el-button::-moz-focus-inner { + border: 0; +} + + + +.custom-theme .el-button [class*="el-icon-"] + span { + margin-left: 5px; +} + +.custom-theme .el-button.is-loading { + position: relative; + pointer-events: none; +} + +.custom-theme .el-button.is-loading:before { + pointer-events: none; + content: ''; + position: absolute; + left: -1px; + top: -1px; + right: -1px; + bottom: -1px; + border-radius: inherit; + background-color: rgba(255,255,255,.35); +} + + + +.custom-theme .el-button.is-disabled, +.custom-theme .el-button.is-disabled:hover, +.custom-theme .el-button.is-disabled:focus { + color: rgb(191, 199, 217); + cursor: not-allowed; + background-image: none; + background-color: rgb(238, 240, 246); + border-color: rgb(209, 215, 229); +} + +.custom-theme .el-button.is-disabled.el-button--text { + background-color: transparent; +} + + + +.custom-theme .el-button.is-disabled.is-plain, +.custom-theme .el-button.is-disabled.is-plain:hover, +.custom-theme .el-button.is-disabled.is-plain:focus { + background-color: #fff; + border-color: rgb(209, 215, 229); + color: rgb(191, 199, 217); +} + +.custom-theme .el-button.is-active { + color: rgb(6, 43, 95); + border-color: rgb(6, 43, 95); +} + + + +.custom-theme .el-button.is-plain:hover, +.custom-theme .el-button.is-plain:focus { + background: #fff; + border-color: #073069; + color: #073069; +} + +.custom-theme .el-button.is-plain:active { + background: #fff; + border-color: rgb(6, 43, 95); + color: rgb(6, 43, 95); + outline: none; +} + +.custom-theme .el-button--primary { + color: #fff; + background-color: #073069; + border-color: #073069; +} + +.custom-theme .el-button--primary:hover, +.custom-theme .el-button--primary:focus { + background: rgb(57, 89, 135); + border-color: rgb(57, 89, 135); + color: #fff; +} + +.custom-theme .el-button--primary:active { + background: rgb(6, 43, 95); + border-color: rgb(6, 43, 95); + color: #fff; + outline: none; +} + +.custom-theme .el-button--primary.is-active { + background: rgb(6, 43, 95); + border-color: rgb(6, 43, 95); + color: #fff; +} + +.custom-theme .el-button--primary.is-plain { + background: #fff; + border: 1px solid rgb(191, 199, 217); + color: rgb(31, 40, 61); +} + +.custom-theme .el-button--primary.is-plain:hover, +.custom-theme .el-button--primary.is-plain:focus { + background: #fff; + border-color: #073069; + color: #073069; +} + +.custom-theme .el-button--primary.is-plain:active { + background: #fff; + border-color: rgb(6, 43, 95); + color: rgb(6, 43, 95); + outline: none; +} + +.custom-theme .el-button--success { + color: #fff; + background-color: #00643b; + border-color: #00643b; +} + +.custom-theme .el-button--success:hover, +.custom-theme .el-button--success:focus { + background: rgb(51, 131, 98); + border-color: rgb(51, 131, 98); + color: #fff; +} + +.custom-theme .el-button--success:active { + background: rgb(0, 90, 53); + border-color: rgb(0, 90, 53); + color: #fff; + outline: none; +} + +.custom-theme .el-button--success.is-active { + background: rgb(0, 90, 53); + border-color: rgb(0, 90, 53); + color: #fff; +} + +.custom-theme .el-button--success.is-plain { + background: #fff; + border: 1px solid rgb(191, 199, 217); + color: rgb(31, 40, 61); +} + +.custom-theme .el-button--success.is-plain:hover, +.custom-theme .el-button--success.is-plain:focus { + background: #fff; + border-color: #00643b; + color: #00643b; +} + +.custom-theme .el-button--success.is-plain:active { + background: #fff; + border-color: rgb(0, 90, 53); + color: rgb(0, 90, 53); + outline: none; +} + +.custom-theme .el-button--warning { + color: #fff; + background-color: #f56a00; + border-color: #f56a00; +} + +.custom-theme .el-button--warning:hover, +.custom-theme .el-button--warning:focus { + background: rgb(247, 136, 51); + border-color: rgb(247, 136, 51); + color: #fff; +} + +.custom-theme .el-button--warning:active { + background: rgb(221, 95, 0); + border-color: rgb(221, 95, 0); + color: #fff; + outline: none; +} + +.custom-theme .el-button--warning.is-active { + background: rgb(221, 95, 0); + border-color: rgb(221, 95, 0); + color: #fff; +} + +.custom-theme .el-button--warning.is-plain { + background: #fff; + border: 1px solid rgb(191, 199, 217); + color: rgb(31, 40, 61); +} + +.custom-theme .el-button--warning.is-plain:hover, +.custom-theme .el-button--warning.is-plain:focus { + background: #fff; + border-color: #f56a00; + color: #f56a00; +} + +.custom-theme .el-button--warning.is-plain:active { + background: #fff; + border-color: rgb(221, 95, 0); + color: rgb(221, 95, 0); + outline: none; +} + +.custom-theme .el-button--danger { + color: #fff; + background-color: #ffbf00; + border-color: #ffbf00; +} + +.custom-theme .el-button--danger:hover, +.custom-theme .el-button--danger:focus { + background: rgb(255, 204, 51); + border-color: rgb(255, 204, 51); + color: #fff; +} + +.custom-theme .el-button--danger:active { + background: rgb(230, 172, 0); + border-color: rgb(230, 172, 0); + color: #fff; + outline: none; +} + +.custom-theme .el-button--danger.is-active { + background: rgb(230, 172, 0); + border-color: rgb(230, 172, 0); + color: #fff; +} + +.custom-theme .el-button--danger.is-plain { + background: #fff; + border: 1px solid rgb(191, 199, 217); + color: rgb(31, 40, 61); +} + +.custom-theme .el-button--danger.is-plain:hover, +.custom-theme .el-button--danger.is-plain:focus { + background: #fff; + border-color: #ffbf00; + color: #ffbf00; +} + +.custom-theme .el-button--danger.is-plain:active { + background: #fff; + border-color: rgb(230, 172, 0); + color: rgb(230, 172, 0); + outline: none; +} + +.custom-theme .el-button--info { + color: #fff; + background-color: #00a2ae; + border-color: #00a2ae; +} + +.custom-theme .el-button--info:hover, +.custom-theme .el-button--info:focus { + background: rgb(51, 181, 190); + border-color: rgb(51, 181, 190); + color: #fff; +} + +.custom-theme .el-button--info:active { + background: rgb(0, 146, 157); + border-color: rgb(0, 146, 157); + color: #fff; + outline: none; +} + +.custom-theme .el-button--info.is-active { + background: rgb(0, 146, 157); + border-color: rgb(0, 146, 157); + color: #fff; +} + +.custom-theme .el-button--info.is-plain { + background: #fff; + border: 1px solid rgb(191, 199, 217); + color: rgb(31, 40, 61); +} + +.custom-theme .el-button--info.is-plain:hover, +.custom-theme .el-button--info.is-plain:focus { + background: #fff; + border-color: #00a2ae; + color: #00a2ae; +} + +.custom-theme .el-button--info.is-plain:active { + background: #fff; + border-color: rgb(0, 146, 157); + color: rgb(0, 146, 157); + outline: none; +} + +.custom-theme .el-button--large { + padding: 11px 19px; + font-size: 16px; + border-radius: 4px; +} + +.custom-theme .el-button--small { + padding: 7px 9px; + font-size: 12px; + border-radius: 4px; +} + +.custom-theme .el-button--mini { + padding: 4px 4px; + font-size: 12px; + border-radius: 4px; +} + +.custom-theme .el-button--text { + border: none; + color: #073069; + background: transparent; + padding-left: 0; + padding-right: 0; +} + +.custom-theme .el-button--text:hover, +.custom-theme .el-button--text:focus { + color: rgb(57, 89, 135); +} + +.custom-theme .el-button--text:active { + color: rgb(6, 43, 95); +} + +.custom-theme .el-button-group { + display: inline-block; + vertical-align: middle; +} + + + +.custom-theme .el-button-group .el-button--primary:first-child { + border-right-color: rgba(255, 255, 255, 0.5); +} + +.custom-theme .el-button-group .el-button--primary:last-child { + border-left-color: rgba(255, 255, 255, 0.5); +} + +.custom-theme .el-button-group .el-button--primary:not(:first-child):not(:last-child) { + border-left-color: rgba(255, 255, 255, 0.5); + border-right-color: rgba(255, 255, 255, 0.5); +} + + + +.custom-theme .el-button-group .el-button--success:first-child { + border-right-color: rgba(255, 255, 255, 0.5); +} + +.custom-theme .el-button-group .el-button--success:last-child { + border-left-color: rgba(255, 255, 255, 0.5); +} + +.custom-theme .el-button-group .el-button--success:not(:first-child):not(:last-child) { + border-left-color: rgba(255, 255, 255, 0.5); + border-right-color: rgba(255, 255, 255, 0.5); +} + + + +.custom-theme .el-button-group .el-button--warning:first-child { + border-right-color: rgba(255, 255, 255, 0.5); +} + +.custom-theme .el-button-group .el-button--warning:last-child { + border-left-color: rgba(255, 255, 255, 0.5); +} + +.custom-theme .el-button-group .el-button--warning:not(:first-child):not(:last-child) { + border-left-color: rgba(255, 255, 255, 0.5); + border-right-color: rgba(255, 255, 255, 0.5); +} + + + +.custom-theme .el-button-group .el-button--danger:first-child { + border-right-color: rgba(255, 255, 255, 0.5); +} + +.custom-theme .el-button-group .el-button--danger:last-child { + border-left-color: rgba(255, 255, 255, 0.5); +} + +.custom-theme .el-button-group .el-button--danger:not(:first-child):not(:last-child) { + border-left-color: rgba(255, 255, 255, 0.5); + border-right-color: rgba(255, 255, 255, 0.5); +} + + + +.custom-theme .el-button-group .el-button--info:first-child { + border-right-color: rgba(255, 255, 255, 0.5); +} + +.custom-theme .el-button-group .el-button--info:last-child { + border-left-color: rgba(255, 255, 255, 0.5); +} + +.custom-theme .el-button-group .el-button--info:not(:first-child):not(:last-child) { + border-left-color: rgba(255, 255, 255, 0.5); + border-right-color: rgba(255, 255, 255, 0.5); +} + +.custom-theme .el-button-group .el-button { + float: left; + position: relative; +} + +.custom-theme .el-button-group .el-button + .el-button { + margin-left: 0; +} + +.custom-theme .el-button-group .el-button:first-child { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.custom-theme .el-button-group .el-button:last-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.custom-theme .el-button-group .el-button:not(:first-child):not(:last-child) { + border-radius: 0; +} + +.custom-theme .el-button-group .el-button:not(:last-child) { + margin-right: -1px; +} + +.custom-theme .el-button-group .el-button:hover, +.custom-theme .el-button-group .el-button:focus, +.custom-theme .el-button-group .el-button:active { + z-index: 1; +} + +.custom-theme .el-button-group .el-button.is-active { + z-index: 1; +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-input { + position: relative; + font-size: 14px; + display: inline-block; + width: 100%; +} + +.custom-theme .el-input.is-disabled .el-input__inner { + background-color: rgb(238, 240, 246); + border-color: rgb(209, 215, 229); + color: #bbb; + cursor: not-allowed; +} + +.custom-theme .el-input.is-disabled .el-input__inner::-webkit-input-placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-input.is-disabled .el-input__inner:-ms-input-placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-input.is-disabled .el-input__inner::placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-input.is-active .el-input__inner { + outline: none; + border-color: #073069; +} + +.custom-theme .el-input__inner { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #fff; + background-image: none; + border-radius: 4px; + border: 1px solid rgb(191, 199, 217); + box-sizing: border-box; + color: rgb(31, 40, 61); + display: block; + font-size: inherit; + height: 36px; + line-height: 1; + outline: none; + padding: 3px 10px; + transition: border-color .2s cubic-bezier(.645,.045,.355,1); + width: 100%; +} + +.custom-theme .el-input__inner::-webkit-input-placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-input__inner:-ms-input-placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-input__inner::placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-input__inner:hover { + border-color: rgb(131, 139, 165); +} + +.custom-theme .el-input__inner:focus { + outline: none; + border-color: #073069; +} + +.custom-theme .el-input__icon { + position: absolute; + width: 35px; + height: 100%; + right: 0; + top: 0; + text-align: center; + color: rgb(191, 199, 217); + transition: all .3s; +} + +.custom-theme .el-input__icon:after { + content: ''; + height: 100%; + width: 0; + display: inline-block; + vertical-align: middle; +} + +.custom-theme .el-input__icon + .el-input__inner { + padding-right: 35px; +} + + + +.custom-theme .el-input__icon.is-clickable:hover { + cursor: pointer; + color: rgb(131, 139, 165); +} + +.custom-theme .el-input__icon.is-clickable:hover + .el-input__inner { + border-color: rgb(131, 139, 165); +} + +.custom-theme .el-input--large { + font-size: 16px; +} + +.custom-theme .el-input--large .el-input__inner { + height: 42px; +} + +.custom-theme .el-input--small { + font-size: 13px; +} + +.custom-theme .el-input--small .el-input__inner { + height: 30px; +} + +.custom-theme .el-input--mini { + font-size: 12px; +} + +.custom-theme .el-input--mini .el-input__inner { + height: 22px; +} + +.custom-theme .el-input-group { + line-height: normal; + display: inline-table; + width: 100%; + border-collapse: separate; +} + +.custom-theme .el-input-group > .el-input__inner { + vertical-align: middle; + display: table-cell; +} + +.custom-theme .el-input-group__append, +.custom-theme .el-input-group__prepend { + background-color: rgb(250, 251, 252); + color: rgb(151, 161, 190); + vertical-align: middle; + display: table-cell; + position: relative; + border: 1px solid rgb(191, 199, 217); + border-radius: 4px; + padding: 0 10px; + width: 1%; + white-space: nowrap; +} + +.custom-theme .el-input-group__append .el-select, +.custom-theme .el-input-group__append .el-button, +.custom-theme .el-input-group__prepend .el-select, +.custom-theme .el-input-group__prepend .el-button { + display: block; + margin: -10px; +} + +.custom-theme .el-input-group__append .el-button, +.custom-theme .el-input-group__append .el-select .el-input__inner, +.custom-theme .el-input-group__append .el-select:hover .el-input__inner, +.custom-theme .el-input-group__prepend .el-button, +.custom-theme .el-input-group__prepend .el-select .el-input__inner, +.custom-theme .el-input-group__prepend .el-select:hover .el-input__inner { + border-color: transparent; + background-color: transparent; + color: inherit; + border-top: 0; + border-bottom: 0; +} + +.custom-theme .el-input-group__append .el-button, +.custom-theme .el-input-group__append .el-input, +.custom-theme .el-input-group__prepend .el-button, +.custom-theme .el-input-group__prepend .el-input { + font-size: inherit; +} + +.custom-theme .el-input-group__prepend { + border-right: 0; + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.custom-theme .el-input-group__append { + border-left: 0; + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.custom-theme .el-input-group--prepend .el-input__inner { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.custom-theme .el-input-group--append .el-input__inner { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.custom-theme .el-textarea { + display: inline-block; + width: 100%; + vertical-align: bottom; +} + +.custom-theme .el-textarea.is-disabled .el-textarea__inner { + background-color: rgb(238, 240, 246); + border-color: rgb(209, 215, 229); + color: #bbb; + cursor: not-allowed; +} + +.custom-theme .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-textarea.is-disabled .el-textarea__inner::placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-textarea__inner { + display: block; + resize: vertical; + padding: 5px 7px; + line-height: 1.5; + box-sizing: border-box; + width: 100%; + font-size: 14px; + color: rgb(31, 40, 61); + background-color: #fff; + background-image: none; + border: 1px solid rgb(191, 199, 217); + border-radius: 4px; + transition: border-color .2s cubic-bezier(.645,.045,.355,1); +} + +.custom-theme .el-textarea__inner::-webkit-input-placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-textarea__inner:-ms-input-placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-textarea__inner::placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-textarea__inner:hover { + border-color: rgb(131, 139, 165); +} + +.custom-theme .el-textarea__inner:focus { + outline: none; + border-color: #073069; +} + +.custom-theme .el-message-box { + text-align: left; + display: inline-block; + vertical-align: middle; + background-color: #fff; + width: 420px; + border-radius: 3px; + font-size: 16px; + overflow: hidden; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; +} + +.custom-theme .el-message-box__wrapper { + position: fixed; + top: 0; + bottom: 0; + left: 0; + right: 0; + text-align: center; +} + +.custom-theme .el-message-box__wrapper::after { + content: ""; + display: inline-block; + height: 100%; + width: 0; + vertical-align: middle; +} + +.custom-theme .el-message-box__header { + position: relative; + padding: 20px 20px 0; +} + +.custom-theme .el-message-box__content { + padding: 30px 20px; + color: rgb(72, 81, 106); + font-size: 14px; + position: relative; +} + +.custom-theme .el-message-box__close { + display: inline-block; + position: absolute; + top: 19px; + right: 20px; + color: #999; + cursor: pointer; + line-height: 20px; + text-align: center; +} + +.custom-theme .el-message-box__close:hover { + color: #073069; +} + +.custom-theme .el-message-box__input { + padding-top: 15px; +} + +.custom-theme .el-message-box__input input.invalid { + border-color: #ffbf00; +} + +.custom-theme .el-message-box__input input.invalid:focus { + border-color: #ffbf00; +} + +.custom-theme .el-message-box__errormsg { + color: #ffbf00; + font-size: 12px; + min-height: 18px; + margin-top: 2px; +} + +.custom-theme .el-message-box__title { + padding-left: 0; + margin-bottom: 0; + font-size: 16px; + font-weight: 700; + height: 18px; + color: #333; +} + +.custom-theme .el-message-box__message { + margin: 0; +} + +.custom-theme .el-message-box__message p { + margin: 0; + line-height: 1.4; +} + +.custom-theme .el-message-box__btns { + padding: 10px 20px 15px; + text-align: right; +} + +.custom-theme .el-message-box__btns button:nth-child(2) { + margin-left: 10px; +} + +.custom-theme .el-message-box__btns-reverse { + -ms-flex-direction: row-reverse; + flex-direction: row-reverse; +} + +.custom-theme .el-message-box__status { + position: absolute; + top: 50%; + transform: translateY(-50%); + font-size: 36px !important; +} + +.custom-theme .el-message-box__status.el-icon-circle-check { + color: #00643b; +} + +.custom-theme .el-message-box__status.el-icon-information { + color: #00a2ae; +} + +.custom-theme .el-message-box__status.el-icon-warning { + color: #f56a00; +} + +.custom-theme .el-message-box__status.el-icon-circle-cross { + color: #ffbf00; +} + +.custom-theme .msgbox-fade-enter-active { + animation: msgbox-fade-in .3s; +} + +.custom-theme .msgbox-fade-leave-active { + animation: msgbox-fade-out .3s; +} + +@keyframes msgbox-fade-in { + 0% { + transform: translate3d(0, -20px, 0); + opacity: 0; + } + + 100% { + transform: translate3d(0, 0, 0); + opacity: 1; + } +} + +@keyframes msgbox-fade-out { + 0% { + transform: translate3d(0, 0, 0); + opacity: 1; + } + + 100% { + transform: translate3d(0, -20px, 0); + opacity: 0; + } +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-breadcrumb { + font-size: 13px; + line-height: 1; +} + +.custom-theme .el-breadcrumb__separator { + margin: 0 8px; + color: rgb(191, 199, 217); +} + +.custom-theme .el-breadcrumb__item { + float: left; +} + + + +.custom-theme .el-breadcrumb__item:last-child .el-breadcrumb__item__inner, +.custom-theme .el-breadcrumb__item:last-child .el-breadcrumb__item__inner:hover, +.custom-theme .el-breadcrumb__item:last-child .el-breadcrumb__item__inner a, +.custom-theme .el-breadcrumb__item:last-child .el-breadcrumb__item__inner a:hover { + color: rgb(151, 161, 190); + cursor: text; +} + +.custom-theme .el-breadcrumb__item:last-child .el-breadcrumb__separator { + display: none; +} + + + +.custom-theme .el-breadcrumb__item__inner, +.custom-theme .el-breadcrumb__item__inner a { + transition: color .15s linear; + color: rgb(72, 81, 106); +} + +.custom-theme .el-breadcrumb__item__inner:hover, +.custom-theme .el-breadcrumb__item__inner a:hover { + color: #073069; + cursor: pointer; +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + + + + + +.custom-theme .el-form--label-left .el-form-item__label { + text-align: left; +} + + + +.custom-theme .el-form--label-top .el-form-item__label { + float: none; + display: inline-block; + padding: 0 0 10px 0; +} + + + +.custom-theme .el-form--inline .el-form-item { + display: inline-block; + margin-right: 10px; + vertical-align: top; +} + +.custom-theme .el-form--inline .el-form-item__label { + float: none; + display: inline-block; +} + +.custom-theme .el-form--inline .el-form-item__content { + display: inline-block; + vertical-align: top; +} + +.custom-theme .el-form--inline.el-form--label-top .el-form-item__content { + display: block; +} + +.custom-theme .el-form-item { + margin-bottom: 22px; +} + +.custom-theme .el-form-item .el-form-item { + margin-bottom: 0; +} + +.custom-theme .el-form-item .el-form-item .el-form-item__content { + margin-left: 0 !important; +} + + + +.custom-theme .el-form-item.is-error .el-input-group__append .el-input__inner, +.custom-theme .el-form-item.is-error .el-input-group__prepend .el-input__inner, +.custom-theme .el-form-item.is-error .el-input__inner { + border-color: transparent; +} + +.custom-theme .el-form-item.is-error .el-input__inner, +.custom-theme .el-form-item.is-error .el-textarea__inner { + border-color: #ffbf00; +} + +.custom-theme .el-form-item.is-required .el-form-item__label:before { + content: '*'; + color: #ffbf00; + margin-right: 4px; +} + +.custom-theme .el-form-item__label { + text-align: right; + vertical-align: middle; + float: left; + font-size: 14px; + color: rgb(72, 81, 106); + line-height: 1; + padding: 11px 12px 11px 0; + box-sizing: border-box; +} + +.custom-theme .el-form-item__content { + line-height: 36px; + position: relative; + font-size: 14px; +} + +.custom-theme .el-form-item__error { + color: #ffbf00; + font-size: 12px; + line-height: 1; + padding-top: 4px; + position: absolute; + top: 100%; + left: 0; +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + + + +.custom-theme .el-tabs__header { + border-bottom: 1px solid rgb(209, 215, 229); + padding: 0; + position: relative; + margin: 0 0 15px; +} + +.custom-theme .el-tabs__active-bar { + position: absolute; + bottom: 0; + left: 0; + height: 3px; + background-color: #073069; + z-index: 1; + transition: transform .3s cubic-bezier(.645,.045,.355,1); + list-style: none; +} + +.custom-theme .el-tabs__new-tab { + float: right; + border: 1px solid #d3dce6; + height: 18px; + width: 18px; + line-height: 18px; + margin: 12px 0 9px 10px; + border-radius: 3px; + text-align: center; + font-size: 12px; + color: #d3dce6; + cursor: pointer; + transition: all .15s; +} + +.custom-theme .el-tabs__new-tab .el-icon-plus { + transform: scale(0.8, 0.8); +} + +.custom-theme .el-tabs__new-tab:hover { + color: #073069; +} + +.custom-theme .el-tabs__nav-wrap { + overflow: hidden; + margin-bottom: -1px; + position: relative; +} + +.custom-theme .el-tabs__nav-wrap.is-scrollable { + padding: 0 15px; +} + +.custom-theme .el-tabs__nav-scroll { + overflow: hidden; +} + +.custom-theme .el-tabs__nav-next, +.custom-theme .el-tabs__nav-prev { + position: absolute; + cursor: pointer; + line-height: 44px; + font-size: 12px; + color: rgb(131, 139, 165); +} + +.custom-theme .el-tabs__nav-next { + right: 0; +} + +.custom-theme .el-tabs__nav-prev { + left: 0; +} + +.custom-theme .el-tabs__nav { + white-space: nowrap; + position: relative; + transition: transform .3s; + float: left; +} + +.custom-theme .el-tabs__item { + padding: 0 16px; + height: 42px; + box-sizing: border-box; + line-height: 42px; + display: inline-block; + list-style: none; + font-size: 14px; + color: rgb(131, 139, 165); + position: relative; +} + +.custom-theme .el-tabs__item .el-icon-close { + border-radius: 50%; + text-align: center; + transition: all .3s cubic-bezier(.645,.045,.355,1); + margin-left: 5px; +} + +.custom-theme .el-tabs__item .el-icon-close:before { + transform: scale(.7, .7); + display: inline-block; +} + +.custom-theme .el-tabs__item .el-icon-close:hover { + background-color: rgb(151, 161, 190); + color: #fff; +} + +.custom-theme .el-tabs__item:hover { + color: rgb(31, 40, 61); + cursor: pointer; +} + +.custom-theme .el-tabs__item.is-disabled { + color: #bbb; + cursor: default; +} + +.custom-theme .el-tabs__item.is-active { + color: #073069; +} + +.custom-theme .el-tabs__content { + overflow: hidden; + position: relative; +} + +.custom-theme .el-tabs--card > .el-tabs__header .el-tabs__active-bar { + display: none; +} + +.custom-theme .el-tabs--card > .el-tabs__header .el-tabs__item .el-icon-close { + position: relative; + font-size: 12px; + width: 0; + height: 14px; + vertical-align: middle; + line-height: 15px; + overflow: hidden; + top: -1px; + right: -2px; + transform-origin: 100% 50%; +} + +.custom-theme .el-tabs--card > .el-tabs__header .el-tabs__item { + border: 1px solid transparent; + transition: all .3s cubic-bezier(.645,.045,.355,1); +} + + + +.custom-theme .el-tabs--card > .el-tabs__header .el-tabs__item.is-closable:hover { + padding-right: 9px; + padding-left: 9px; +} + +.custom-theme .el-tabs--card > .el-tabs__header .el-tabs__item.is-closable:hover .el-icon-close { + width: 14px; +} + +.custom-theme .el-tabs--card > .el-tabs__header .el-tabs__item.is-active { + border: 1px solid rgb(209, 215, 229); + border-bottom-color: #fff; + border-radius: 4px 4px 0 0; +} + +.custom-theme .el-tabs--card > .el-tabs__header .el-tabs__item.is-active.is-closable { + padding-right: 16px; + padding-left: 16px; +} + +.custom-theme .el-tabs--card > .el-tabs__header .el-tabs__item.is-active.is-closable .el-icon-close { + width: 14px; +} + +.custom-theme .el-tabs--border-card { + background: #fff; + border: 1px solid rgb(209, 215, 229); + box-shadow: 0px 2px 4px 0px rgba(0,0,0,0.12), 0px 0px 6px 0px rgba(0,0,0,0.04); +} + +.custom-theme .el-tabs--border-card >.el-tabs__content { + padding: 15px; +} + +.custom-theme .el-tabs--border-card >.el-tabs__header { + background-color: rgb(238, 240, 246); + margin: 0; +} + +.custom-theme .el-tabs--border-card >.el-tabs__header .el-tabs__item { + transition: all .3s cubic-bezier(.645,.045,.355,1); + border: 1px solid transparent; + border-top: 0; + margin-right: -1px; + margin-left: -1px; +} + +.custom-theme .el-tabs--border-card >.el-tabs__header .el-tabs__item.is-active { + background-color: #fff; + border-right-color: rgb(209, 215, 229); + border-left-color: rgb(209, 215, 229); +} + +.custom-theme .el-tabs--border-card >.el-tabs__header .el-tabs__item.is-active:first-child { + border-left-color: rgb(209, 215, 229); +} + +.custom-theme .el-tabs--border-card >.el-tabs__header .el-tabs__item.is-active:last-child { + border-right-color: rgb(209, 215, 229); +} + +.custom-theme .slideInRight-transition, +.custom-theme .slideInLeft-transition { + display: inline-block; +} + +.custom-theme .slideInRight-enter { + animation: slideInRight-enter .3s; +} + +.custom-theme .slideInRight-leave { + position: absolute; + left: 0; + right: 0; + animation: slideInRight-leave .3s; +} + +.custom-theme .slideInLeft-enter { + animation: slideInLeft-enter .3s; +} + +.custom-theme .slideInLeft-leave { + position: absolute; + left: 0; + right: 0; + animation: slideInLeft-leave .3s; +} + +@keyframes slideInRight-enter { + 0% { + opacity: 0; + transform-origin: 0 0; + transform: translateX(100%); + } + + to { + opacity: 1; + transform-origin: 0 0; + transform: translateX(0); + } +} + +@keyframes slideInRight-leave { + 0% { + transform-origin: 0 0; + transform: translateX(0); + opacity: 1; + } + + 100% { + transform-origin: 0 0; + transform: translateX(100%); + opacity: 0; + } +} + +@keyframes slideInLeft-enter { + 0% { + opacity: 0; + transform-origin: 0 0; + transform: translateX(-100%); + } + + to { + opacity: 1; + transform-origin: 0 0; + transform: translateX(0); + } +} + +@keyframes slideInLeft-leave { + 0% { + transform-origin: 0 0; + transform: translateX(0); + opacity: 1; + } + + 100% { + transform-origin: 0 0; + transform: translateX(-100%); + opacity: 0; + } +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-tag { + background-color: rgb(131, 139, 165); + display: inline-block; + padding: 0 5px; + height: 24px; + line-height: 22px; + font-size: 12px; + color: #fff; + border-radius: 4px; + box-sizing: border-box; + border: 1px solid transparent; + white-space: nowrap; +} + +.custom-theme .el-tag .el-icon-close { + border-radius: 50%; + text-align: center; + position: relative; + cursor: pointer; + font-size: 12px; + transform: scale(.75, .75); + height: 18px; + width: 18px; + line-height: 18px; + vertical-align: middle; + top: -1px; + right: -2px; +} + +.custom-theme .el-tag .el-icon-close:hover { + background-color: #fff; + color: rgb(131, 139, 165); +} + +.custom-theme .el-tag--gray { + background-color: rgb(228, 230, 241); + border-color: rgb(228, 230, 241); + color: rgb(72, 81, 106); +} + +.custom-theme .el-tag--gray .el-tag__close:hover { + background-color: rgb(72, 81, 106); + color: #fff; +} + +.custom-theme .el-tag--gray.is-hit { + border-color: rgb(72, 81, 106); +} + +.custom-theme .el-tag--primary { + background-color: rgba(7, 48, 105, 0.1); + border-color: rgba(7, 48, 105, 0.2); + color: #073069; +} + +.custom-theme .el-tag--primary .el-tag__close:hover { + background-color: #073069; + color: #fff; +} + +.custom-theme .el-tag--primary.is-hit { + border-color: #073069; +} + +.custom-theme .el-tag--success { + background-color: rgba(18,206,102,0.10); + border-color: rgba(18,206,102,0.20); + color: #00643b; +} + +.custom-theme .el-tag--success .el-tag__close:hover { + background-color: #00643b; + color: #fff; +} + +.custom-theme .el-tag--success.is-hit { + border-color: #00643b; +} + +.custom-theme .el-tag--warning { + background-color: rgba(247,186,41,0.10); + border-color: rgba(247,186,41,0.20); + color: #f56a00; +} + +.custom-theme .el-tag--warning .el-tag__close:hover { + background-color: #f56a00; + color: #fff; +} + +.custom-theme .el-tag--warning.is-hit { + border-color: #f56a00; +} + +.custom-theme .el-tag--danger { + background-color: rgba(255,73,73,0.10); + border-color: rgba(255,73,73,0.20); + color: #ffbf00; +} + +.custom-theme .el-tag--danger .el-tag__close:hover { + background-color: #ffbf00; + color: #fff; +} + +.custom-theme .el-tag--danger.is-hit { + border-color: #ffbf00; +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-tree { + cursor: default; + background: #fff; + border: 1px solid rgb(209, 215, 229); +} + +.custom-theme .el-tree__empty-block { + position: relative; + min-height: 60px; + text-align: center; + width: 100%; + height: 100%; +} + +.custom-theme .el-tree__empty-text { + position: absolute; + left: 50%; + top: 50%; + transform: translate(-50%, -50%); + color: rgb(94, 109, 130); +} + +.custom-theme .el-tree-node { + white-space: nowrap; +} + +.custom-theme .el-tree-node > .el-tree-node__children { + overflow: hidden; + background-color: transparent; +} + +.custom-theme .el-tree-node.is-expanded > .el-tree-node__children { + display: block; +} + +.custom-theme .el-tree-node__content { + line-height: 36px; + height: 36px; + cursor: pointer; +} + +.custom-theme .el-tree-node__content > .el-checkbox, +.custom-theme .el-tree-node__content > .el-tree-node__expand-icon { + margin-right: 8px; +} + +.custom-theme .el-tree-node__content > .el-checkbox { + vertical-align: middle; +} + +.custom-theme .el-tree-node__content:hover { + background: rgb(228, 230, 241); +} + +.custom-theme .el-tree-node__expand-icon { + display: inline-block; + cursor: pointer; + width: 0; + height: 0; + vertical-align: middle; + margin-left: 10px; + border: 6px solid transparent; + border-right-width: 0; + border-left-color: rgb(151, 161, 190); + border-left-width: 7px; + transform: rotate(0deg); + transition: transform 0.3s ease-in-out; +} + +.custom-theme .el-tree-node__expand-icon:hover { + border-left-color: #999; +} + +.custom-theme .el-tree-node__expand-icon.expanded { + transform: rotate(90deg); +} + +.custom-theme .el-tree-node__expand-icon.is-leaf { + border-color: transparent; + cursor: default; +} + +.custom-theme .el-tree-node__label { + font-size: 14px; + vertical-align: middle; + display: inline-block; +} + +.custom-theme .el-tree-node__loading-icon { + display: inline-block; + vertical-align: middle; + margin-right: 4px; + font-size: 14px; + color: rgb(151, 161, 190); +} + +.custom-theme .el-tree--highlight-current .el-tree-node.is-current > .el-tree-node__content { + background-color: rgb(235, 238, 243); +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-alert { + width: 100%; + padding: 8px 16px; + margin: 0; + box-sizing: border-box; + border-radius: 4px; + position: relative; + background-color: #fff; + overflow: hidden; + color: #fff; + opacity: 1; + display: table; + transition: opacity .2s; +} + +.custom-theme .el-alert .el-alert__description { + color: #fff; + font-size: 12px; + margin: 5px 0 0 0; +} + +.custom-theme .el-alert--success { + background-color: #00643b; +} + +.custom-theme .el-alert--info { + background-color: #00a2ae; +} + +.custom-theme .el-alert--warning { + background-color: #f56a00; +} + +.custom-theme .el-alert--error { + background-color: #ffbf00; +} + +.custom-theme .el-alert__content { + display: table-cell; + padding: 0 8px; +} + +.custom-theme .el-alert__icon { + font-size: 16px; + width: 16px; + display: table-cell; + color: #fff; + vertical-align: middle; +} + +.custom-theme .el-alert__icon.is-big { + font-size: 28px; + width: 28px; +} + +.custom-theme .el-alert__title { + font-size: 13px; + line-height: 18px; +} + +.custom-theme .el-alert__title.is-bold { + font-weight: 700; +} + +.custom-theme .el-alert__closebtn { + font-size: 12px; + color: #fff; + opacity: 1; + top: 12px; + right: 15px; + position: absolute; + cursor: pointer; +} + +.custom-theme .el-alert__closebtn.is-customed { + font-style: normal; + font-size: 13px; + top: 9px; +} + +.custom-theme .el-alert-fade-enter, +.custom-theme .el-alert-fade-leave-active { + opacity: 0; +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-notification { + width: 330px; + padding: 20px; + box-sizing: border-box; + border-radius: 2px; + position: fixed; + right: 16px; + background-color: #fff; + box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04); + transition: opacity 0.3s, transform .3s, right .3s, top 0.4s; + overflow: hidden; +} + +.custom-theme .el-notification .el-icon-circle-check { + color: #00643b; +} + +.custom-theme .el-notification .el-icon-circle-cross { + color: #ffbf00; +} + +.custom-theme .el-notification .el-icon-information { + color: #00a2ae; +} + +.custom-theme .el-notification .el-icon-warning { + color: #f56a00; +} + +.custom-theme .el-notification__group { + margin-left: 0; +} + +.custom-theme .el-notification__group.is-with-icon { + margin-left: 55px; +} + +.custom-theme .el-notification__title { + font-weight: 400; + font-size: 16px; + color: rgb(31, 40, 61); + margin: 0; +} + +.custom-theme .el-notification__content { + font-size: 14px; + line-height: 21px; + margin: 10px 0 0 0; + color: rgb(131, 139, 165); + text-align: justify; +} + +.custom-theme .el-notification__icon { + width: 40px; + height: 40px; + font-size: 40px; + float: left; + position: relative; + top: 3px; +} + +.custom-theme .el-notification__closeBtn { + top: 20px; + right: 20px; + position: absolute; + cursor: pointer; + color: rgb(191, 199, 217); + font-size: 14px; +} + +.custom-theme .el-notification__closeBtn:hover { + color: rgb(151, 161, 190); +} + +.custom-theme .el-notification-fade-enter { + transform: translateX(100%); + right: 0; +} + +.custom-theme .el-notification-fade-leave-active { + opacity: 0; +} + +@charset "UTF-8"; + +@charset "UTF-8"; + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-input { + position: relative; + font-size: 14px; + display: inline-block; + width: 100%; +} + +.custom-theme .el-input.is-disabled .el-input__inner { + background-color: rgb(238, 240, 246); + border-color: rgb(209, 215, 229); + color: #bbb; + cursor: not-allowed; +} + +.custom-theme .el-input.is-disabled .el-input__inner::-webkit-input-placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-input.is-disabled .el-input__inner:-ms-input-placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-input.is-disabled .el-input__inner::placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-input.is-active .el-input__inner { + outline: none; + border-color: #073069; +} + +.custom-theme .el-input__inner { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #fff; + background-image: none; + border-radius: 4px; + border: 1px solid rgb(191, 199, 217); + box-sizing: border-box; + color: rgb(31, 40, 61); + display: block; + font-size: inherit; + height: 36px; + line-height: 1; + outline: none; + padding: 3px 10px; + transition: border-color .2s cubic-bezier(.645,.045,.355,1); + width: 100%; +} + +.custom-theme .el-input__inner::-webkit-input-placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-input__inner:-ms-input-placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-input__inner::placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-input__inner:hover { + border-color: rgb(131, 139, 165); +} + +.custom-theme .el-input__inner:focus { + outline: none; + border-color: #073069; +} + +.custom-theme .el-input__icon { + position: absolute; + width: 35px; + height: 100%; + right: 0; + top: 0; + text-align: center; + color: rgb(191, 199, 217); + transition: all .3s; +} + +.custom-theme .el-input__icon:after { + content: ''; + height: 100%; + width: 0; + display: inline-block; + vertical-align: middle; +} + +.custom-theme .el-input__icon + .el-input__inner { + padding-right: 35px; +} + + + +.custom-theme .el-input__icon.is-clickable:hover { + cursor: pointer; + color: rgb(131, 139, 165); +} + +.custom-theme .el-input__icon.is-clickable:hover + .el-input__inner { + border-color: rgb(131, 139, 165); +} + +.custom-theme .el-input--large { + font-size: 16px; +} + +.custom-theme .el-input--large .el-input__inner { + height: 42px; +} + +.custom-theme .el-input--small { + font-size: 13px; +} + +.custom-theme .el-input--small .el-input__inner { + height: 30px; +} + +.custom-theme .el-input--mini { + font-size: 12px; +} + +.custom-theme .el-input--mini .el-input__inner { + height: 22px; +} + +.custom-theme .el-input-group { + line-height: normal; + display: inline-table; + width: 100%; + border-collapse: separate; +} + +.custom-theme .el-input-group > .el-input__inner { + vertical-align: middle; + display: table-cell; +} + +.custom-theme .el-input-group__append, +.custom-theme .el-input-group__prepend { + background-color: rgb(250, 251, 252); + color: rgb(151, 161, 190); + vertical-align: middle; + display: table-cell; + position: relative; + border: 1px solid rgb(191, 199, 217); + border-radius: 4px; + padding: 0 10px; + width: 1%; + white-space: nowrap; +} + +.custom-theme .el-input-group__append .el-select, +.custom-theme .el-input-group__append .el-button, +.custom-theme .el-input-group__prepend .el-select, +.custom-theme .el-input-group__prepend .el-button { + display: block; + margin: -10px; +} + +.custom-theme .el-input-group__append .el-button, +.custom-theme .el-input-group__append .el-select .el-input__inner, +.custom-theme .el-input-group__append .el-select:hover .el-input__inner, +.custom-theme .el-input-group__prepend .el-button, +.custom-theme .el-input-group__prepend .el-select .el-input__inner, +.custom-theme .el-input-group__prepend .el-select:hover .el-input__inner { + border-color: transparent; + background-color: transparent; + color: inherit; + border-top: 0; + border-bottom: 0; +} + +.custom-theme .el-input-group__append .el-button, +.custom-theme .el-input-group__append .el-input, +.custom-theme .el-input-group__prepend .el-button, +.custom-theme .el-input-group__prepend .el-input { + font-size: inherit; +} + +.custom-theme .el-input-group__prepend { + border-right: 0; + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.custom-theme .el-input-group__append { + border-left: 0; + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.custom-theme .el-input-group--prepend .el-input__inner { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.custom-theme .el-input-group--append .el-input__inner { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.custom-theme .el-textarea { + display: inline-block; + width: 100%; + vertical-align: bottom; +} + +.custom-theme .el-textarea.is-disabled .el-textarea__inner { + background-color: rgb(238, 240, 246); + border-color: rgb(209, 215, 229); + color: #bbb; + cursor: not-allowed; +} + +.custom-theme .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-textarea.is-disabled .el-textarea__inner::placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-textarea__inner { + display: block; + resize: vertical; + padding: 5px 7px; + line-height: 1.5; + box-sizing: border-box; + width: 100%; + font-size: 14px; + color: rgb(31, 40, 61); + background-color: #fff; + background-image: none; + border: 1px solid rgb(191, 199, 217); + border-radius: 4px; + transition: border-color .2s cubic-bezier(.645,.045,.355,1); +} + +.custom-theme .el-textarea__inner::-webkit-input-placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-textarea__inner:-ms-input-placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-textarea__inner::placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-textarea__inner:hover { + border-color: rgb(131, 139, 165); +} + +.custom-theme .el-textarea__inner:focus { + outline: none; + border-color: #073069; +} + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-input-number { + display: inline-block; + overflow: hidden; + width: 180px; + position: relative; +} + +.custom-theme .el-input-number .el-input { + display: block; +} + +.custom-theme .el-input-number .el-input__inner { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + padding-right: 82px; +} + + + +.custom-theme .el-input-number.is-without-controls .el-input__inner { + padding-right: 10px; +} + +.custom-theme .el-input-number.is-disabled .el-input-number__increase, +.custom-theme .el-input-number.is-disabled .el-input-number__decrease { + border-color: rgb(209, 215, 229); + color: rgb(209, 215, 229); +} + +.custom-theme .el-input-number.is-disabled .el-input-number__increase:hover, +.custom-theme .el-input-number.is-disabled .el-input-number__decrease:hover { + color: rgb(209, 215, 229); + cursor: not-allowed; +} + +.custom-theme .el-input-number__increase, +.custom-theme .el-input-number__decrease { + height: auto; + border-left: 1px solid rgb(191, 199, 217); + width: 36px; + line-height: 34px; + top: 1px; + text-align: center; + color: rgb(151, 161, 190); + cursor: pointer; + position: absolute; + z-index: 1; +} + +.custom-theme .el-input-number__increase:hover, +.custom-theme .el-input-number__decrease:hover { + color: #073069; +} + +.custom-theme .el-input-number__increase:hover:not(.is-disabled) ~ .el-input .el-input__inner:not(.is-disabled), +.custom-theme .el-input-number__decrease:hover:not(.is-disabled) ~ .el-input .el-input__inner:not(.is-disabled) { + border-color: #073069; +} + +.custom-theme .el-input-number__increase.is-disabled, +.custom-theme .el-input-number__decrease.is-disabled { + color: rgb(209, 215, 229); + cursor: not-allowed; +} + +.custom-theme .el-input-number__increase { + right: 0; +} + +.custom-theme .el-input-number__decrease { + right: 37px; +} + +.custom-theme .el-input-number--large { + width: 200px; +} + +.custom-theme .el-input-number--large .el-input-number__increase, +.custom-theme .el-input-number--large .el-input-number__decrease { + line-height: 42px; + width: 42px; + font-size: 16px; +} + +.custom-theme .el-input-number--large .el-input-number__decrease { + right: 43px; +} + +.custom-theme .el-input-number--large .el-input__inner { + padding-right: 94px; +} + +.custom-theme .el-input-number--small { + width: 130px; +} + +.custom-theme .el-input-number--small .el-input-number__increase, +.custom-theme .el-input-number--small .el-input-number__decrease { + line-height: 30px; + width: 30px; + font-size: 13px; +} + +.custom-theme .el-input-number--small .el-input-number__decrease { + right: 31px; +} + +.custom-theme .el-input-number--small .el-input__inner { + padding-right: 70px; +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + + + +.custom-theme .el-tooltip__popper { + position: absolute; + border-radius: 4px; + padding: 10px; + z-index: 2000; + font-size: 12px; + line-height: 1.2; +} + +.custom-theme .el-tooltip__popper .popper__arrow, +.custom-theme .el-tooltip__popper .popper__arrow::after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} + +.custom-theme .el-tooltip__popper .popper__arrow { + border-width: 6px; +} + +.custom-theme .el-tooltip__popper .popper__arrow::after { + content: " "; + border-width: 5px; +} + +.custom-theme .el-tooltip__popper[x-placement^="top"] { + margin-bottom: 12px; +} + +.custom-theme .el-tooltip__popper[x-placement^="top"] .popper__arrow { + bottom: -6px; + border-top-color: rgb(31, 40, 61); + border-bottom-width: 0; +} + +.custom-theme .el-tooltip__popper[x-placement^="top"] .popper__arrow::after { + bottom: 1px; + margin-left: -5px; + border-top-color: rgb(31, 40, 61); + border-bottom-width: 0; +} + +.custom-theme .el-tooltip__popper[x-placement^="bottom"] { + margin-top: 12px; +} + +.custom-theme .el-tooltip__popper[x-placement^="bottom"] .popper__arrow { + top: -6px; + border-top-width: 0; + border-bottom-color: rgb(31, 40, 61); +} + +.custom-theme .el-tooltip__popper[x-placement^="bottom"] .popper__arrow::after { + top: 1px; + margin-left: -5px; + border-top-width: 0; + border-bottom-color: rgb(31, 40, 61); +} + +.custom-theme .el-tooltip__popper[x-placement^="right"] { + margin-left: 12px; +} + +.custom-theme .el-tooltip__popper[x-placement^="right"] .popper__arrow { + left: -6px; + border-right-color: rgb(31, 40, 61); + border-left-width: 0; +} + +.custom-theme .el-tooltip__popper[x-placement^="right"] .popper__arrow::after { + bottom: -5px; + left: 1px; + border-right-color: rgb(31, 40, 61); + border-left-width: 0; +} + +.custom-theme .el-tooltip__popper[x-placement^="left"] { + margin-right: 12px; +} + +.custom-theme .el-tooltip__popper[x-placement^="left"] .popper__arrow { + right: -6px; + border-right-width: 0; + border-left-color: rgb(31, 40, 61); +} + +.custom-theme .el-tooltip__popper[x-placement^="left"] .popper__arrow::after { + right: 1px; + bottom: -5px; + margin-left: -5px; + border-right-width: 0; + border-left-color: rgb(31, 40, 61); +} + +.custom-theme .el-tooltip__popper.is-light { + background: #fff; + border: 1px solid rgb(31, 40, 61); +} + +.custom-theme .el-tooltip__popper.is-light[x-placement^="top"] .popper__arrow { + border-top-color: rgb(31, 40, 61); +} + +.custom-theme .el-tooltip__popper.is-light[x-placement^="top"] .popper__arrow::after { + border-top-color: #fff; +} + +.custom-theme .el-tooltip__popper.is-light[x-placement^="bottom"] .popper__arrow { + border-bottom-color: rgb(31, 40, 61); +} + +.custom-theme .el-tooltip__popper.is-light[x-placement^="bottom"] .popper__arrow::after { + border-bottom-color: #fff; +} + +.custom-theme .el-tooltip__popper.is-light[x-placement^="left"] .popper__arrow { + border-left-color: rgb(31, 40, 61); +} + +.custom-theme .el-tooltip__popper.is-light[x-placement^="left"] .popper__arrow::after { + border-left-color: #fff; +} + +.custom-theme .el-tooltip__popper.is-light[x-placement^="right"] .popper__arrow { + border-right-color: rgb(31, 40, 61); +} + +.custom-theme .el-tooltip__popper.is-light[x-placement^="right"] .popper__arrow::after { + border-right-color: #fff; +} + +.custom-theme .el-tooltip__popper.is-dark { + background: rgb(31, 40, 61); + color: #fff; +} + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + + + +.custom-theme .el-slider:before, +.custom-theme .el-slider:after { + display: table; + content: ""; +} + +.custom-theme .el-slider:after { + clear: both; +} + +.custom-theme .el-slider__runway { + width: 100%; + height: 4px; + margin: 16px 0; + background-color: rgb(228, 230, 241); + border-radius: 3px; + position: relative; + cursor: pointer; + vertical-align: middle; +} + +.custom-theme .el-slider__runway.show-input { + margin-right: 160px; + width: auto; +} + +.custom-theme .el-slider__runway.disabled { + cursor: default; +} + +.custom-theme .el-slider__runway.disabled .el-slider__bar, +.custom-theme .el-slider__runway.disabled .el-slider__button { + background-color: rgb(191, 199, 217); +} + + + +.custom-theme .el-slider__runway.disabled .el-slider__button-wrapper:hover, +.custom-theme .el-slider__runway.disabled .el-slider__button-wrapper.hover { + cursor: not-allowed; +} + +.custom-theme .el-slider__runway.disabled .el-slider__button-wrapper.dragging { + cursor: not-allowed; +} + + + +.custom-theme .el-slider__runway.disabled .el-slider__button:hover, +.custom-theme .el-slider__runway.disabled .el-slider__button.hover, +.custom-theme .el-slider__runway.disabled .el-slider__button.dragging { + transform: scale(1); +} + +.custom-theme .el-slider__runway.disabled .el-slider__button:hover, +.custom-theme .el-slider__runway.disabled .el-slider__button.hover { + cursor: not-allowed; +} + +.custom-theme .el-slider__runway.disabled .el-slider__button.dragging { + cursor: not-allowed; +} + +.custom-theme .el-slider__input { + float: right; + margin-top: 3px; +} + +.custom-theme .el-slider__bar { + height: 4px; + background-color: #073069; + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; + position: absolute; +} + +.custom-theme .el-slider__button-wrapper { + width: 36px; + height: 36px; + position: absolute; + z-index: 1001; + top: -16px; + transform: translateX(-50%); + background-color: transparent; + text-align: center; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.custom-theme .el-slider__button-wrapper:after { + display: inline-block; + content: ""; + height: 100%; + vertical-align: middle; +} + +.custom-theme .el-slider__button-wrapper .el-tooltip { + vertical-align: middle; + display: inline-block; +} + +.custom-theme .el-slider__button-wrapper:hover, +.custom-theme .el-slider__button-wrapper.hover { + cursor: -webkit-grab; + cursor: grab; +} + +.custom-theme .el-slider__button-wrapper.dragging { + cursor: -webkit-grabbing; + cursor: grabbing; +} + +.custom-theme .el-slider__button { + width: 12px; + height: 12px; + background-color: #073069; + border-radius: 50%; + transition: .2s; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.custom-theme .el-slider__button:hover, +.custom-theme .el-slider__button.hover, +.custom-theme .el-slider__button.dragging { + transform: scale(1.5); + background-color: rgb(6, 42, 92); +} + +.custom-theme .el-slider__button:hover, +.custom-theme .el-slider__button.hover { + cursor: -webkit-grab; + cursor: grab; +} + +.custom-theme .el-slider__button.dragging { + cursor: -webkit-grabbing; + cursor: grabbing; +} + +.custom-theme .el-slider__stop { + position: absolute; + width: 4px; + height: 4px; + border-radius: 100%; + background-color: rgb(191, 199, 217); + transform: translateX(-50%); +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-loading-mask { + position: absolute; + z-index: 10000; + background-color: rgba(255, 255, 255, .9); + margin: 0; + top: 0; + right: 0; + bottom: 0; + left: 0; + transition: opacity 0.3s; +} + +.custom-theme .el-loading-mask.is-fullscreen { + position: fixed; +} + +.custom-theme .el-loading-mask.is-fullscreen .el-loading-spinner { + margin-top: -25px; +} + +.custom-theme .el-loading-mask.is-fullscreen .el-loading-spinner .circular { + width: 50px; + height: 50px; +} + +.custom-theme .el-loading-spinner { + top: 50%; + margin-top: -21px; + width: 100%; + text-align: center; + position: absolute; +} + +.custom-theme .el-loading-spinner .el-loading-text { + color: #073069; + margin: 3px 0; + font-size: 14px; +} + +.custom-theme .el-loading-spinner .circular { + width: 42px; + height: 42px; + animation: loading-rotate 2s linear infinite; +} + +.custom-theme .el-loading-spinner .path { + animation: loading-dash 1.5s ease-in-out infinite; + stroke-dasharray: 90, 150; + stroke-dashoffset: 0; + stroke-width: 2; + stroke: #073069; + stroke-linecap: round; +} + +.custom-theme .el-loading-fade-enter, +.custom-theme .el-loading-fade-leave-active { + opacity: 0; +} + +@keyframes loading-rotate { + 100% { + transform: rotate(360deg); + } +} + +@keyframes loading-dash { + 0% { + stroke-dasharray: 1, 200; + stroke-dashoffset: 0; + } + + 50% { + stroke-dasharray: 90, 150; + stroke-dashoffset: -40px; + } + + 100% { + stroke-dasharray: 90, 150; + stroke-dashoffset: -120px; + } +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-row { + position: relative; + box-sizing: border-box; +} + +.custom-theme .el-row:before, +.custom-theme .el-row:after { + display: table; + content: ""; +} + +.custom-theme .el-row:after { + clear: both; +} + +.custom-theme .el-row--flex { + display: -ms-flexbox; + display: flex; +} + +.custom-theme .el-row--flex:before, +.custom-theme .el-row--flex:after { + display: none; +} + +.custom-theme .el-row--flex.is-align-bottom { + -ms-flex-align: end; + align-items: flex-end; +} + +.custom-theme .el-row--flex.is-align-middle { + -ms-flex-align: center; + align-items: center; +} + +.custom-theme .el-row--flex.is-justify-space-around { + -ms-flex-pack: distribute; + justify-content: space-around; +} + +.custom-theme .el-row--flex.is-justify-space-between { + -ms-flex-pack: justify; + justify-content: space-between; +} + +.custom-theme .el-row--flex.is-justify-end { + -ms-flex-pack: end; + justify-content: flex-end; +} + +.custom-theme .el-row--flex.is-justify-center { + -ms-flex-pack: center; + justify-content: center; +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-col-1, +.custom-theme .el-col-2, +.custom-theme .el-col-3, +.custom-theme .el-col-4, +.custom-theme .el-col-5, +.custom-theme .el-col-6, +.custom-theme .el-col-7, +.custom-theme .el-col-8, +.custom-theme .el-col-9, +.custom-theme .el-col-10, +.custom-theme .el-col-11, +.custom-theme .el-col-12, +.custom-theme .el-col-13, +.custom-theme .el-col-14, +.custom-theme .el-col-15, +.custom-theme .el-col-16, +.custom-theme .el-col-17, +.custom-theme .el-col-18, +.custom-theme .el-col-19, +.custom-theme .el-col-20, +.custom-theme .el-col-21, +.custom-theme .el-col-22, +.custom-theme .el-col-23, +.custom-theme .el-col-24 { + float: left; + box-sizing: border-box; +} + +.custom-theme .el-col-0 { + display: none; +} + +.custom-theme .el-col-1 { + width: 4.16667%; +} + +.custom-theme .el-col-offset-1 { + margin-left: 4.16667%; +} + +.custom-theme .el-col-pull-1 { + position: relative; + right: 4.16667%; +} + +.custom-theme .el-col-push-1 { + position: relative; + left: 4.16667%; +} + +.custom-theme .el-col-2 { + width: 8.33333%; +} + +.custom-theme .el-col-offset-2 { + margin-left: 8.33333%; +} + +.custom-theme .el-col-pull-2 { + position: relative; + right: 8.33333%; +} + +.custom-theme .el-col-push-2 { + position: relative; + left: 8.33333%; +} + +.custom-theme .el-col-3 { + width: 12.5%; +} + +.custom-theme .el-col-offset-3 { + margin-left: 12.5%; +} + +.custom-theme .el-col-pull-3 { + position: relative; + right: 12.5%; +} + +.custom-theme .el-col-push-3 { + position: relative; + left: 12.5%; +} + +.custom-theme .el-col-4 { + width: 16.66667%; +} + +.custom-theme .el-col-offset-4 { + margin-left: 16.66667%; +} + +.custom-theme .el-col-pull-4 { + position: relative; + right: 16.66667%; +} + +.custom-theme .el-col-push-4 { + position: relative; + left: 16.66667%; +} + +.custom-theme .el-col-5 { + width: 20.83333%; +} + +.custom-theme .el-col-offset-5 { + margin-left: 20.83333%; +} + +.custom-theme .el-col-pull-5 { + position: relative; + right: 20.83333%; +} + +.custom-theme .el-col-push-5 { + position: relative; + left: 20.83333%; +} + +.custom-theme .el-col-6 { + width: 25%; +} + +.custom-theme .el-col-offset-6 { + margin-left: 25%; +} + +.custom-theme .el-col-pull-6 { + position: relative; + right: 25%; +} + +.custom-theme .el-col-push-6 { + position: relative; + left: 25%; +} + +.custom-theme .el-col-7 { + width: 29.16667%; +} + +.custom-theme .el-col-offset-7 { + margin-left: 29.16667%; +} + +.custom-theme .el-col-pull-7 { + position: relative; + right: 29.16667%; +} + +.custom-theme .el-col-push-7 { + position: relative; + left: 29.16667%; +} + +.custom-theme .el-col-8 { + width: 33.33333%; +} + +.custom-theme .el-col-offset-8 { + margin-left: 33.33333%; +} + +.custom-theme .el-col-pull-8 { + position: relative; + right: 33.33333%; +} + +.custom-theme .el-col-push-8 { + position: relative; + left: 33.33333%; +} + +.custom-theme .el-col-9 { + width: 37.5%; +} + +.custom-theme .el-col-offset-9 { + margin-left: 37.5%; +} + +.custom-theme .el-col-pull-9 { + position: relative; + right: 37.5%; +} + +.custom-theme .el-col-push-9 { + position: relative; + left: 37.5%; +} + +.custom-theme .el-col-10 { + width: 41.66667%; +} + +.custom-theme .el-col-offset-10 { + margin-left: 41.66667%; +} + +.custom-theme .el-col-pull-10 { + position: relative; + right: 41.66667%; +} + +.custom-theme .el-col-push-10 { + position: relative; + left: 41.66667%; +} + +.custom-theme .el-col-11 { + width: 45.83333%; +} + +.custom-theme .el-col-offset-11 { + margin-left: 45.83333%; +} + +.custom-theme .el-col-pull-11 { + position: relative; + right: 45.83333%; +} + +.custom-theme .el-col-push-11 { + position: relative; + left: 45.83333%; +} + +.custom-theme .el-col-12 { + width: 50%; +} + +.custom-theme .el-col-offset-12 { + margin-left: 50%; +} + +.custom-theme .el-col-pull-12 { + position: relative; + right: 50%; +} + +.custom-theme .el-col-push-12 { + position: relative; + left: 50%; +} + +.custom-theme .el-col-13 { + width: 54.16667%; +} + +.custom-theme .el-col-offset-13 { + margin-left: 54.16667%; +} + +.custom-theme .el-col-pull-13 { + position: relative; + right: 54.16667%; +} + +.custom-theme .el-col-push-13 { + position: relative; + left: 54.16667%; +} + +.custom-theme .el-col-14 { + width: 58.33333%; +} + +.custom-theme .el-col-offset-14 { + margin-left: 58.33333%; +} + +.custom-theme .el-col-pull-14 { + position: relative; + right: 58.33333%; +} + +.custom-theme .el-col-push-14 { + position: relative; + left: 58.33333%; +} + +.custom-theme .el-col-15 { + width: 62.5%; +} + +.custom-theme .el-col-offset-15 { + margin-left: 62.5%; +} + +.custom-theme .el-col-pull-15 { + position: relative; + right: 62.5%; +} + +.custom-theme .el-col-push-15 { + position: relative; + left: 62.5%; +} + +.custom-theme .el-col-16 { + width: 66.66667%; +} + +.custom-theme .el-col-offset-16 { + margin-left: 66.66667%; +} + +.custom-theme .el-col-pull-16 { + position: relative; + right: 66.66667%; +} + +.custom-theme .el-col-push-16 { + position: relative; + left: 66.66667%; +} + +.custom-theme .el-col-17 { + width: 70.83333%; +} + +.custom-theme .el-col-offset-17 { + margin-left: 70.83333%; +} + +.custom-theme .el-col-pull-17 { + position: relative; + right: 70.83333%; +} + +.custom-theme .el-col-push-17 { + position: relative; + left: 70.83333%; +} + +.custom-theme .el-col-18 { + width: 75%; +} + +.custom-theme .el-col-offset-18 { + margin-left: 75%; +} + +.custom-theme .el-col-pull-18 { + position: relative; + right: 75%; +} + +.custom-theme .el-col-push-18 { + position: relative; + left: 75%; +} + +.custom-theme .el-col-19 { + width: 79.16667%; +} + +.custom-theme .el-col-offset-19 { + margin-left: 79.16667%; +} + +.custom-theme .el-col-pull-19 { + position: relative; + right: 79.16667%; +} + +.custom-theme .el-col-push-19 { + position: relative; + left: 79.16667%; +} + +.custom-theme .el-col-20 { + width: 83.33333%; +} + +.custom-theme .el-col-offset-20 { + margin-left: 83.33333%; +} + +.custom-theme .el-col-pull-20 { + position: relative; + right: 83.33333%; +} + +.custom-theme .el-col-push-20 { + position: relative; + left: 83.33333%; +} + +.custom-theme .el-col-21 { + width: 87.5%; +} + +.custom-theme .el-col-offset-21 { + margin-left: 87.5%; +} + +.custom-theme .el-col-pull-21 { + position: relative; + right: 87.5%; +} + +.custom-theme .el-col-push-21 { + position: relative; + left: 87.5%; +} + +.custom-theme .el-col-22 { + width: 91.66667%; +} + +.custom-theme .el-col-offset-22 { + margin-left: 91.66667%; +} + +.custom-theme .el-col-pull-22 { + position: relative; + right: 91.66667%; +} + +.custom-theme .el-col-push-22 { + position: relative; + left: 91.66667%; +} + +.custom-theme .el-col-23 { + width: 95.83333%; +} + +.custom-theme .el-col-offset-23 { + margin-left: 95.83333%; +} + +.custom-theme .el-col-pull-23 { + position: relative; + right: 95.83333%; +} + +.custom-theme .el-col-push-23 { + position: relative; + left: 95.83333%; +} + +.custom-theme .el-col-24 { + width: 100%; +} + +.custom-theme .el-col-offset-24 { + margin-left: 100%; +} + +.custom-theme .el-col-pull-24 { + position: relative; + right: 100%; +} + +.custom-theme .el-col-push-24 { + position: relative; + left: 100%; +} + +@media (max-width: 768px) { + .custom-theme .el-col-xs-1 { + width: 4.16667%; + } + + .custom-theme .el-col-xs-offset-1 { + margin-left: 4.16667%; + } + + .custom-theme .el-col-xs-pull-1 { + position: relative; + right: 4.16667%; + } + + .custom-theme .el-col-xs-push-1 { + position: relative; + left: 4.16667%; + } + + .custom-theme .el-col-xs-2 { + width: 8.33333%; + } + + .custom-theme .el-col-xs-offset-2 { + margin-left: 8.33333%; + } + + .custom-theme .el-col-xs-pull-2 { + position: relative; + right: 8.33333%; + } + + .custom-theme .el-col-xs-push-2 { + position: relative; + left: 8.33333%; + } + + .custom-theme .el-col-xs-3 { + width: 12.5%; + } + + .custom-theme .el-col-xs-offset-3 { + margin-left: 12.5%; + } + + .custom-theme .el-col-xs-pull-3 { + position: relative; + right: 12.5%; + } + + .custom-theme .el-col-xs-push-3 { + position: relative; + left: 12.5%; + } + + .custom-theme .el-col-xs-4 { + width: 16.66667%; + } + + .custom-theme .el-col-xs-offset-4 { + margin-left: 16.66667%; + } + + .custom-theme .el-col-xs-pull-4 { + position: relative; + right: 16.66667%; + } + + .custom-theme .el-col-xs-push-4 { + position: relative; + left: 16.66667%; + } + + .custom-theme .el-col-xs-5 { + width: 20.83333%; + } + + .custom-theme .el-col-xs-offset-5 { + margin-left: 20.83333%; + } + + .custom-theme .el-col-xs-pull-5 { + position: relative; + right: 20.83333%; + } + + .custom-theme .el-col-xs-push-5 { + position: relative; + left: 20.83333%; + } + + .custom-theme .el-col-xs-6 { + width: 25%; + } + + .custom-theme .el-col-xs-offset-6 { + margin-left: 25%; + } + + .custom-theme .el-col-xs-pull-6 { + position: relative; + right: 25%; + } + + .custom-theme .el-col-xs-push-6 { + position: relative; + left: 25%; + } + + .custom-theme .el-col-xs-7 { + width: 29.16667%; + } + + .custom-theme .el-col-xs-offset-7 { + margin-left: 29.16667%; + } + + .custom-theme .el-col-xs-pull-7 { + position: relative; + right: 29.16667%; + } + + .custom-theme .el-col-xs-push-7 { + position: relative; + left: 29.16667%; + } + + .custom-theme .el-col-xs-8 { + width: 33.33333%; + } + + .custom-theme .el-col-xs-offset-8 { + margin-left: 33.33333%; + } + + .custom-theme .el-col-xs-pull-8 { + position: relative; + right: 33.33333%; + } + + .custom-theme .el-col-xs-push-8 { + position: relative; + left: 33.33333%; + } + + .custom-theme .el-col-xs-9 { + width: 37.5%; + } + + .custom-theme .el-col-xs-offset-9 { + margin-left: 37.5%; + } + + .custom-theme .el-col-xs-pull-9 { + position: relative; + right: 37.5%; + } + + .custom-theme .el-col-xs-push-9 { + position: relative; + left: 37.5%; + } + + .custom-theme .el-col-xs-10 { + width: 41.66667%; + } + + .custom-theme .el-col-xs-offset-10 { + margin-left: 41.66667%; + } + + .custom-theme .el-col-xs-pull-10 { + position: relative; + right: 41.66667%; + } + + .custom-theme .el-col-xs-push-10 { + position: relative; + left: 41.66667%; + } + + .custom-theme .el-col-xs-11 { + width: 45.83333%; + } + + .custom-theme .el-col-xs-offset-11 { + margin-left: 45.83333%; + } + + .custom-theme .el-col-xs-pull-11 { + position: relative; + right: 45.83333%; + } + + .custom-theme .el-col-xs-push-11 { + position: relative; + left: 45.83333%; + } + + .custom-theme .el-col-xs-12 { + width: 50%; + } + + .custom-theme .el-col-xs-offset-12 { + margin-left: 50%; + } + + .custom-theme .el-col-xs-pull-12 { + position: relative; + right: 50%; + } + + .custom-theme .el-col-xs-push-12 { + position: relative; + left: 50%; + } + + .custom-theme .el-col-xs-13 { + width: 54.16667%; + } + + .custom-theme .el-col-xs-offset-13 { + margin-left: 54.16667%; + } + + .custom-theme .el-col-xs-pull-13 { + position: relative; + right: 54.16667%; + } + + .custom-theme .el-col-xs-push-13 { + position: relative; + left: 54.16667%; + } + + .custom-theme .el-col-xs-14 { + width: 58.33333%; + } + + .custom-theme .el-col-xs-offset-14 { + margin-left: 58.33333%; + } + + .custom-theme .el-col-xs-pull-14 { + position: relative; + right: 58.33333%; + } + + .custom-theme .el-col-xs-push-14 { + position: relative; + left: 58.33333%; + } + + .custom-theme .el-col-xs-15 { + width: 62.5%; + } + + .custom-theme .el-col-xs-offset-15 { + margin-left: 62.5%; + } + + .custom-theme .el-col-xs-pull-15 { + position: relative; + right: 62.5%; + } + + .custom-theme .el-col-xs-push-15 { + position: relative; + left: 62.5%; + } + + .custom-theme .el-col-xs-16 { + width: 66.66667%; + } + + .custom-theme .el-col-xs-offset-16 { + margin-left: 66.66667%; + } + + .custom-theme .el-col-xs-pull-16 { + position: relative; + right: 66.66667%; + } + + .custom-theme .el-col-xs-push-16 { + position: relative; + left: 66.66667%; + } + + .custom-theme .el-col-xs-17 { + width: 70.83333%; + } + + .custom-theme .el-col-xs-offset-17 { + margin-left: 70.83333%; + } + + .custom-theme .el-col-xs-pull-17 { + position: relative; + right: 70.83333%; + } + + .custom-theme .el-col-xs-push-17 { + position: relative; + left: 70.83333%; + } + + .custom-theme .el-col-xs-18 { + width: 75%; + } + + .custom-theme .el-col-xs-offset-18 { + margin-left: 75%; + } + + .custom-theme .el-col-xs-pull-18 { + position: relative; + right: 75%; + } + + .custom-theme .el-col-xs-push-18 { + position: relative; + left: 75%; + } + + .custom-theme .el-col-xs-19 { + width: 79.16667%; + } + + .custom-theme .el-col-xs-offset-19 { + margin-left: 79.16667%; + } + + .custom-theme .el-col-xs-pull-19 { + position: relative; + right: 79.16667%; + } + + .custom-theme .el-col-xs-push-19 { + position: relative; + left: 79.16667%; + } + + .custom-theme .el-col-xs-20 { + width: 83.33333%; + } + + .custom-theme .el-col-xs-offset-20 { + margin-left: 83.33333%; + } + + .custom-theme .el-col-xs-pull-20 { + position: relative; + right: 83.33333%; + } + + .custom-theme .el-col-xs-push-20 { + position: relative; + left: 83.33333%; + } + + .custom-theme .el-col-xs-21 { + width: 87.5%; + } + + .custom-theme .el-col-xs-offset-21 { + margin-left: 87.5%; + } + + .custom-theme .el-col-xs-pull-21 { + position: relative; + right: 87.5%; + } + + .custom-theme .el-col-xs-push-21 { + position: relative; + left: 87.5%; + } + + .custom-theme .el-col-xs-22 { + width: 91.66667%; + } + + .custom-theme .el-col-xs-offset-22 { + margin-left: 91.66667%; + } + + .custom-theme .el-col-xs-pull-22 { + position: relative; + right: 91.66667%; + } + + .custom-theme .el-col-xs-push-22 { + position: relative; + left: 91.66667%; + } + + .custom-theme .el-col-xs-23 { + width: 95.83333%; + } + + .custom-theme .el-col-xs-offset-23 { + margin-left: 95.83333%; + } + + .custom-theme .el-col-xs-pull-23 { + position: relative; + right: 95.83333%; + } + + .custom-theme .el-col-xs-push-23 { + position: relative; + left: 95.83333%; + } + + .custom-theme .el-col-xs-24 { + width: 100%; + } + + .custom-theme .el-col-xs-offset-24 { + margin-left: 100%; + } + + .custom-theme .el-col-xs-pull-24 { + position: relative; + right: 100%; + } + + .custom-theme .el-col-xs-push-24 { + position: relative; + left: 100%; + } +} + +@media (min-width: 768px) { + .custom-theme .el-col-sm-1 { + width: 4.16667%; + } + + .custom-theme .el-col-sm-offset-1 { + margin-left: 4.16667%; + } + + .custom-theme .el-col-sm-pull-1 { + position: relative; + right: 4.16667%; + } + + .custom-theme .el-col-sm-push-1 { + position: relative; + left: 4.16667%; + } + + .custom-theme .el-col-sm-2 { + width: 8.33333%; + } + + .custom-theme .el-col-sm-offset-2 { + margin-left: 8.33333%; + } + + .custom-theme .el-col-sm-pull-2 { + position: relative; + right: 8.33333%; + } + + .custom-theme .el-col-sm-push-2 { + position: relative; + left: 8.33333%; + } + + .custom-theme .el-col-sm-3 { + width: 12.5%; + } + + .custom-theme .el-col-sm-offset-3 { + margin-left: 12.5%; + } + + .custom-theme .el-col-sm-pull-3 { + position: relative; + right: 12.5%; + } + + .custom-theme .el-col-sm-push-3 { + position: relative; + left: 12.5%; + } + + .custom-theme .el-col-sm-4 { + width: 16.66667%; + } + + .custom-theme .el-col-sm-offset-4 { + margin-left: 16.66667%; + } + + .custom-theme .el-col-sm-pull-4 { + position: relative; + right: 16.66667%; + } + + .custom-theme .el-col-sm-push-4 { + position: relative; + left: 16.66667%; + } + + .custom-theme .el-col-sm-5 { + width: 20.83333%; + } + + .custom-theme .el-col-sm-offset-5 { + margin-left: 20.83333%; + } + + .custom-theme .el-col-sm-pull-5 { + position: relative; + right: 20.83333%; + } + + .custom-theme .el-col-sm-push-5 { + position: relative; + left: 20.83333%; + } + + .custom-theme .el-col-sm-6 { + width: 25%; + } + + .custom-theme .el-col-sm-offset-6 { + margin-left: 25%; + } + + .custom-theme .el-col-sm-pull-6 { + position: relative; + right: 25%; + } + + .custom-theme .el-col-sm-push-6 { + position: relative; + left: 25%; + } + + .custom-theme .el-col-sm-7 { + width: 29.16667%; + } + + .custom-theme .el-col-sm-offset-7 { + margin-left: 29.16667%; + } + + .custom-theme .el-col-sm-pull-7 { + position: relative; + right: 29.16667%; + } + + .custom-theme .el-col-sm-push-7 { + position: relative; + left: 29.16667%; + } + + .custom-theme .el-col-sm-8 { + width: 33.33333%; + } + + .custom-theme .el-col-sm-offset-8 { + margin-left: 33.33333%; + } + + .custom-theme .el-col-sm-pull-8 { + position: relative; + right: 33.33333%; + } + + .custom-theme .el-col-sm-push-8 { + position: relative; + left: 33.33333%; + } + + .custom-theme .el-col-sm-9 { + width: 37.5%; + } + + .custom-theme .el-col-sm-offset-9 { + margin-left: 37.5%; + } + + .custom-theme .el-col-sm-pull-9 { + position: relative; + right: 37.5%; + } + + .custom-theme .el-col-sm-push-9 { + position: relative; + left: 37.5%; + } + + .custom-theme .el-col-sm-10 { + width: 41.66667%; + } + + .custom-theme .el-col-sm-offset-10 { + margin-left: 41.66667%; + } + + .custom-theme .el-col-sm-pull-10 { + position: relative; + right: 41.66667%; + } + + .custom-theme .el-col-sm-push-10 { + position: relative; + left: 41.66667%; + } + + .custom-theme .el-col-sm-11 { + width: 45.83333%; + } + + .custom-theme .el-col-sm-offset-11 { + margin-left: 45.83333%; + } + + .custom-theme .el-col-sm-pull-11 { + position: relative; + right: 45.83333%; + } + + .custom-theme .el-col-sm-push-11 { + position: relative; + left: 45.83333%; + } + + .custom-theme .el-col-sm-12 { + width: 50%; + } + + .custom-theme .el-col-sm-offset-12 { + margin-left: 50%; + } + + .custom-theme .el-col-sm-pull-12 { + position: relative; + right: 50%; + } + + .custom-theme .el-col-sm-push-12 { + position: relative; + left: 50%; + } + + .custom-theme .el-col-sm-13 { + width: 54.16667%; + } + + .custom-theme .el-col-sm-offset-13 { + margin-left: 54.16667%; + } + + .custom-theme .el-col-sm-pull-13 { + position: relative; + right: 54.16667%; + } + + .custom-theme .el-col-sm-push-13 { + position: relative; + left: 54.16667%; + } + + .custom-theme .el-col-sm-14 { + width: 58.33333%; + } + + .custom-theme .el-col-sm-offset-14 { + margin-left: 58.33333%; + } + + .custom-theme .el-col-sm-pull-14 { + position: relative; + right: 58.33333%; + } + + .custom-theme .el-col-sm-push-14 { + position: relative; + left: 58.33333%; + } + + .custom-theme .el-col-sm-15 { + width: 62.5%; + } + + .custom-theme .el-col-sm-offset-15 { + margin-left: 62.5%; + } + + .custom-theme .el-col-sm-pull-15 { + position: relative; + right: 62.5%; + } + + .custom-theme .el-col-sm-push-15 { + position: relative; + left: 62.5%; + } + + .custom-theme .el-col-sm-16 { + width: 66.66667%; + } + + .custom-theme .el-col-sm-offset-16 { + margin-left: 66.66667%; + } + + .custom-theme .el-col-sm-pull-16 { + position: relative; + right: 66.66667%; + } + + .custom-theme .el-col-sm-push-16 { + position: relative; + left: 66.66667%; + } + + .custom-theme .el-col-sm-17 { + width: 70.83333%; + } + + .custom-theme .el-col-sm-offset-17 { + margin-left: 70.83333%; + } + + .custom-theme .el-col-sm-pull-17 { + position: relative; + right: 70.83333%; + } + + .custom-theme .el-col-sm-push-17 { + position: relative; + left: 70.83333%; + } + + .custom-theme .el-col-sm-18 { + width: 75%; + } + + .custom-theme .el-col-sm-offset-18 { + margin-left: 75%; + } + + .custom-theme .el-col-sm-pull-18 { + position: relative; + right: 75%; + } + + .custom-theme .el-col-sm-push-18 { + position: relative; + left: 75%; + } + + .custom-theme .el-col-sm-19 { + width: 79.16667%; + } + + .custom-theme .el-col-sm-offset-19 { + margin-left: 79.16667%; + } + + .custom-theme .el-col-sm-pull-19 { + position: relative; + right: 79.16667%; + } + + .custom-theme .el-col-sm-push-19 { + position: relative; + left: 79.16667%; + } + + .custom-theme .el-col-sm-20 { + width: 83.33333%; + } + + .custom-theme .el-col-sm-offset-20 { + margin-left: 83.33333%; + } + + .custom-theme .el-col-sm-pull-20 { + position: relative; + right: 83.33333%; + } + + .custom-theme .el-col-sm-push-20 { + position: relative; + left: 83.33333%; + } + + .custom-theme .el-col-sm-21 { + width: 87.5%; + } + + .custom-theme .el-col-sm-offset-21 { + margin-left: 87.5%; + } + + .custom-theme .el-col-sm-pull-21 { + position: relative; + right: 87.5%; + } + + .custom-theme .el-col-sm-push-21 { + position: relative; + left: 87.5%; + } + + .custom-theme .el-col-sm-22 { + width: 91.66667%; + } + + .custom-theme .el-col-sm-offset-22 { + margin-left: 91.66667%; + } + + .custom-theme .el-col-sm-pull-22 { + position: relative; + right: 91.66667%; + } + + .custom-theme .el-col-sm-push-22 { + position: relative; + left: 91.66667%; + } + + .custom-theme .el-col-sm-23 { + width: 95.83333%; + } + + .custom-theme .el-col-sm-offset-23 { + margin-left: 95.83333%; + } + + .custom-theme .el-col-sm-pull-23 { + position: relative; + right: 95.83333%; + } + + .custom-theme .el-col-sm-push-23 { + position: relative; + left: 95.83333%; + } + + .custom-theme .el-col-sm-24 { + width: 100%; + } + + .custom-theme .el-col-sm-offset-24 { + margin-left: 100%; + } + + .custom-theme .el-col-sm-pull-24 { + position: relative; + right: 100%; + } + + .custom-theme .el-col-sm-push-24 { + position: relative; + left: 100%; + } +} + +@media (min-width: 992px) { + .custom-theme .el-col-md-1 { + width: 4.16667%; + } + + .custom-theme .el-col-md-offset-1 { + margin-left: 4.16667%; + } + + .custom-theme .el-col-md-pull-1 { + position: relative; + right: 4.16667%; + } + + .custom-theme .el-col-md-push-1 { + position: relative; + left: 4.16667%; + } + + .custom-theme .el-col-md-2 { + width: 8.33333%; + } + + .custom-theme .el-col-md-offset-2 { + margin-left: 8.33333%; + } + + .custom-theme .el-col-md-pull-2 { + position: relative; + right: 8.33333%; + } + + .custom-theme .el-col-md-push-2 { + position: relative; + left: 8.33333%; + } + + .custom-theme .el-col-md-3 { + width: 12.5%; + } + + .custom-theme .el-col-md-offset-3 { + margin-left: 12.5%; + } + + .custom-theme .el-col-md-pull-3 { + position: relative; + right: 12.5%; + } + + .custom-theme .el-col-md-push-3 { + position: relative; + left: 12.5%; + } + + .custom-theme .el-col-md-4 { + width: 16.66667%; + } + + .custom-theme .el-col-md-offset-4 { + margin-left: 16.66667%; + } + + .custom-theme .el-col-md-pull-4 { + position: relative; + right: 16.66667%; + } + + .custom-theme .el-col-md-push-4 { + position: relative; + left: 16.66667%; + } + + .custom-theme .el-col-md-5 { + width: 20.83333%; + } + + .custom-theme .el-col-md-offset-5 { + margin-left: 20.83333%; + } + + .custom-theme .el-col-md-pull-5 { + position: relative; + right: 20.83333%; + } + + .custom-theme .el-col-md-push-5 { + position: relative; + left: 20.83333%; + } + + .custom-theme .el-col-md-6 { + width: 25%; + } + + .custom-theme .el-col-md-offset-6 { + margin-left: 25%; + } + + .custom-theme .el-col-md-pull-6 { + position: relative; + right: 25%; + } + + .custom-theme .el-col-md-push-6 { + position: relative; + left: 25%; + } + + .custom-theme .el-col-md-7 { + width: 29.16667%; + } + + .custom-theme .el-col-md-offset-7 { + margin-left: 29.16667%; + } + + .custom-theme .el-col-md-pull-7 { + position: relative; + right: 29.16667%; + } + + .custom-theme .el-col-md-push-7 { + position: relative; + left: 29.16667%; + } + + .custom-theme .el-col-md-8 { + width: 33.33333%; + } + + .custom-theme .el-col-md-offset-8 { + margin-left: 33.33333%; + } + + .custom-theme .el-col-md-pull-8 { + position: relative; + right: 33.33333%; + } + + .custom-theme .el-col-md-push-8 { + position: relative; + left: 33.33333%; + } + + .custom-theme .el-col-md-9 { + width: 37.5%; + } + + .custom-theme .el-col-md-offset-9 { + margin-left: 37.5%; + } + + .custom-theme .el-col-md-pull-9 { + position: relative; + right: 37.5%; + } + + .custom-theme .el-col-md-push-9 { + position: relative; + left: 37.5%; + } + + .custom-theme .el-col-md-10 { + width: 41.66667%; + } + + .custom-theme .el-col-md-offset-10 { + margin-left: 41.66667%; + } + + .custom-theme .el-col-md-pull-10 { + position: relative; + right: 41.66667%; + } + + .custom-theme .el-col-md-push-10 { + position: relative; + left: 41.66667%; + } + + .custom-theme .el-col-md-11 { + width: 45.83333%; + } + + .custom-theme .el-col-md-offset-11 { + margin-left: 45.83333%; + } + + .custom-theme .el-col-md-pull-11 { + position: relative; + right: 45.83333%; + } + + .custom-theme .el-col-md-push-11 { + position: relative; + left: 45.83333%; + } + + .custom-theme .el-col-md-12 { + width: 50%; + } + + .custom-theme .el-col-md-offset-12 { + margin-left: 50%; + } + + .custom-theme .el-col-md-pull-12 { + position: relative; + right: 50%; + } + + .custom-theme .el-col-md-push-12 { + position: relative; + left: 50%; + } + + .custom-theme .el-col-md-13 { + width: 54.16667%; + } + + .custom-theme .el-col-md-offset-13 { + margin-left: 54.16667%; + } + + .custom-theme .el-col-md-pull-13 { + position: relative; + right: 54.16667%; + } + + .custom-theme .el-col-md-push-13 { + position: relative; + left: 54.16667%; + } + + .custom-theme .el-col-md-14 { + width: 58.33333%; + } + + .custom-theme .el-col-md-offset-14 { + margin-left: 58.33333%; + } + + .custom-theme .el-col-md-pull-14 { + position: relative; + right: 58.33333%; + } + + .custom-theme .el-col-md-push-14 { + position: relative; + left: 58.33333%; + } + + .custom-theme .el-col-md-15 { + width: 62.5%; + } + + .custom-theme .el-col-md-offset-15 { + margin-left: 62.5%; + } + + .custom-theme .el-col-md-pull-15 { + position: relative; + right: 62.5%; + } + + .custom-theme .el-col-md-push-15 { + position: relative; + left: 62.5%; + } + + .custom-theme .el-col-md-16 { + width: 66.66667%; + } + + .custom-theme .el-col-md-offset-16 { + margin-left: 66.66667%; + } + + .custom-theme .el-col-md-pull-16 { + position: relative; + right: 66.66667%; + } + + .custom-theme .el-col-md-push-16 { + position: relative; + left: 66.66667%; + } + + .custom-theme .el-col-md-17 { + width: 70.83333%; + } + + .custom-theme .el-col-md-offset-17 { + margin-left: 70.83333%; + } + + .custom-theme .el-col-md-pull-17 { + position: relative; + right: 70.83333%; + } + + .custom-theme .el-col-md-push-17 { + position: relative; + left: 70.83333%; + } + + .custom-theme .el-col-md-18 { + width: 75%; + } + + .custom-theme .el-col-md-offset-18 { + margin-left: 75%; + } + + .custom-theme .el-col-md-pull-18 { + position: relative; + right: 75%; + } + + .custom-theme .el-col-md-push-18 { + position: relative; + left: 75%; + } + + .custom-theme .el-col-md-19 { + width: 79.16667%; + } + + .custom-theme .el-col-md-offset-19 { + margin-left: 79.16667%; + } + + .custom-theme .el-col-md-pull-19 { + position: relative; + right: 79.16667%; + } + + .custom-theme .el-col-md-push-19 { + position: relative; + left: 79.16667%; + } + + .custom-theme .el-col-md-20 { + width: 83.33333%; + } + + .custom-theme .el-col-md-offset-20 { + margin-left: 83.33333%; + } + + .custom-theme .el-col-md-pull-20 { + position: relative; + right: 83.33333%; + } + + .custom-theme .el-col-md-push-20 { + position: relative; + left: 83.33333%; + } + + .custom-theme .el-col-md-21 { + width: 87.5%; + } + + .custom-theme .el-col-md-offset-21 { + margin-left: 87.5%; + } + + .custom-theme .el-col-md-pull-21 { + position: relative; + right: 87.5%; + } + + .custom-theme .el-col-md-push-21 { + position: relative; + left: 87.5%; + } + + .custom-theme .el-col-md-22 { + width: 91.66667%; + } + + .custom-theme .el-col-md-offset-22 { + margin-left: 91.66667%; + } + + .custom-theme .el-col-md-pull-22 { + position: relative; + right: 91.66667%; + } + + .custom-theme .el-col-md-push-22 { + position: relative; + left: 91.66667%; + } + + .custom-theme .el-col-md-23 { + width: 95.83333%; + } + + .custom-theme .el-col-md-offset-23 { + margin-left: 95.83333%; + } + + .custom-theme .el-col-md-pull-23 { + position: relative; + right: 95.83333%; + } + + .custom-theme .el-col-md-push-23 { + position: relative; + left: 95.83333%; + } + + .custom-theme .el-col-md-24 { + width: 100%; + } + + .custom-theme .el-col-md-offset-24 { + margin-left: 100%; + } + + .custom-theme .el-col-md-pull-24 { + position: relative; + right: 100%; + } + + .custom-theme .el-col-md-push-24 { + position: relative; + left: 100%; + } +} + +@media (min-width: 1200px) { + .custom-theme .el-col-lg-1 { + width: 4.16667%; + } + + .custom-theme .el-col-lg-offset-1 { + margin-left: 4.16667%; + } + + .custom-theme .el-col-lg-pull-1 { + position: relative; + right: 4.16667%; + } + + .custom-theme .el-col-lg-push-1 { + position: relative; + left: 4.16667%; + } + + .custom-theme .el-col-lg-2 { + width: 8.33333%; + } + + .custom-theme .el-col-lg-offset-2 { + margin-left: 8.33333%; + } + + .custom-theme .el-col-lg-pull-2 { + position: relative; + right: 8.33333%; + } + + .custom-theme .el-col-lg-push-2 { + position: relative; + left: 8.33333%; + } + + .custom-theme .el-col-lg-3 { + width: 12.5%; + } + + .custom-theme .el-col-lg-offset-3 { + margin-left: 12.5%; + } + + .custom-theme .el-col-lg-pull-3 { + position: relative; + right: 12.5%; + } + + .custom-theme .el-col-lg-push-3 { + position: relative; + left: 12.5%; + } + + .custom-theme .el-col-lg-4 { + width: 16.66667%; + } + + .custom-theme .el-col-lg-offset-4 { + margin-left: 16.66667%; + } + + .custom-theme .el-col-lg-pull-4 { + position: relative; + right: 16.66667%; + } + + .custom-theme .el-col-lg-push-4 { + position: relative; + left: 16.66667%; + } + + .custom-theme .el-col-lg-5 { + width: 20.83333%; + } + + .custom-theme .el-col-lg-offset-5 { + margin-left: 20.83333%; + } + + .custom-theme .el-col-lg-pull-5 { + position: relative; + right: 20.83333%; + } + + .custom-theme .el-col-lg-push-5 { + position: relative; + left: 20.83333%; + } + + .custom-theme .el-col-lg-6 { + width: 25%; + } + + .custom-theme .el-col-lg-offset-6 { + margin-left: 25%; + } + + .custom-theme .el-col-lg-pull-6 { + position: relative; + right: 25%; + } + + .custom-theme .el-col-lg-push-6 { + position: relative; + left: 25%; + } + + .custom-theme .el-col-lg-7 { + width: 29.16667%; + } + + .custom-theme .el-col-lg-offset-7 { + margin-left: 29.16667%; + } + + .custom-theme .el-col-lg-pull-7 { + position: relative; + right: 29.16667%; + } + + .custom-theme .el-col-lg-push-7 { + position: relative; + left: 29.16667%; + } + + .custom-theme .el-col-lg-8 { + width: 33.33333%; + } + + .custom-theme .el-col-lg-offset-8 { + margin-left: 33.33333%; + } + + .custom-theme .el-col-lg-pull-8 { + position: relative; + right: 33.33333%; + } + + .custom-theme .el-col-lg-push-8 { + position: relative; + left: 33.33333%; + } + + .custom-theme .el-col-lg-9 { + width: 37.5%; + } + + .custom-theme .el-col-lg-offset-9 { + margin-left: 37.5%; + } + + .custom-theme .el-col-lg-pull-9 { + position: relative; + right: 37.5%; + } + + .custom-theme .el-col-lg-push-9 { + position: relative; + left: 37.5%; + } + + .custom-theme .el-col-lg-10 { + width: 41.66667%; + } + + .custom-theme .el-col-lg-offset-10 { + margin-left: 41.66667%; + } + + .custom-theme .el-col-lg-pull-10 { + position: relative; + right: 41.66667%; + } + + .custom-theme .el-col-lg-push-10 { + position: relative; + left: 41.66667%; + } + + .custom-theme .el-col-lg-11 { + width: 45.83333%; + } + + .custom-theme .el-col-lg-offset-11 { + margin-left: 45.83333%; + } + + .custom-theme .el-col-lg-pull-11 { + position: relative; + right: 45.83333%; + } + + .custom-theme .el-col-lg-push-11 { + position: relative; + left: 45.83333%; + } + + .custom-theme .el-col-lg-12 { + width: 50%; + } + + .custom-theme .el-col-lg-offset-12 { + margin-left: 50%; + } + + .custom-theme .el-col-lg-pull-12 { + position: relative; + right: 50%; + } + + .custom-theme .el-col-lg-push-12 { + position: relative; + left: 50%; + } + + .custom-theme .el-col-lg-13 { + width: 54.16667%; + } + + .custom-theme .el-col-lg-offset-13 { + margin-left: 54.16667%; + } + + .custom-theme .el-col-lg-pull-13 { + position: relative; + right: 54.16667%; + } + + .custom-theme .el-col-lg-push-13 { + position: relative; + left: 54.16667%; + } + + .custom-theme .el-col-lg-14 { + width: 58.33333%; + } + + .custom-theme .el-col-lg-offset-14 { + margin-left: 58.33333%; + } + + .custom-theme .el-col-lg-pull-14 { + position: relative; + right: 58.33333%; + } + + .custom-theme .el-col-lg-push-14 { + position: relative; + left: 58.33333%; + } + + .custom-theme .el-col-lg-15 { + width: 62.5%; + } + + .custom-theme .el-col-lg-offset-15 { + margin-left: 62.5%; + } + + .custom-theme .el-col-lg-pull-15 { + position: relative; + right: 62.5%; + } + + .custom-theme .el-col-lg-push-15 { + position: relative; + left: 62.5%; + } + + .custom-theme .el-col-lg-16 { + width: 66.66667%; + } + + .custom-theme .el-col-lg-offset-16 { + margin-left: 66.66667%; + } + + .custom-theme .el-col-lg-pull-16 { + position: relative; + right: 66.66667%; + } + + .custom-theme .el-col-lg-push-16 { + position: relative; + left: 66.66667%; + } + + .custom-theme .el-col-lg-17 { + width: 70.83333%; + } + + .custom-theme .el-col-lg-offset-17 { + margin-left: 70.83333%; + } + + .custom-theme .el-col-lg-pull-17 { + position: relative; + right: 70.83333%; + } + + .custom-theme .el-col-lg-push-17 { + position: relative; + left: 70.83333%; + } + + .custom-theme .el-col-lg-18 { + width: 75%; + } + + .custom-theme .el-col-lg-offset-18 { + margin-left: 75%; + } + + .custom-theme .el-col-lg-pull-18 { + position: relative; + right: 75%; + } + + .custom-theme .el-col-lg-push-18 { + position: relative; + left: 75%; + } + + .custom-theme .el-col-lg-19 { + width: 79.16667%; + } + + .custom-theme .el-col-lg-offset-19 { + margin-left: 79.16667%; + } + + .custom-theme .el-col-lg-pull-19 { + position: relative; + right: 79.16667%; + } + + .custom-theme .el-col-lg-push-19 { + position: relative; + left: 79.16667%; + } + + .custom-theme .el-col-lg-20 { + width: 83.33333%; + } + + .custom-theme .el-col-lg-offset-20 { + margin-left: 83.33333%; + } + + .custom-theme .el-col-lg-pull-20 { + position: relative; + right: 83.33333%; + } + + .custom-theme .el-col-lg-push-20 { + position: relative; + left: 83.33333%; + } + + .custom-theme .el-col-lg-21 { + width: 87.5%; + } + + .custom-theme .el-col-lg-offset-21 { + margin-left: 87.5%; + } + + .custom-theme .el-col-lg-pull-21 { + position: relative; + right: 87.5%; + } + + .custom-theme .el-col-lg-push-21 { + position: relative; + left: 87.5%; + } + + .custom-theme .el-col-lg-22 { + width: 91.66667%; + } + + .custom-theme .el-col-lg-offset-22 { + margin-left: 91.66667%; + } + + .custom-theme .el-col-lg-pull-22 { + position: relative; + right: 91.66667%; + } + + .custom-theme .el-col-lg-push-22 { + position: relative; + left: 91.66667%; + } + + .custom-theme .el-col-lg-23 { + width: 95.83333%; + } + + .custom-theme .el-col-lg-offset-23 { + margin-left: 95.83333%; + } + + .custom-theme .el-col-lg-pull-23 { + position: relative; + right: 95.83333%; + } + + .custom-theme .el-col-lg-push-23 { + position: relative; + left: 95.83333%; + } + + .custom-theme .el-col-lg-24 { + width: 100%; + } + + .custom-theme .el-col-lg-offset-24 { + margin-left: 100%; + } + + .custom-theme .el-col-lg-pull-24 { + position: relative; + right: 100%; + } + + .custom-theme .el-col-lg-push-24 { + position: relative; + left: 100%; + } +} + +@charset "UTF-8"; + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-progress { + position: relative; + line-height: 1; +} + +.custom-theme .el-progress.is-exception .el-progress-bar__inner { + background-color: #ffbf00; +} + +.custom-theme .el-progress.is-exception .el-progress__text { + color: #ffbf00; +} + +.custom-theme .el-progress.is-success .el-progress-bar__inner { + background-color: #00643b; +} + +.custom-theme .el-progress.is-success .el-progress__text { + color: #00643b; +} + +.custom-theme .el-progress__text { + font-size: 14px; + color: rgb(72, 81, 106); + display: inline-block; + vertical-align: middle; + margin-left: 10px; + line-height: 1; +} + +.custom-theme .el-progress__text i { + vertical-align: middle; + display: block; +} + +.custom-theme .el-progress--circle { + display: inline-block; +} + +.custom-theme .el-progress--circle .el-progress__text { + position: absolute; + top: 50%; + left: 0; + width: 100%; + text-align: center; + margin: 0; + transform: translate(0, -50%); +} + +.custom-theme .el-progress--circle .el-progress__text i { + vertical-align: middle; + display: inline-block; +} + +.custom-theme .el-progress--without-text .el-progress__text { + display: none; +} + +.custom-theme .el-progress--without-text .el-progress-bar { + padding-right: 0; + margin-right: 0; + display: block; +} + +.custom-theme .el-progress--text-inside .el-progress-bar { + padding-right: 0; + margin-right: 0; +} + +.custom-theme .el-progress-bar { + padding-right: 50px; + display: inline-block; + vertical-align: middle; + width: 100%; + margin-right: -55px; + box-sizing: border-box; +} + +.custom-theme .el-progress-bar__outer { + height: 6px; + border-radius: 100px; + background-color: rgb(228, 230, 241); + overflow: hidden; + position: relative; + vertical-align: middle; +} + +.custom-theme .el-progress-bar__inner { + position: absolute; + left: 0; + top: 0; + height: 100%; + border-radius: 2px 0 0 2px; + background-color: #073069; + text-align: right; + border-radius: 100px; + line-height: 1; +} + +.custom-theme .el-progress-bar__inner:after { + display: inline-block; + content: ""; + height: 100%; + vertical-align: middle; +} + +.custom-theme .el-progress-bar__inner:after { + display: inline-block; + content: ""; + height: 100%; + vertical-align: middle; +} + +.custom-theme .el-progress-bar__innerText { + display: inline-block; + vertical-align: middle; + color: #fff; + font-size: 12px; + margin: 0 5px; +} + +@keyframes progress { + 0% { + background-position: 0 0; + } + + 100% { + background-position: 32px 0; + } +} + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-upload { + display: inline-block; + text-align: center; + cursor: pointer; + /* 照片墙模式 */ +} + +.custom-theme .el-upload iframe { + position: absolute; + z-index: -1; + top: 0; + left: 0; + opacity: 0; + filter: alpha(opacity=0); +} + +.custom-theme .el-upload__input { + display: none; +} + +.custom-theme .el-upload__tip { + font-size: 12px; + color: rgb(131, 139, 165); + margin-top: 7px; +} + +.custom-theme .el-upload--picture-card { + background-color: #fbfdff; + border: 1px dashed #c0ccda; + border-radius: 6px; + box-sizing: border-box; + width: 148px; + height: 148px; + cursor: pointer; + line-height: 146px; + vertical-align: top; +} + +.custom-theme .el-upload--picture-card i { + font-size: 28px; + color: #8c939d; +} + +.custom-theme .el-upload--picture-card:hover { + border-color: #073069; + color: #073069; +} + +.custom-theme .el-upload-dragger { + background-color: #fff; + border: 1px dashed #d9d9d9; + border-radius: 6px; + box-sizing: border-box; + width: 360px; + height: 180px; + text-align: center; + cursor: pointer; + position: relative; + overflow: hidden; +} + +.custom-theme .el-upload-dragger .el-upload__text { + color: rgb(151, 161, 190); + font-size: 14px; + text-align: center; +} + +.custom-theme .el-upload-dragger .el-upload__text em { + color: #073069; + font-style: normal; +} + +.custom-theme .el-upload-dragger .el-icon-upload { + font-size: 67px; + color: rgb(151, 161, 190); + margin: 40px 0 16px; + line-height: 50px; +} + +.custom-theme .el-upload-dragger + .el-upload__tip { + text-align: center; +} + +.custom-theme .el-upload-dragger ~ .el-upload__files { + border-top: 1px solid rgba(191, 199, 217, 0.2); + margin-top: 7px; + padding-top: 5px; +} + +.custom-theme .el-upload-dragger:hover { + border-color: #073069; +} + +.custom-theme .el-upload-dragger.is-dragover { + background-color: rgba(32, 159, 255, .06); + border: 2px dashed #073069; +} + +.custom-theme .el-upload-list { + margin: 0; + padding: 0; + list-style: none; +} + +.custom-theme .el-upload-list__item { + transition: all .5s cubic-bezier(.55,0,.1,1); + font-size: 14px; + color: rgb(72, 81, 106); + line-height: 1.8; + margin-top: 5px; + position: relative; + box-sizing: border-box; + border-radius: 4px; + width: 100%; + position: relative; +} + +.custom-theme .el-upload-list__item .el-progress-bar { + margin-right: 0; + padding-right: 0; +} + +.custom-theme .el-upload-list__item .el-progress { + position: absolute; + bottom: -3px; + width: 100%; +} + +.custom-theme .el-upload-list__item .el-progress__text { + position: absolute; + right: 0; + top: -10px; + right: 0; +} + +.custom-theme .el-upload-list__item:first-child { + margin-top: 10px; +} + +.custom-theme .el-upload-list__item:hover { + background-color: rgb(238, 240, 246); +} + +.custom-theme .el-upload-list__item.is-success .el-upload-list__item-name:hover { + color: #073069; + cursor: pointer; +} + +.custom-theme .el-upload-list__item.is-success .el-icon-close { + display: none; +} + +.custom-theme .el-upload-list__item.is-success:hover .el-icon-close { + display: inline-block; + cursor: pointer; + opacity: .75; + transform: scale(.7); + color: rgb(72, 81, 106); +} + +.custom-theme .el-upload-list__item.is-success:hover .el-icon-close:hover { + opacity: 1; +} + +.custom-theme .el-upload-list__item.is-success:hover .el-icon-circle-check, +.custom-theme .el-upload-list__item.is-success:hover .el-icon-check { + display: none; +} + +.custom-theme .el-upload-list__item-name { + color: rgb(72, 81, 106); + display: block; + margin-right: 40px; + overflow: hidden; + padding-left: 4px; + text-overflow: ellipsis; + transition: color .3s; + white-space: nowrap; +} + +.custom-theme .el-upload-list__item-name [class^="el-icon"] { + color: rgb(151, 161, 190); + margin-right: 7px; + height: 100%; + line-height: inherit; +} + +.custom-theme .el-upload-list__item-status-label { + position: absolute; + right: 10px; + top: 0; + line-height: inherit; + color: #00643b; +} + +.custom-theme .el-upload-list__item-delete { + position: absolute; + right: 10px; + top: 0; + font-size: 12px; + color: rgb(72, 81, 106); + display: none; +} + +.custom-theme .el-upload-list__item-delete:hover { + color: #073069; +} + +.custom-theme .el-upload-list--picture-card { + margin: 0; + display: inline; + vertical-align: top; +} + +.custom-theme .el-upload-list--picture-card .el-upload-list__item { + overflow: hidden; + background-color: #fff; + border: 1px solid #c0ccda; + border-radius: 6px; + box-sizing: border-box; + width: 148px; + height: 148px; + margin: 0 8px 8px 0; + display: inline-block; +} + +.custom-theme .el-upload-list--picture-card .el-upload-list__item:hover .el-upload-list__item-status-label { + display: none; +} + +.custom-theme .el-upload-list--picture-card .el-upload-list__item-name { + display: none; +} + +.custom-theme .el-upload-list--picture-card .el-upload-list__item-thumbnail { + width: 100%; + height: 100%; +} + +.custom-theme .el-upload-list--picture-card .el-upload-list__item-status-label { + position: absolute; + right: -15px; + top: -6px; + width: 40px; + height: 24px; + background: #13ce66; + text-align: center; + transform: rotate(45deg); + box-shadow: 0 0 1pc 1px rgba(0,0,0,0.2); +} + +.custom-theme .el-upload-list--picture-card .el-upload-list__item-status-label i { + font-size: 12px; + margin-top: 11px; + transform: rotate(-45deg) scale(0.8); + color: #fff; +} + +.custom-theme .el-upload-list--picture-card .el-upload-list__item-actions { + position: absolute; + width: 100%; + height: 100%; + left: 0; + top: 0; + cursor: default; + text-align: center; + color: #fff; + opacity: 0; + font-size: 20px; + background-color: rgba(0, 0, 0, .5); + transition: opacity .3s; +} + +.custom-theme .el-upload-list--picture-card .el-upload-list__item-actions:after { + display: inline-block; + content: ""; + height: 100%; + vertical-align: middle; +} + +.custom-theme .el-upload-list--picture-card .el-upload-list__item-actions span { + display: none; + cursor: pointer; +} + +.custom-theme .el-upload-list--picture-card .el-upload-list__item-actions span + span { + margin-left: 15px; +} + +.custom-theme .el-upload-list--picture-card .el-upload-list__item-actions .el-upload-list__item-delete { + position: static; + font-size: inherit; + color: inherit; +} + +.custom-theme .el-upload-list--picture-card .el-upload-list__item-actions:hover { + opacity: 1; +} + +.custom-theme .el-upload-list--picture-card .el-upload-list__item-actions:hover span { + display: inline-block; +} + +.custom-theme .el-upload-list--picture-card .el-progress { + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + bottom: auto; + width: 126px; +} + +.custom-theme .el-upload-list--picture-card .el-progress .el-progress__text { + top: 50%; +} + +.custom-theme .el-upload-list--picture .el-upload-list__item { + overflow: hidden; + background-color: #fff; + border: 1px solid #c0ccda; + border-radius: 6px; + box-sizing: border-box; + margin-top: 10px; + padding: 10px 10px 10px 90px; + height: 92px; +} + +.custom-theme .el-upload-list--picture .el-upload-list__item:hover .el-upload-list__item-status-label { + background: transparent; + box-shadow: none; + top: -2px; + right: -12px; +} + +.custom-theme .el-upload-list--picture .el-upload-list__item:hover .el-upload-list__item-status-label .el-icon-close { + transform: rotate(45deg) scale(.7); +} + +.custom-theme .el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name { + line-height: 70px; + margin-top: 0; +} + +.custom-theme .el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name i { + display: none; +} + +.custom-theme .el-upload-list--picture .el-upload-list__item-thumbnail { + vertical-align: middle; + display: inline-block; + width: 70px; + height: 70px; + float: left; + margin-left: -80px; +} + +.custom-theme .el-upload-list--picture .el-upload-list__item-name { + display: block; + margin-top: 20px; +} + +.custom-theme .el-upload-list--picture .el-upload-list__item-name i { + font-size: 70px; + line-height: 1; + position: absolute; + left: 9px; + top: 10px; +} + +.custom-theme .el-upload-list--picture .el-upload-list__item-status-label { + position: absolute; + right: -17px; + top: -7px; + width: 46px; + height: 26px; + background: #13ce66; + text-align: center; + transform: rotate(45deg); + box-shadow: 0 1px 1px #ccc; +} + +.custom-theme .el-upload-list--picture .el-upload-list__item-status-label i { + font-size: 12px; + margin-top: 12px; + transform: rotate(-45deg) scale(0.8); + color: #fff; +} + +.custom-theme .el-upload-list--picture .el-progress { + position: static; +} + +.custom-theme .el-upload-cover { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + overflow: hidden; + z-index: 10; + cursor: default; +} + +.custom-theme .el-upload-cover:after { + display: inline-block; + content: ""; + height: 100%; + vertical-align: middle; +} + +.custom-theme .el-upload-cover img { + display: block; + width: 100%; + height: 100%; +} + +.custom-theme .el-upload-cover + .el-upload__inner { + opacity: 0; + position: relative; + z-index: 1; +} + +.custom-theme .el-upload-cover__label { + position: absolute; + right: -15px; + top: -6px; + width: 40px; + height: 24px; + background: #13ce66; + text-align: center; + transform: rotate(45deg); + box-shadow: 0 0 1pc 1px rgba(0,0,0,0.2); +} + +.custom-theme .el-upload-cover__label i { + font-size: 12px; + margin-top: 11px; + transform: rotate(-45deg) scale(0.8); + color: #fff; +} + +.custom-theme .el-upload-cover__progress { + display: inline-block; + vertical-align: middle; + position: static; + width: 243px; +} + +.custom-theme .el-upload-cover__progress + .el-upload__inner { + opacity: 0; +} + +.custom-theme .el-upload-cover__content { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +.custom-theme .el-upload-cover__interact { + position: absolute; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + background-color: rgba(0, 0, 0, 0.72); + text-align: center; +} + +.custom-theme .el-upload-cover__interact .btn { + display: inline-block; + color: #fff; + font-size: 14px; + cursor: pointer; + vertical-align: middle; + transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1) 100ms, opacity 300ms cubic-bezier(0.23, 1, 0.32, 1) 100ms; + margin-top: 60px; +} + +.custom-theme .el-upload-cover__interact .btn i { + margin-top: 0; +} + +.custom-theme .el-upload-cover__interact .btn span { + opacity: 0; + transition: opacity .15s linear; +} + +.custom-theme .el-upload-cover__interact .btn:not(:first-child) { + margin-left: 35px; +} + +.custom-theme .el-upload-cover__interact .btn:hover { + transform: translateY(-13px); +} + +.custom-theme .el-upload-cover__interact .btn:hover span { + opacity: 1; +} + +.custom-theme .el-upload-cover__interact .btn i { + color: #fff; + display: block; + font-size: 24px; + line-height: inherit; + margin: 0 auto 5px; +} + +.custom-theme .el-upload-cover__title { + position: absolute; + bottom: 0; + left: 0; + background-color: #fff; + height: 36px; + width: 100%; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + font-weight: 400; + text-align: left; + padding: 0 10px; + margin: 0; + line-height: 36px; + font-size: 14px; + color: rgb(72, 81, 106); +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-progress { + position: relative; + line-height: 1; +} + +.custom-theme .el-progress.is-exception .el-progress-bar__inner { + background-color: #ffbf00; +} + +.custom-theme .el-progress.is-exception .el-progress__text { + color: #ffbf00; +} + +.custom-theme .el-progress.is-success .el-progress-bar__inner { + background-color: #00643b; +} + +.custom-theme .el-progress.is-success .el-progress__text { + color: #00643b; +} + +.custom-theme .el-progress__text { + font-size: 14px; + color: rgb(72, 81, 106); + display: inline-block; + vertical-align: middle; + margin-left: 10px; + line-height: 1; +} + +.custom-theme .el-progress__text i { + vertical-align: middle; + display: block; +} + +.custom-theme .el-progress--circle { + display: inline-block; +} + +.custom-theme .el-progress--circle .el-progress__text { + position: absolute; + top: 50%; + left: 0; + width: 100%; + text-align: center; + margin: 0; + transform: translate(0, -50%); +} + +.custom-theme .el-progress--circle .el-progress__text i { + vertical-align: middle; + display: inline-block; +} + +.custom-theme .el-progress--without-text .el-progress__text { + display: none; +} + +.custom-theme .el-progress--without-text .el-progress-bar { + padding-right: 0; + margin-right: 0; + display: block; +} + +.custom-theme .el-progress--text-inside .el-progress-bar { + padding-right: 0; + margin-right: 0; +} + +.custom-theme .el-progress-bar { + padding-right: 50px; + display: inline-block; + vertical-align: middle; + width: 100%; + margin-right: -55px; + box-sizing: border-box; +} + +.custom-theme .el-progress-bar__outer { + height: 6px; + border-radius: 100px; + background-color: rgb(228, 230, 241); + overflow: hidden; + position: relative; + vertical-align: middle; +} + +.custom-theme .el-progress-bar__inner { + position: absolute; + left: 0; + top: 0; + height: 100%; + border-radius: 2px 0 0 2px; + background-color: #073069; + text-align: right; + border-radius: 100px; + line-height: 1; +} + +.custom-theme .el-progress-bar__innerText { + display: inline-block; + vertical-align: middle; + color: #fff; + font-size: 12px; + margin: 0 5px; +} + +@keyframes progress { + 0% { + background-position: 0 0; + } + + 100% { + background-position: 32px 0; + } +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-time-spinner { + width: 100%; + white-space: nowrap; +} + +.custom-theme .el-spinner { + display: inline-block; + vertical-align: middle; +} + +.custom-theme .el-spinner-inner { + animation: rotate 2s linear infinite; + width: 50px; + height: 50px; +} + +.custom-theme .el-spinner-inner .path { + stroke: #ececec; + stroke-linecap: round; + animation: dash 1.5s ease-in-out infinite; +} + +@keyframes rotate { + 100% { + transform: rotate(360deg); + } +} + +@keyframes dash { + 0% { + stroke-dasharray: 1, 150; + stroke-dashoffset: 0; + } + + 50% { + stroke-dasharray: 90, 150; + stroke-dashoffset: -35; + } + + 100% { + stroke-dasharray: 90, 150; + stroke-dashoffset: -124; + } +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-message { + box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04); + min-width: 300px; + padding: 10px 12px; + box-sizing: border-box; + border-radius: 2px; + position: fixed; + left: 50%; + top: 20px; + transform: translateX(-50%); + background-color: #fff; + transition: opacity 0.3s, transform .4s; + overflow: hidden; +} + +.custom-theme .el-message .el-icon-circle-check { + color: #00643b; +} + +.custom-theme .el-message .el-icon-circle-cross { + color: #ffbf00; +} + +.custom-theme .el-message .el-icon-information { + color: #00a2ae; +} + +.custom-theme .el-message .el-icon-warning { + color: #f56a00; +} + +.custom-theme .el-message__group { + margin-left: 38px; + position: relative; + height: 20px; + line-height: 20px; +} + +.custom-theme .el-message__group p { + font-size: 14px; + margin: 0 34px 0 0; + white-space: nowrap; + color: rgb(131, 139, 165); + text-align: justify; +} + +.custom-theme .el-message__group.is-with-icon { + margin-left: 0; +} + +.custom-theme .el-message__img { + width: 40px; + height: 40px; + position: absolute; + left: 0; + top: 0; +} + +.custom-theme .el-message__icon { + vertical-align: middle; + margin-right: 8px; +} + +.custom-theme .el-message__closeBtn { + top: 3px; + right: 0; + position: absolute; + cursor: pointer; + color: rgb(191, 199, 217); + font-size: 14px; +} + +.custom-theme .el-message__closeBtn:hover { + color: rgb(151, 161, 190); +} + +.custom-theme .el-message-fade-enter, +.custom-theme .el-message-fade-leave-active { + opacity: 0; + transform: translate(-50%, -100%); +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-badge { + position: relative; + vertical-align: middle; + display: inline-block; +} + +.custom-theme .el-badge__content { + background-color: #ffbf00; + border-radius: 10px; + color: #fff; + display: inline-block; + font-size: 12px; + height: 18px; + line-height: 18px; + padding: 0 6px; + text-align: center; + white-space: nowrap; + border: 1px solid #fff; +} + +.custom-theme .el-badge__content.is-dot { + width: 8px; + height: 8px; + padding: 0; + right: 0; + border-radius: 50%; +} + +.custom-theme .el-badge__content.is-fixed { + top: 0; + right: 10px; + position: absolute; + transform: translateY(-50%) translateX(100%); +} + +.custom-theme .el-badge__content.is-fixed.is-dot { + right: 5px; +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-card { + border: 1px solid rgb(209, 215, 229); + border-radius: 4px; + background-color: #fff; + overflow: hidden; + box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, .12), + 0px 0px 6px 0px rgba(0, 0, 0, .04); +} + +.custom-theme .el-card__header { + padding: 18px 20px; + border-bottom: 1px solid rgb(209, 215, 229); + box-sizing: border-box; +} + +.custom-theme .el-card__body { + padding: 20px; +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-rate { + height: 20px; + line-height: 1; +} + +.custom-theme .el-rate__item { + display: inline-block; + position: relative; + font-size: 0; + vertical-align: middle; +} + +.custom-theme .el-rate__icon { + position: relative; + display: inline-block; + font-size: 18px; + margin-right: 6px; + color: rgb(191, 199, 217); + transition: .3s; +} + +.custom-theme .el-rate__icon .path2 { + position: absolute; + left: 0; + top: 0; +} + +.custom-theme .el-rate__icon.hover { + transform: scale(1.15); +} + +.custom-theme .el-rate__decimal { + position: absolute; + top: 0; + left: 0; + display: inline-block; + overflow: hidden; +} + +.custom-theme .el-rate__text { + font-size: 14px; + vertical-align: middle; +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-steps { + font-size: 0; +} + +.custom-theme .el-steps > :last-child .el-step__line { + display: none; +} + +.custom-theme .el-steps.is-horizontal { + white-space: nowrap; +} + +.custom-theme .el-steps.is-horizontal.is-center { + text-align: center; +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-step { + position: relative; + vertical-align: top; +} + + + +.custom-theme .el-step.is-vertical .el-step__head, +.custom-theme .el-step.is-vertical .el-step__main { + display: inline-block; +} + +.custom-theme .el-step.is-vertical .el-step__main { + padding-left: 10px; +} + +.custom-theme .el-step.is-horizontal { + display: inline-block; +} + +.custom-theme .el-step__line { + display: inline-block; + position: absolute; + border-color: inherit; + background-color: rgb(191, 199, 217); +} + +.custom-theme .el-step__line.is-vertical { + width: 2px; + box-sizing: border-box; + top: 32px; + bottom: 0; + left: 15px; +} + +.custom-theme .el-step__line.is-horizontal { + top: 15px; + height: 2px; + left: 32px; + right: 0; +} + + + +.custom-theme .el-step__line.is-icon.is-horizontal { + right: 4px; +} + +.custom-theme .el-step__line-inner { + display: block; + border-width: 1px; + border-style: solid; + border-color: inherit; + transition: all 150ms; + width: 0; + height: 0; +} + +.custom-theme .el-step__icon { + display: block; + line-height: 28px; +} + +.custom-theme .el-step__icon > * { + line-height: inherit; + vertical-align: middle; +} + +.custom-theme .el-step__head { + width: 28px; + height: 28px; + border-radius: 50%; + background-color: transparent; + text-align: center; + line-height: 28px; + font-size: 28px; + vertical-align: top; + transition: all 150ms; +} + +.custom-theme .el-step__head.is-finish { + color: #073069; + border-color: #073069; +} + +.custom-theme .el-step__head.is-error { + color: #ffbf00; + border-color: #ffbf00; +} + +.custom-theme .el-step__head.is-success { + color: #00643b; + border-color: #00643b; +} + +.custom-theme .el-step__head.is-wait { + color: rgb(191, 199, 217); + border-color: rgb(191, 199, 217); +} + +.custom-theme .el-step__head.is-process { + color: rgb(191, 199, 217); + border-color: rgb(191, 199, 217); +} + +.custom-theme .el-step__head.is-text { + font-size: 14px; + border-width: 2px; + border-style: solid; +} + +.custom-theme .el-step__head.is-text.is-finish { + color: #fff; + background-color: #073069; + border-color: #073069; +} + +.custom-theme .el-step__head.is-text.is-error { + color: #fff; + background-color: #ffbf00; + border-color: #ffbf00; +} + +.custom-theme .el-step__head.is-text.is-success { + color: #fff; + background-color: #00643b; + border-color: #00643b; +} + +.custom-theme .el-step__head.is-text.is-wait { + color: rgb(191, 199, 217); + background-color: #fff; + border-color: rgb(191, 199, 217); +} + +.custom-theme .el-step__head.is-text.is-process { + color: #fff; + background-color: rgb(191, 199, 217); + border-color: rgb(191, 199, 217); +} + +.custom-theme .el-step__main { + white-space: normal; + padding-right: 10px; + text-align: left; +} + +.custom-theme .el-step__title { + font-size: 14px; + line-height: 32px; + display: inline-block; +} + +.custom-theme .el-step__title.is-finish { + font-weight: 700; + color: #073069; +} + +.custom-theme .el-step__title.is-error { + font-weight: 700; + color: #ffbf00; +} + +.custom-theme .el-step__title.is-success { + font-weight: 700; + color: #00643b; +} + +.custom-theme .el-step__title.is-wait { + font-weight: 400; + color: rgb(151, 161, 190); +} + +.custom-theme .el-step__title.is-process { + font-weight: 700; + color: rgb(72, 81, 106); +} + +.custom-theme .el-step__description { + font-size: 12px; + font-weight: 400; + line-height: 14px; +} + +.custom-theme .el-step__description.is-finish { + color: #073069; +} + +.custom-theme .el-step__description.is-error { + color: #ffbf00; +} + +.custom-theme .el-step__description.is-success { + color: #00643b; +} + +.custom-theme .el-step__description.is-wait { + color: rgb(191, 199, 217); +} + +.custom-theme .el-step__description.is-process { + color: rgb(131, 139, 165); +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-carousel { + overflow-x: hidden; + position: relative; +} + +.custom-theme .el-carousel__container { + position: relative; + height: 300px; +} + +.custom-theme .el-carousel__arrow { + border: none; + outline: none; + padding: 0; + margin: 0; + width: 36px; + height: 36px; + cursor: pointer; + transition: .3s; + border-radius: 50%; + background-color: rgba(31, 45, 61, 0.11); + color: #fff; + position: absolute; + top: 50%; + z-index: 10; + transform: translateY(-50%); + text-align: center; + font-size: 12px; +} + +.custom-theme .el-carousel__arrow:hover { + background-color: rgba(31, 45, 61, 0.23); +} + +.custom-theme .el-carousel__arrow i { + cursor: pointer; +} + +.custom-theme .el-carousel__arrow--left { + left: 16px; +} + +.custom-theme .el-carousel__arrow--right { + right: 16px; +} + +.custom-theme .el-carousel__indicators { + position: absolute; + list-style: none; + bottom: 0; + left: 50%; + transform: translateX(-50%); + margin: 0; + padding: 0; + z-index: 2; +} + +.custom-theme .el-carousel__indicators--outside { + bottom: 26px; + text-align: center; + position: static; + transform: none; +} + +.custom-theme .el-carousel__indicators--outside .el-carousel__indicator:hover button { + opacity: 0.64; +} + +.custom-theme .el-carousel__indicators--outside button { + background-color: rgb(131, 139, 165); + opacity: 0.24; +} + +.custom-theme .el-carousel__indicator { + display: inline-block; + background-color: transparent; + padding: 12px 4px; + cursor: pointer; +} + +.custom-theme .el-carousel__indicator:hover button { + opacity: 0.72; +} + +.custom-theme .el-carousel__indicator.is-active button { + opacity: 1; +} + +.custom-theme .el-carousel__button { + display: block; + opacity: 0.48; + width: 30px; + height: 2px; + background-color: #fff; + border: none; + outline: none; + padding: 0; + margin: 0; + cursor: pointer; + transition: .3s; +} + +.custom-theme .carousel-arrow-left-enter, +.custom-theme .carousel-arrow-left-leave-active { + transform: translateY(-50%) translateX(-10px); + opacity: 0; +} + +.custom-theme .carousel-arrow-right-enter, +.custom-theme .carousel-arrow-right-leave-active { + transform: translateY(-50%) translateX(10px); + opacity: 0; +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-scrollbar { + overflow: hidden; + position: relative; +} + +.custom-theme .el-scrollbar:hover .el-scrollbar__bar, +.custom-theme .el-scrollbar:active .el-scrollbar__bar, +.custom-theme .el-scrollbar:focus .el-scrollbar__bar { + opacity: 1; + transition: opacity 340ms ease-out; +} + +.custom-theme .el-scrollbar__wrap { + overflow: scroll; +} + + + +.custom-theme .el-scrollbar__wrap--hidden-default::-webkit-scrollbar { + width: 0; + height: 0; +} + +.custom-theme .el-scrollbar__thumb { + position: relative; + display: block; + width: 0; + height: 0; + cursor: pointer; + border-radius: inherit; + background-color: rgba(151, 161, 190, 0.3); + transition: .3s background-color; +} + +.custom-theme .el-scrollbar__thumb:hover { + background-color: rgba(151, 161, 190, 0.5); +} + +.custom-theme .el-scrollbar__bar { + position: absolute; + right: 2px; + bottom: 2px; + z-index: 1; + border-radius: 4px; + opacity: 0; + transition: opacity 120ms ease-out; +} + +.custom-theme .el-scrollbar__bar.is-horizontal { + height: 6px; + left: 2px; +} + +.custom-theme .el-scrollbar__bar.is-horizontal > div { + height: 100%; +} + +.custom-theme .el-scrollbar__bar.is-vertical { + width: 6px; + top: 2px; +} + +.custom-theme .el-scrollbar__bar.is-vertical > div { + width: 100%; +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + + + +.custom-theme .el-carousel__item { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + display: inline-block; + transition: .4s ease-in-out; + overflow: hidden; + z-index: 0; +} + +.custom-theme .el-carousel__item.is-active { + z-index: 2; +} + +.custom-theme .el-carousel__item--card { + width: 50%; +} + +.custom-theme .el-carousel__item--card.is-in-stage { + cursor: pointer; + z-index: 1; +} + +.custom-theme .el-carousel__item--card.is-in-stage:hover .el-carousel__mask, +.custom-theme .el-carousel__item--card.is-in-stage.is-hover .el-carousel__mask { + opacity: 0.12; +} + +.custom-theme .el-carousel__item--card.is-active { + z-index: 2; +} + +.custom-theme .el-carousel__mask { + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 0; + background-color: #fff; + opacity: 0.24; + transition: .2s; +} + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-collapse { + border: 1px solid rgb(223, 227, 236); + border-radius: 0; +} + + + +.custom-theme .el-collapse-item:last-child { + margin-bottom: -1px; +} + +.custom-theme .el-collapse-item.is-active > .el-collapse-item__header .el-collapse-item__header__arrow { + transform: rotate(90deg); +} + +.custom-theme .el-collapse-item__header { + height: 43px; + line-height: 43px; + padding-left: 15px; + background-color: #fff; + color: rgb(72, 81, 106); + cursor: pointer; + border-bottom: 1px solid rgb(223, 227, 236); + font-size: 13px; +} + +.custom-theme .el-collapse-item__header__arrow { + margin-right: 8px; + transition: transform .3s; +} + +.custom-theme .el-collapse-item__wrap { + will-change: height; + background-color: rgb(250, 251, 252); + overflow: hidden; + box-sizing: border-box; + border-bottom: 1px solid rgb(223, 227, 236); +} + +.custom-theme .el-collapse-item__content { + padding: 10px 15px; + font-size: 13px; + color: rgb(31, 40, 61); + line-height: 1.769230769230769; +} + +@charset "UTF-8"; + +@charset "UTF-8"; + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-input { + position: relative; + font-size: 14px; + display: inline-block; + width: 100%; +} + +.custom-theme .el-input.is-disabled .el-input__inner { + background-color: rgb(238, 240, 246); + border-color: rgb(209, 215, 229); + color: #bbb; + cursor: not-allowed; +} + +.custom-theme .el-input.is-disabled .el-input__inner::-webkit-input-placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-input.is-disabled .el-input__inner:-ms-input-placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-input.is-disabled .el-input__inner::placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-input.is-active .el-input__inner { + outline: none; + border-color: #073069; +} + +.custom-theme .el-input__inner { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #fff; + background-image: none; + border-radius: 4px; + border: 1px solid rgb(191, 199, 217); + box-sizing: border-box; + color: rgb(31, 40, 61); + display: block; + font-size: inherit; + height: 36px; + line-height: 1; + outline: none; + padding: 3px 10px; + transition: border-color .2s cubic-bezier(.645,.045,.355,1); + width: 100%; +} + +.custom-theme .el-input__inner::-webkit-input-placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-input__inner:-ms-input-placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-input__inner::placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-input__inner:hover { + border-color: rgb(131, 139, 165); +} + +.custom-theme .el-input__inner:focus { + outline: none; + border-color: #073069; +} + +.custom-theme .el-input__icon { + position: absolute; + width: 35px; + height: 100%; + right: 0; + top: 0; + text-align: center; + color: rgb(191, 199, 217); + transition: all .3s; +} + +.custom-theme .el-input__icon:after { + content: ''; + height: 100%; + width: 0; + display: inline-block; + vertical-align: middle; +} + +.custom-theme .el-input__icon + .el-input__inner { + padding-right: 35px; +} + + + +.custom-theme .el-input__icon.is-clickable:hover { + cursor: pointer; + color: rgb(131, 139, 165); +} + +.custom-theme .el-input__icon.is-clickable:hover + .el-input__inner { + border-color: rgb(131, 139, 165); +} + +.custom-theme .el-input--large { + font-size: 16px; +} + +.custom-theme .el-input--large .el-input__inner { + height: 42px; +} + +.custom-theme .el-input--small { + font-size: 13px; +} + +.custom-theme .el-input--small .el-input__inner { + height: 30px; +} + +.custom-theme .el-input--mini { + font-size: 12px; +} + +.custom-theme .el-input--mini .el-input__inner { + height: 22px; +} + +.custom-theme .el-input-group { + line-height: normal; + display: inline-table; + width: 100%; + border-collapse: separate; +} + +.custom-theme .el-input-group > .el-input__inner { + vertical-align: middle; + display: table-cell; +} + +.custom-theme .el-input-group__append, +.custom-theme .el-input-group__prepend { + background-color: rgb(250, 251, 252); + color: rgb(151, 161, 190); + vertical-align: middle; + display: table-cell; + position: relative; + border: 1px solid rgb(191, 199, 217); + border-radius: 4px; + padding: 0 10px; + width: 1%; + white-space: nowrap; +} + +.custom-theme .el-input-group__append .el-select, +.custom-theme .el-input-group__append .el-button, +.custom-theme .el-input-group__prepend .el-select, +.custom-theme .el-input-group__prepend .el-button { + display: block; + margin: -10px; +} + +.custom-theme .el-input-group__append .el-button, +.custom-theme .el-input-group__append .el-select .el-input__inner, +.custom-theme .el-input-group__append .el-select:hover .el-input__inner, +.custom-theme .el-input-group__prepend .el-button, +.custom-theme .el-input-group__prepend .el-select .el-input__inner, +.custom-theme .el-input-group__prepend .el-select:hover .el-input__inner { + border-color: transparent; + background-color: transparent; + color: inherit; + border-top: 0; + border-bottom: 0; +} + +.custom-theme .el-input-group__append .el-button, +.custom-theme .el-input-group__append .el-input, +.custom-theme .el-input-group__prepend .el-button, +.custom-theme .el-input-group__prepend .el-input { + font-size: inherit; +} + +.custom-theme .el-input-group__prepend { + border-right: 0; + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.custom-theme .el-input-group__append { + border-left: 0; + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.custom-theme .el-input-group--prepend .el-input__inner { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.custom-theme .el-input-group--append .el-input__inner { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.custom-theme .el-textarea { + display: inline-block; + width: 100%; + vertical-align: bottom; +} + +.custom-theme .el-textarea.is-disabled .el-textarea__inner { + background-color: rgb(238, 240, 246); + border-color: rgb(209, 215, 229); + color: #bbb; + cursor: not-allowed; +} + +.custom-theme .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-textarea.is-disabled .el-textarea__inner::placeholder { + color: rgb(191, 199, 217); +} + +.custom-theme .el-textarea__inner { + display: block; + resize: vertical; + padding: 5px 7px; + line-height: 1.5; + box-sizing: border-box; + width: 100%; + font-size: 14px; + color: rgb(31, 40, 61); + background-color: #fff; + background-image: none; + border: 1px solid rgb(191, 199, 217); + border-radius: 4px; + transition: border-color .2s cubic-bezier(.645,.045,.355,1); +} + +.custom-theme .el-textarea__inner::-webkit-input-placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-textarea__inner:-ms-input-placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-textarea__inner::placeholder { + color: rgb(151, 161, 190); +} + +.custom-theme .el-textarea__inner:hover { + border-color: rgb(131, 139, 165); +} + +.custom-theme .el-textarea__inner:focus { + outline: none; + border-color: #073069; +} + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-cascader { + display: inline-block; + position: relative; + background-color: #fff; +} + +.custom-theme .el-cascader .el-input, +.custom-theme .el-cascader .el-input__inner { + cursor: pointer; + background-color: transparent; + z-index: 1; +} + +.custom-theme .el-cascader .el-input__icon { + transition: none; +} + +.custom-theme .el-cascader .el-icon-caret-bottom { + transition: transform .3s; +} + +.custom-theme .el-cascader .el-icon-caret-bottom.is-reverse { + transform: rotateZ(180deg); +} + +.custom-theme .el-cascader.is-disabled .el-cascader__label { + z-index: 2; + color: #bbb; +} + +.custom-theme .el-cascader__label { + position: absolute; + left: 0; + top: 0; + height: 100%; + line-height: 34px; + padding: 0 25px 0 10px; + color: rgb(31, 40, 61); + width: 100%; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; + box-sizing: border-box; + cursor: pointer; + font-size: 14px; + text-align: left; +} + +.custom-theme .el-cascader__label span { + color: rgb(151, 161, 190); +} + +.custom-theme .el-cascader--large { + font-size: 16px; +} + +.custom-theme .el-cascader--large .el-cascader__label { + line-height: 40px; +} + +.custom-theme .el-cascader--small { + font-size: 13px; +} + +.custom-theme .el-cascader--small .el-cascader__label { + line-height: 28px; +} + +.custom-theme .el-cascader-menus { + white-space: nowrap; + background: #fff; + position: absolute; + margin: 5px 0; + z-index: 2; + border: solid 1px rgb(209, 215, 229); + border-radius: 2px; + box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04); +} + +.custom-theme .el-cascader-menu { + display: inline-block; + vertical-align: top; + height: 204px; + overflow: auto; + border-right: solid 1px rgb(209, 215, 229); + background-color: #fff; + box-sizing: border-box; + margin: 0; + padding: 6px 0; + min-width: 160px; +} + +.custom-theme .el-cascader-menu:last-child { + border-right: 0; +} + +.custom-theme .el-cascader-menu__item { + font-size: 14px; + padding: 8px 30px 8px 10px; + position: relative; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + color: rgb(72, 81, 106); + height: 36px; + line-height: 1.5; + box-sizing: border-box; + cursor: pointer; +} + +.custom-theme .el-cascader-menu__item:hover { + background-color: rgb(228, 230, 241); +} + +.custom-theme .el-cascader-menu__item.selected { + color: #fff; + background-color: #073069; +} + +.custom-theme .el-cascader-menu__item.selected.hover { + background-color: rgb(6, 42, 92); +} + +.custom-theme .el-cascader-menu__item.is-active { + color: #fff; + background-color: #073069; +} + +.custom-theme .el-cascader-menu__item.is-active:hover { + background-color: rgb(6, 42, 92); +} + +.custom-theme .el-cascader-menu__item.is-disabled { + color: rgb(191, 199, 217); + background-color: #fff; + cursor: not-allowed; +} + +.custom-theme .el-cascader-menu__item.is-disabled:hover { + background-color: #fff; +} + +.custom-theme .el-cascader-menu__item__keyword { + font-weight: 700; +} + + + +.custom-theme .el-cascader-menu__item--extensible:after { + font-family: 'element-icons'; + content: "\e606"; + font-size: 12px; + transform: scale(0.8); + color: rgb(191, 203, 217); + position: absolute; + right: 10px; + margin-top: 1px; +} + +.custom-theme .el-cascader-menu--flexible { + height: auto; + max-height: 180px; + overflow: auto; +} + +.custom-theme .el-cascader-menu--flexible .el-cascader-menu__item { + overflow: visible; +} + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} + +.custom-theme .el-color-hue-slider { + position: relative; + box-sizing: border-box; + width: 280px; + height: 12px; + background-color: #f00; + padding: 0 2px; +} + +.custom-theme .el-color-hue-slider.is-vertical { + width: 12px; + height: 180px; + padding: 2px 0; +} + +.custom-theme .el-color-hue-slider.is-vertical .el-color-hue-slider__bar { + background: linear-gradient( + to bottom, #f00 0%, + #ff0 17%, #0f0 33%, + #0ff 50%, #00f 67%, + #f0f 83%, #f00 100%); +} + +.custom-theme .el-color-hue-slider.is-vertical .el-color-hue-slider__thumb { + left: 0; + top: 0; + width: 100%; + height: 4px; +} + +.custom-theme .el-color-hue-slider__bar { + position: relative; + background: linear-gradient( + to right, #f00 0%, + #ff0 17%, #0f0 33%, + #0ff 50%, #00f 67%, + #f0f 83%, #f00 100%); + height: 100%; +} + +.custom-theme .el-color-hue-slider__thumb { + position: absolute; + cursor: pointer; + box-sizing: border-box; + left: 0; + top: 0; + width: 4px; + height: 100%; + border-radius: 1px; + background: #fff; + border: 1px solid #f0f0f0; + box-shadow: 0 0 2px rgba(0, 0, 0, 0.6); + z-index: 1; +} + +.custom-theme .el-color-svpanel { + position: relative; + width: 280px; + height: 180px; +} + +.custom-theme .el-color-svpanel__white, +.custom-theme .el-color-svpanel__black { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; +} + +.custom-theme .el-color-svpanel__white { + background: linear-gradient(to right, #fff, rgba(255,255,255,0)); +} + +.custom-theme .el-color-svpanel__black { + background: linear-gradient(to top, #000, rgba(0,0,0,0)); +} + +.custom-theme .el-color-svpanel__cursor { + position: absolute; +} + +.custom-theme .el-color-svpanel__cursor > div { + cursor: head; + width: 4px; + height: 4px; + box-shadow: 0 0 0 1.5px #fff, inset 0 0 1px 1px rgba(0,0,0,0.3), 0 0 1px 2px rgba(0,0,0,0.4); + border-radius: 50%; + transform: translate(-2px, -2px); +} + +.custom-theme .el-color-alpha-slider { + position: relative; + box-sizing: border-box; + width: 280px; + height: 12px; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==); +} + +.custom-theme .el-color-alpha-slider.is-vertical { + width: 20px; + height: 180px; +} + +.custom-theme .el-color-alpha-slider.is-vertical .el-color-alpha-slider__bar { + background: linear-gradient( + to bottom, rgba(255, 255, 255, 0) 0%, + rgba(255, 255, 255, 1) 100%); +} + +.custom-theme .el-color-alpha-slider.is-vertical .el-color-alpha-slider__thumb { + left: 0; + top: 0; + width: 100%; + height: 4px; +} + +.custom-theme .el-color-alpha-slider__bar { + position: relative; + background: linear-gradient( + to right, rgba(255, 255, 255, 0) 0%, + rgba(255, 255, 255, 1) 100%); + height: 100%; +} + +.custom-theme .el-color-alpha-slider__thumb { + position: absolute; + cursor: pointer; + box-sizing: border-box; + left: 0; + top: 0; + width: 4px; + height: 100%; + border-radius: 1px; + background: #fff; + border: 1px solid #f0f0f0; + box-shadow: 0 0 2px rgba(0, 0, 0, 0.6); + z-index: 1; +} + +.custom-theme .el-color-dropdown { + width: 300px; +} + +.custom-theme .el-color-dropdown__main-wrapper { + margin-bottom: 6px; +} + +.custom-theme .el-color-dropdown__main-wrapper::after { + content: ""; + display: table; + clear: both; +} + +.custom-theme .el-color-dropdown__btns { + margin-top: 6px; + text-align: right; +} + +.custom-theme .el-color-dropdown__value { + float: left; + line-height: 26px; + font-size: 12px; + color: rgb(31, 40, 61); +} + +.custom-theme .el-color-dropdown__btn { + border: 1px solid #dcdcdc; + color: #333; + line-height: 24px; + border-radius: 2px; + padding: 0 20px; + cursor: pointer; + background-color: transparent; + outline: none; + font-size: 12px; +} + +.custom-theme .el-color-dropdown__btn[disabled] { + color: #cccccc; + cursor: not-allowed; +} + +.custom-theme .el-color-dropdown__btn:hover { + color: #073069; + border-color: #073069; +} + +.custom-theme .el-color-dropdown__link-btn { + cursor: pointer; + color: #073069; + text-decoration: none; + padding: 15px; + font-size: 12px; +} + +.custom-theme .el-color-dropdown__link-btn:hover { + color: rgb(57, 89, 135); +} + +.custom-theme .el-color-picker { + display: inline-block; + position: relative; +} + +.custom-theme .el-color-picker__trigger { + display: inline-block; + box-sizing: border-box; + height: 36px; + padding: 6px; + border: 1px solid #bfcbd9; + border-radius: 4px; + font-size: 0; +} + +.custom-theme .el-color-picker__color { + position: relative; + display: inline-block; + box-sizing: border-box; + vertical-align: middle; + border: 1px solid #666; + width: 22px; + height: 22px; + text-align: center; +} + +.custom-theme .el-color-picker__color.is-alpha { + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==); +} + +.custom-theme .el-color-picker__color-inner { + position: absolute; + left: 0; + top: 0; + right: 0; + bottom: 0; +} + +.custom-theme .el-color-picker__empty { + font-size: 12px; + vertical-align: middle; + margin-top: 4px; + color: #666; +} + +.custom-theme .el-color-picker__icon { + display: inline-block; + position: relative; + vertical-align: middle; + margin-left: 8px; + width: 12px; + color: #888; + font-size: 12px; +} + +.custom-theme .el-color-picker__panel { + position: absolute; + z-index: 10; + padding: 6px; + background-color: #fff; + border: 1px solid rgb(209, 215, 229); + box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .12); +} + +.custom-theme :root { + /* Transition + -------------------------- */ + /* Colors + -------------------------- */ + /* Link + -------------------------- */ + /* Border + -------------------------- */ + /* Box-shadow + -------------------------- */ + /* Fill + -------------------------- */ + /* Font + -------------------------- */ + /* Size + -------------------------- */ + /* z-index + -------------------------- */ + /* Disable base + -------------------------- */ + /* Icon + -------------------------- */ + /* Checkbox + -------------------------- */ + /* Radio + -------------------------- */ + /* Select + -------------------------- */ + /* Alert + -------------------------- */ + /* Message Box + -------------------------- */ + /* Message + -------------------------- */ + /* Notification + -------------------------- */ + /* Input + -------------------------- */ + /* Cascader + -------------------------- */ + /* Group + -------------------------- */ + /* Tab + -------------------------- */ + /* Button + -------------------------- */ + /* cascader + -------------------------- */ + /* Switch + -------------------------- */ + /* Dialog + -------------------------- */ + /* Table + -------------------------- */ + /* Pagination + -------------------------- */ + /* Popover + -------------------------- */ + /* Tooltip + -------------------------- */ + /* Tag + -------------------------- */ + /* Dropdown + -------------------------- */ + /* Badge + -------------------------- */ + /* Card + --------------------------*/ + /* Slider + --------------------------*/ + /* Steps + --------------------------*/ + /* Menu + --------------------------*/ + /* Rate + --------------------------*/ + /* DatePicker + --------------------------*/ + /* Loading + --------------------------*/ + /* Scrollbar + --------------------------*/ + /* Carousel + --------------------------*/ + /* Collapse + --------------------------*/ +} \ No newline at end of file diff --git a/src/assets/iconfont/iconfont.js b/src/assets/iconfont/iconfont.js new file mode 100644 index 00000000..b3394628 --- /dev/null +++ b/src/assets/iconfont/iconfont.js @@ -0,0 +1,126 @@ +;(function(window) { + + var svgSprite = '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + var script = function() { + var scripts = document.getElementsByTagName('script') + return scripts[scripts.length - 1] + }() + var shouldInjectCss = script.getAttribute("data-injectcss") + + /** + * document ready + */ + var ready = function(fn) { + if (document.addEventListener) { + if (~["complete", "loaded", "interactive"].indexOf(document.readyState)) { + setTimeout(fn, 0) + } else { + var loadFn = function() { + document.removeEventListener("DOMContentLoaded", loadFn, false) + fn() + } + document.addEventListener("DOMContentLoaded", loadFn, false) + } + } else if (document.attachEvent) { + IEContentLoaded(window, fn) + } + + function IEContentLoaded(w, fn) { + var d = w.document, + done = false, + // only fire once + init = function() { + if (!done) { + done = true + fn() + } + } + // polling for no errors + var polling = function() { + try { + // throws errors until after ondocumentready + d.documentElement.doScroll('left') + } catch (e) { + setTimeout(polling, 50) + return + } + // no errors, fire + + init() + }; + + polling() + // trying to always fire before onload + d.onreadystatechange = function() { + if (d.readyState == 'complete') { + d.onreadystatechange = null + init() + } + } + } + } + + /** + * Insert el before target + * + * @param {Element} el + * @param {Element} target + */ + + var before = function(el, target) { + target.parentNode.insertBefore(el, target) + } + + /** + * Prepend el to target + * + * @param {Element} el + * @param {Element} target + */ + + var prepend = function(el, target) { + if (target.firstChild) { + before(el, target.firstChild) + } else { + target.appendChild(el) + } + } + + function appendSvg() { + var div, svg + + div = document.createElement('div') + div.innerHTML = svgSprite + svgSprite = null + svg = div.getElementsByTagName('svg')[0] + if (svg) { + svg.setAttribute('aria-hidden', 'true') + svg.style.position = 'absolute' + svg.style.width = 0 + svg.style.height = 0 + svg.style.overflow = 'hidden' + prepend(svg, document.body) + } + } + + if (shouldInjectCss && !window.__iconfont__svg__cssinject__) { + window.__iconfont__svg__cssinject__ = true + try { + document.write(""); + } catch (e) { + console && console.log(e) + } + } + + ready(appendSvg) + + +})(window) \ No newline at end of file diff --git a/src/components/Charts/barPercent.vue b/src/components/Charts/barPercent.vue new file mode 100644 index 00000000..bdc01874 --- /dev/null +++ b/src/components/Charts/barPercent.vue @@ -0,0 +1,103 @@ + + diff --git a/src/components/Charts/keyboard.vue b/src/components/Charts/keyboard.vue new file mode 100644 index 00000000..2266a546 --- /dev/null +++ b/src/components/Charts/keyboard.vue @@ -0,0 +1,113 @@ + + diff --git a/src/components/Charts/line.vue b/src/components/Charts/line.vue new file mode 100644 index 00000000..28b22a11 --- /dev/null +++ b/src/components/Charts/line.vue @@ -0,0 +1,145 @@ + + diff --git a/src/components/Dropzone/index.vue b/src/components/Dropzone/index.vue new file mode 100644 index 00000000..977f5a2d --- /dev/null +++ b/src/components/Dropzone/index.vue @@ -0,0 +1,291 @@ + + + + diff --git a/src/components/ErrLog/index.vue b/src/components/ErrLog/index.vue new file mode 100644 index 00000000..8d531b9e --- /dev/null +++ b/src/components/ErrLog/index.vue @@ -0,0 +1,43 @@ + + + diff --git a/src/components/Hamburger/index.vue b/src/components/Hamburger/index.vue new file mode 100644 index 00000000..5361dd51 --- /dev/null +++ b/src/components/Hamburger/index.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/components/Icon-svg/index.js b/src/components/Icon-svg/index.js new file mode 100644 index 00000000..55d342a9 --- /dev/null +++ b/src/components/Icon-svg/index.js @@ -0,0 +1,11 @@ +import Vue from 'vue' + +function registerAllComponents(requireContext) { + return requireContext.keys().forEach(comp => { + const vueComp = requireContext(comp) + const compName = vueComp.name ? vueComp.name.toLowerCase() : /\/([\w-]+)\.vue$/.exec(comp)[1] + Vue.component(compName, vueComp) + }) +} + +registerAllComponents(require.context('./', false, /\.vue$/)) diff --git a/src/components/Icon-svg/wscn-icon-stack.vue b/src/components/Icon-svg/wscn-icon-stack.vue new file mode 100644 index 00000000..bf7b07e1 --- /dev/null +++ b/src/components/Icon-svg/wscn-icon-stack.vue @@ -0,0 +1,52 @@ + + + + + diff --git a/src/components/Icon-svg/wscn-icon-svg.vue b/src/components/Icon-svg/wscn-icon-svg.vue new file mode 100644 index 00000000..04b01f4a --- /dev/null +++ b/src/components/Icon-svg/wscn-icon-svg.vue @@ -0,0 +1,26 @@ + + + + + diff --git a/src/components/ImageCropper/index.vue b/src/components/ImageCropper/index.vue new file mode 100644 index 00000000..d0e94ab2 --- /dev/null +++ b/src/components/ImageCropper/index.vue @@ -0,0 +1,676 @@ + + + + + diff --git a/src/components/ImageCropper/lang.js b/src/components/ImageCropper/lang.js new file mode 100644 index 00000000..f2fa9210 --- /dev/null +++ b/src/components/ImageCropper/lang.js @@ -0,0 +1,41 @@ +const langBag = { + zh: { + hint: '点击,或拖动图片至此处', + loading: '正在上传……', + noSupported: '浏览器不支持该功能,请使用IE10以上或其他现在浏览器!', + success: '上传成功', + fail: '图片上传失败', + preview: '头像预览', + btn: { + off: '取消', + close: '关闭', + back: '上一步', + save: '保存' + }, + error: { + onlyImg: '仅限图片格式', + outOfSize: '单文件大小不能超过 ', + lowestPx: '图片最低像素为(宽*高):' + } + }, + en: { + hint: 'Click, or drag the file here', + loading: 'Uploading……', + noSupported: 'Browser does not support, please use IE10+ or other browsers', + success: 'Upload success', + fail: 'Upload failed', + preview: 'Preview', + btn: { + off: 'Cancel', + close: 'Close', + back: 'Back', + save: 'Save' + }, + error: { + onlyImg: 'Image only', + outOfSize: 'Image exceeds size limit: ', + lowestPx: 'The lowest pixel in the image: ' + } + } +}; +export default langBag; diff --git a/src/components/ImageCropper/upload.css b/src/components/ImageCropper/upload.css new file mode 100644 index 00000000..d01dc40c --- /dev/null +++ b/src/components/ImageCropper/upload.css @@ -0,0 +1,691 @@ +@charset "UTF-8"; +@-webkit-keyframes vicp_progress { + 0% { + background-position-y: 0; + } + 100% { + background-position-y: 40px; + } +} + +@keyframes vicp_progress { + 0% { + background-position-y: 0; + } + 100% { + background-position-y: 40px; + } +} + +@-webkit-keyframes vicp { + 0% { + opacity: 0; + -webkit-transform: scale(0) translatey(-60px); + transform: scale(0) translatey(-60px); + } + 100% { + opacity: 1; + -webkit-transform: scale(1) translatey(0); + transform: scale(1) translatey(0); + } +} + +@keyframes vicp { + 0% { + opacity: 0; + -webkit-transform: scale(0) translatey(-60px); + transform: scale(0) translatey(-60px); + } + 100% { + opacity: 1; + -webkit-transform: scale(1) translatey(0); + transform: scale(1) translatey(0); + } +} + +.vue-image-crop-upload { + position: fixed; + display: block; + -webkit-box-sizing: border-box; + box-sizing: border-box; + z-index: 10000; + top: 0; + bottom: 0; + left: 0; + right: 0; + width: 100%; + height: 100%; + background-color: rgba(0, 0, 0, 0.65); + -webkit-tap-highlight-color: transparent; + -moz-tap-highlight-color: transparent; +} + +.vue-image-crop-upload .vicp-wrap { + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.23); + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.23); + position: fixed; + display: block; + -webkit-box-sizing: border-box; + box-sizing: border-box; + z-index: 10000; + top: 0; + bottom: 0; + left: 0; + right: 0; + margin: auto; + width: 600px; + height: 330px; + padding: 25px; + background-color: #fff; + border-radius: 2px; + -webkit-animation: vicp 0.12s ease-in; + animation: vicp 0.12s ease-in; +} + +.vue-image-crop-upload .vicp-wrap .vicp-close { + position: absolute; + right: -30px; + top: -30px; +} + +.vue-image-crop-upload .vicp-wrap .vicp-close .vicp-icon4 { + position: relative; + display: block; + width: 30px; + height: 30px; + cursor: pointer; + -webkit-transition: -webkit-transform 0.18s; + transition: -webkit-transform 0.18s; + transition: transform 0.18s; + transition: transform 0.18s, -webkit-transform 0.18s; + -webkit-transform: rotate(0); + -ms-transform: rotate(0); + transform: rotate(0); +} + +.vue-image-crop-upload .vicp-wrap .vicp-close .vicp-icon4::after, .vue-image-crop-upload .vicp-wrap .vicp-close .vicp-icon4::before { + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.23); + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.23); + content: ''; + position: absolute; + top: 12px; + left: 4px; + width: 20px; + height: 3px; + -webkit-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); + background-color: #fff; +} + +.vue-image-crop-upload .vicp-wrap .vicp-close .vicp-icon4::after { + -webkit-transform: rotate(-45deg); + -ms-transform: rotate(-45deg); + transform: rotate(-45deg); +} + +.vue-image-crop-upload .vicp-wrap .vicp-close .vicp-icon4:hover { + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); +} + +.vue-image-crop-upload .vicp-wrap .vicp-step1 .vicp-drop-area { + position: relative; + padding: 35px; + height: 200px; + background-color: rgba(0, 0, 0, 0.03); + text-align: center; + border: 1px dashed rgba(0, 0, 0, 0.08); + overflow: hidden; +} + +.vue-image-crop-upload .vicp-wrap .vicp-step1 .vicp-drop-area .vicp-icon1 { + display: block; + margin: 0 auto 6px; + width: 42px; + height: 42px; + overflow: hidden; +} + +.vue-image-crop-upload .vicp-wrap .vicp-step1 .vicp-drop-area .vicp-icon1 .vicp-icon1-arrow { + display: block; + margin: 0 auto; + width: 0; + height: 0; + border-bottom: 14.7px solid rgba(0, 0, 0, 0.3); + border-left: 14.7px solid transparent; + border-right: 14.7px solid transparent; +} + +.vue-image-crop-upload .vicp-wrap .vicp-step1 .vicp-drop-area .vicp-icon1 .vicp-icon1-body { + display: block; + width: 12.6px; + height: 14.7px; + margin: 0 auto; + background-color: rgba(0, 0, 0, 0.3); +} + +.vue-image-crop-upload .vicp-wrap .vicp-step1 .vicp-drop-area .vicp-icon1 .vicp-icon1-bottom { + -webkit-box-sizing: border-box; + box-sizing: border-box; + display: block; + height: 12.6px; + border: 6px solid rgba(0, 0, 0, 0.3); + border-top: none; +} + +.vue-image-crop-upload .vicp-wrap .vicp-step1 .vicp-drop-area .vicp-hint { + display: block; + padding: 15px; + font-size: 14px; + color: #666; + line-height: 30px; +} + +.vue-image-crop-upload .vicp-wrap .vicp-step1 .vicp-drop-area .vicp-no-supported-hint { + display: block; + position: absolute; + top: 0; + left: 0; + padding: 30px; + width: 100%; + height: 60px; + line-height: 30px; + background-color: #eee; + text-align: center; + color: #666; + font-size: 14px; +} + +.vue-image-crop-upload .vicp-wrap .vicp-step1 .vicp-drop-area:hover { + cursor: pointer; + border-color: rgba(0, 0, 0, 0.1); + background-color: rgba(0, 0, 0, 0.05); +} + +.vue-image-crop-upload .vicp-wrap .vicp-step2 .vicp-crop { + overflow: hidden; +} + +.vue-image-crop-upload .vicp-wrap .vicp-step2 .vicp-crop .vicp-crop-left { + float: left; +} + +.vue-image-crop-upload .vicp-wrap .vicp-step2 .vicp-crop .vicp-crop-left .vicp-img-container { + position: relative; + display: block; + width: 240px; + height: 180px; + background-color: #e5e5e0; + overflow: hidden; +} + +.vue-image-crop-upload .vicp-wrap .vicp-step2 .vicp-crop .vicp-crop-left .vicp-img-container .vicp-img { + position: absolute; + display: block; + cursor: move; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.vue-image-crop-upload .vicp-wrap .vicp-step2 .vicp-crop .vicp-crop-left .vicp-img-container .vicp-img-shade { + -webkit-box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.18); + box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.18); + position: absolute; + background-color: rgba(241, 242, 243, 0.8); +} + +.vue-image-crop-upload .vicp-wrap .vicp-step2 .vicp-crop .vicp-crop-left .vicp-img-container .vicp-img-shade.vicp-img-shade-1 { + top: 0; + left: 0; +} + +.vue-image-crop-upload .vicp-wrap .vicp-step2 .vicp-crop .vicp-crop-left .vicp-img-container .vicp-img-shade.vicp-img-shade-2 { + bottom: 0; + right: 0; +} + +.vue-image-crop-upload .vicp-wrap .vicp-step2 .vicp-crop .vicp-crop-left .vicp-range { + position: relative; + margin: 30px 0; + width: 240px; + height: 18px; +} + +.vue-image-crop-upload .vicp-wrap .vicp-step2 .vicp-crop .vicp-crop-left .vicp-range .vicp-icon5, +.vue-image-crop-upload .vicp-wrap .vicp-step2 .vicp-crop .vicp-crop-left .vicp-range .vicp-icon6 { + position: absolute; + top: 0; + width: 18px; + height: 18px; + border-radius: 100%; + background-color: rgba(0, 0, 0, 0.08); +} + +.vue-image-crop-upload .vicp-wrap .vicp-step2 .vicp-crop .vicp-crop-left .vicp-range .vicp-icon5:hover, +.vue-image-crop-upload .vicp-wrap .vicp-step2 .vicp-crop .vicp-crop-left .vicp-range .vicp-icon6:hover { + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.12); + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.12); + cursor: pointer; + background-color: rgba(0, 0, 0, 0.14); +} + +.vue-image-crop-upload .vicp-wrap .vicp-step2 .vicp-crop .vicp-crop-left .vicp-range .vicp-icon5 { + left: 0; +} + +.vue-image-crop-upload .vicp-wrap .vicp-step2 .vicp-crop .vicp-crop-left .vicp-range .vicp-icon5::before { + position: absolute; + content: ''; + display: block; + left: 3px; + top: 8px; + width: 12px; + height: 2px; + background-color: #fff; +} + +.vue-image-crop-upload .vicp-wrap .vicp-step2 .vicp-crop .vicp-crop-left .vicp-range .vicp-icon6 { + right: 0; +} + +.vue-image-crop-upload .vicp-wrap .vicp-step2 .vicp-crop .vicp-crop-left .vicp-range .vicp-icon6::before { + position: absolute; + content: ''; + display: block; + left: 3px; + top: 8px; + width: 12px; + height: 2px; + background-color: #fff; +} + +.vue-image-crop-upload .vicp-wrap .vicp-step2 .vicp-crop .vicp-crop-left .vicp-range .vicp-icon6::after { + position: absolute; + content: ''; + display: block; + top: 3px; + left: 8px; + width: 2px; + height: 12px; + background-color: #fff; +} + +.vue-image-crop-upload .vicp-wrap .vicp-step2 .vicp-crop .vicp-crop-left .vicp-range input[type=range] { + display: block; + padding-top: 5px; + margin: 0 auto; + width: 180px; + height: 8px; + vertical-align: top; + background: transparent; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + cursor: pointer; + /* 滑块 + ---------------------------------------------------------------*/ + /* 轨道 + ---------------------------------------------------------------*/ +} + +.vue-image-crop-upload .vicp-wrap .vicp-step2 .vicp-crop .vicp-crop-left .vicp-range input[type=range]:focus { + outline: none; +} + +.vue-image-crop-upload .vicp-wrap .vicp-step2 .vicp-crop .vicp-crop-left .vicp-range input[type=range]::-webkit-slider-thumb { + -webkit-box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.18); + box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.18); + -webkit-appearance: none; + appearance: none; + margin-top: -3px; + width: 12px; + height: 12px; + background-color: #61c091; + border-radius: 100%; + border: none; + -webkit-transition: 0.2s; + transition: 0.2s; +} + +.vue-image-crop-upload .vicp-wrap .vicp-step2 .vicp-crop .vicp-crop-left .vicp-range input[type=range]::-moz-range-thumb { + box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.18); + -moz-appearance: none; + appearance: none; + width: 12px; + height: 12px; + background-color: #61c091; + border-radius: 100%; + border: none; + -webkit-transition: 0.2s; + transition: 0.2s; +} + +.vue-image-crop-upload .vicp-wrap .vicp-step2 .vicp-crop .vicp-crop-left .vicp-range input[type=range]::-ms-thumb { + box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.18); + appearance: none; + width: 12px; + height: 12px; + background-color: #61c091; + border: none; + border-radius: 100%; + -webkit-transition: 0.2s; + transition: 0.2s; +} + +.vue-image-crop-upload .vicp-wrap .vicp-step2 .vicp-crop .vicp-crop-left .vicp-range input[type=range]:active::-moz-range-thumb { + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.23); + width: 14px; + height: 14px; +} + +.vue-image-crop-upload .vicp-wrap .vicp-step2 .vicp-crop .vicp-crop-left .vicp-range input[type=range]:active::-ms-thumb { + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.23); + width: 14px; + height: 14px; +} + +.vue-image-crop-upload .vicp-wrap .vicp-step2 .vicp-crop .vicp-crop-left .vicp-range input[type=range]:active::-webkit-slider-thumb { + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.23); + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.23); + margin-top: -4px; + width: 14px; + height: 14px; +} + +.vue-image-crop-upload .vicp-wrap .vicp-step2 .vicp-crop .vicp-crop-left .vicp-range input[type=range]::-webkit-slider-runnable-track { + -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.12); + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.12); + width: 100%; + height: 6px; + cursor: pointer; + border-radius: 2px; + border: none; + background-color: rgba(68, 170, 119, 0.3); +} + +.vue-image-crop-upload .vicp-wrap .vicp-step2 .vicp-crop .vicp-crop-left .vicp-range input[type=range]::-moz-range-track { + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.12); + width: 100%; + height: 6px; + cursor: pointer; + border-radius: 2px; + border: none; + background-color: rgba(68, 170, 119, 0.3); +} + +.vue-image-crop-upload .vicp-wrap .vicp-step2 .vicp-crop .vicp-crop-left .vicp-range input[type=range]::-ms-track { + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.12); + width: 100%; + cursor: pointer; + background: transparent; + border-color: transparent; + color: transparent; + height: 6px; + border-radius: 2px; + border: none; +} + +.vue-image-crop-upload .vicp-wrap .vicp-step2 .vicp-crop .vicp-crop-left .vicp-range input[type=range]::-ms-fill-lower { + background-color: rgba(68, 170, 119, 0.3); +} + +.vue-image-crop-upload .vicp-wrap .vicp-step2 .vicp-crop .vicp-crop-left .vicp-range input[type=range]::-ms-fill-upper { + background-color: rgba(68, 170, 119, 0.15); +} + +.vue-image-crop-upload .vicp-wrap .vicp-step2 .vicp-crop .vicp-crop-left .vicp-range input[type=range]:focus::-webkit-slider-runnable-track { + background-color: rgba(68, 170, 119, 0.5); +} + +.vue-image-crop-upload .vicp-wrap .vicp-step2 .vicp-crop .vicp-crop-left .vicp-range input[type=range]:focus::-moz-range-track { + background-color: rgba(68, 170, 119, 0.5); +} + +.vue-image-crop-upload .vicp-wrap .vicp-step2 .vicp-crop .vicp-crop-left .vicp-range input[type=range]:focus::-ms-fill-lower { + background-color: rgba(68, 170, 119, 0.45); +} + +.vue-image-crop-upload .vicp-wrap .vicp-step2 .vicp-crop .vicp-crop-left .vicp-range input[type=range]:focus::-ms-fill-upper { + background-color: rgba(68, 170, 119, 0.25); +} + +.vue-image-crop-upload .vicp-wrap .vicp-step2 .vicp-crop .vicp-crop-right { + float: right; +} + +.vue-image-crop-upload .vicp-wrap .vicp-step2 .vicp-crop .vicp-crop-right .vicp-preview { + height: 150px; + overflow: hidden; +} + +.vue-image-crop-upload .vicp-wrap .vicp-step2 .vicp-crop .vicp-crop-right .vicp-preview .vicp-preview-item { + position: relative; + padding: 5px; + width: 100px; + height: 100px; + float: left; + margin-right: 16px; +} + +.vue-image-crop-upload .vicp-wrap .vicp-step2 .vicp-crop .vicp-crop-right .vicp-preview .vicp-preview-item span { + position: absolute; + bottom: -30px; + width: 100%; + font-size: 14px; + color: #bbb; + display: block; + text-align: center; +} + +.vue-image-crop-upload .vicp-wrap .vicp-step2 .vicp-crop .vicp-crop-right .vicp-preview .vicp-preview-item img { + position: absolute; + display: block; + top: 0; + bottom: 0; + left: 0; + right: 0; + margin: auto; + padding: 3px; + background-color: #fff; + border: 1px solid rgba(0, 0, 0, 0.15); + overflow: hidden; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.vue-image-crop-upload .vicp-wrap .vicp-step2 .vicp-crop .vicp-crop-right .vicp-preview .vicp-preview-item:last-child { + margin-right: 0; +} + +.vue-image-crop-upload .vicp-wrap .vicp-step2 .vicp-crop .vicp-crop-right .vicp-preview .vicp-preview-item:last-child img { + border-radius: 100%; +} + +.vue-image-crop-upload .vicp-wrap .vicp-step3 .vicp-upload { + position: relative; + padding: 35px; + height: 200px; + background-color: rgba(0, 0, 0, 0.03); + text-align: center; + border: 1px dashed #ddd; +} + +.vue-image-crop-upload .vicp-wrap .vicp-step3 .vicp-upload .vicp-loading { + display: block; + padding: 15px; + font-size: 16px; + color: #999; + line-height: 30px; +} + +.vue-image-crop-upload .vicp-wrap .vicp-step3 .vicp-upload .vicp-progress-wrap { + margin-top: 12px; + background-color: rgba(0, 0, 0, 0.08); + border-radius: 3px; +} + +.vue-image-crop-upload .vicp-wrap .vicp-step3 .vicp-upload .vicp-progress-wrap .vicp-progress { + position: relative; + display: block; + height: 5px; + border-radius: 3px; + background-color: #4a7; + -webkit-box-shadow: 0 2px 6px 0 rgba(68, 170, 119, 0.3); + box-shadow: 0 2px 6px 0 rgba(68, 170, 119, 0.3); + -webkit-transition: width 0.15s linear; + transition: width 0.15s linear; + background-image: -webkit-linear-gradient(135deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent); + background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent); + background-size: 40px 40px; + -webkit-animation: vicp_progress 0.5s linear infinite; + animation: vicp_progress 0.5s linear infinite; +} + +.vue-image-crop-upload .vicp-wrap .vicp-step3 .vicp-upload .vicp-progress-wrap .vicp-progress::after { + content: ''; + position: absolute; + display: block; + top: -3px; + right: -3px; + width: 9px; + height: 9px; + border: 1px solid rgba(245, 246, 247, 0.7); + -webkit-box-shadow: 0 1px 4px 0 rgba(68, 170, 119, 0.7); + box-shadow: 0 1px 4px 0 rgba(68, 170, 119, 0.7); + border-radius: 100%; + background-color: #4a7; +} + +.vue-image-crop-upload .vicp-wrap .vicp-step3 .vicp-upload .vicp-error, +.vue-image-crop-upload .vicp-wrap .vicp-step3 .vicp-upload .vicp-success { + height: 100px; + line-height: 100px; +} + +.vue-image-crop-upload .vicp-wrap .vicp-operate { + position: absolute; + right: 20px; + bottom: 20px; +} + +.vue-image-crop-upload .vicp-wrap .vicp-operate a { + position: relative; + float: left; + display: block; + margin-left: 10px; + width: 100px; + height: 36px; + line-height: 36px; + text-align: center; + cursor: pointer; + font-size: 14px; + color: #4a7; + border-radius: 2px; + overflow: hidden; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.vue-image-crop-upload .vicp-wrap .vicp-operate a:hover { + background-color: rgba(0, 0, 0, 0.03); +} + +.vue-image-crop-upload .vicp-wrap .vicp-error, +.vue-image-crop-upload .vicp-wrap .vicp-success { + display: block; + font-size: 14px; + line-height: 24px; + height: 24px; + color: #d10; + text-align: center; + vertical-align: top; +} + +.vue-image-crop-upload .vicp-wrap .vicp-success { + color: #4a7; +} + +.vue-image-crop-upload .vicp-wrap .vicp-icon3 { + position: relative; + display: inline-block; + width: 20px; + height: 20px; + top: 4px; +} + +.vue-image-crop-upload .vicp-wrap .vicp-icon3::after { + position: absolute; + top: 3px; + left: 6px; + width: 6px; + height: 10px; + border-width: 0 2px 2px 0; + border-color: #4a7; + border-style: solid; + -webkit-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); + content: ''; +} + +.vue-image-crop-upload .vicp-wrap .vicp-icon2 { + position: relative; + display: inline-block; + width: 20px; + height: 20px; + top: 4px; +} + +.vue-image-crop-upload .vicp-wrap .vicp-icon2::after, .vue-image-crop-upload .vicp-wrap .vicp-icon2::before { + content: ''; + position: absolute; + top: 9px; + left: 4px; + width: 13px; + height: 2px; + background-color: #d10; + -webkit-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); +} + +.vue-image-crop-upload .vicp-wrap .vicp-icon2::after { + -webkit-transform: rotate(-45deg); + -ms-transform: rotate(-45deg); + transform: rotate(-45deg); +} + +.e-ripple { + position: absolute; + border-radius: 100%; + background-color: rgba(0, 0, 0, 0.15); + background-clip: padding-box; + pointer-events: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-transform: scale(0); + -ms-transform: scale(0); + transform: scale(0); + opacity: 1; +} + +.e-ripple.z-active { + opacity: 0; + -webkit-transform: scale(2); + -ms-transform: scale(2); + transform: scale(2); + -webkit-transition: opacity 1.2s ease-out, -webkit-transform 0.6s ease-out; + transition: opacity 1.2s ease-out, -webkit-transform 0.6s ease-out; + transition: opacity 1.2s ease-out, transform 0.6s ease-out; + transition: opacity 1.2s ease-out, transform 0.6s ease-out, -webkit-transform 0.6s ease-out; +} \ No newline at end of file diff --git a/src/components/ImageCropper/utils.js b/src/components/ImageCropper/utils.js new file mode 100644 index 00000000..0ccd3af0 --- /dev/null +++ b/src/components/ImageCropper/utils.js @@ -0,0 +1,58 @@ +/* eslint-disable */ + +/** + * + * @param e + * @param arg_opts + * @returns {boolean} + */ +export function effectRipple(e, arg_opts) { + let opts = Object.assign({ + ele: e.target, // 波纹作用元素 + type: 'hit', // hit点击位置扩散 center中心点扩展 + bgc: 'rgba(0, 0, 0, 0.15)' // 波纹颜色 + }, arg_opts), + target = opts.ele; + if (target) { + let rect = target.getBoundingClientRect(), + ripple = target.querySelector('.e-ripple'); + if (!ripple) { + ripple = document.createElement('span'); + ripple.className = 'e-ripple'; + ripple.style.height = ripple.style.width = Math.max(rect.width, rect.height) + 'px'; + target.appendChild(ripple); + } else { + ripple.className = 'e-ripple'; + } + switch (opts.type) { + case 'center': + ripple.style.top = (rect.height / 2 - ripple.offsetHeight / 2) + 'px'; + ripple.style.left = (rect.width / 2 - ripple.offsetWidth / 2) + 'px'; + break; + default: + ripple.style.top = (e.pageY - rect.top - ripple.offsetHeight / 2 - document.body.scrollTop) + 'px'; + ripple.style.left = (e.pageX - rect.left - ripple.offsetWidth / 2 - document.body.scrollLeft) + 'px'; + } + ripple.style.backgroundColor = opts.bgc; + ripple.className = 'e-ripple z-active'; + return false; + } +} +// database64文件格式转换为2进制 +/** + * + * @param data + * @param mime + * @returns {*} + */ +export function data2blob(data, mime) { + // dataURL 的格式为 “data:image/png;base64,****”,逗号之前都是一些说明性的文字,我们只需要逗号之后的就行了 + data = data.split(',')[1]; + data = window.atob(data); + var ia = new Uint8Array(data.length); + for (var i = 0; i < data.length; i++) { + ia[i] = data.charCodeAt(i); + } + // canvas.toDataURL 返回的默认格式就是 image/png + return new Blob([ia], {type: mime}); +}; diff --git a/src/components/MDinput/index.vue b/src/components/MDinput/index.vue new file mode 100644 index 00000000..277f2e20 --- /dev/null +++ b/src/components/MDinput/index.vue @@ -0,0 +1,407 @@ + + + + + diff --git a/src/components/MdEditor/index.vue b/src/components/MdEditor/index.vue new file mode 100644 index 00000000..493f8b5e --- /dev/null +++ b/src/components/MdEditor/index.vue @@ -0,0 +1,108 @@ + + + + + + + diff --git a/src/components/PanThumb/index.vue b/src/components/PanThumb/index.vue new file mode 100644 index 00000000..69a832be --- /dev/null +++ b/src/components/PanThumb/index.vue @@ -0,0 +1,145 @@ + + + + diff --git a/src/components/SplitPane/Pane.vue b/src/components/SplitPane/Pane.vue new file mode 100644 index 00000000..3e66659b --- /dev/null +++ b/src/components/SplitPane/Pane.vue @@ -0,0 +1,61 @@ + + + + + diff --git a/src/components/SplitPane/Resizer.vue b/src/components/SplitPane/Resizer.vue new file mode 100644 index 00000000..b3bdba04 --- /dev/null +++ b/src/components/SplitPane/Resizer.vue @@ -0,0 +1,75 @@ + + + diff --git a/src/components/SplitPane/SplitPane-backup.vue b/src/components/SplitPane/SplitPane-backup.vue new file mode 100644 index 00000000..8a4884d0 --- /dev/null +++ b/src/components/SplitPane/SplitPane-backup.vue @@ -0,0 +1,175 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/components/SplitPane/SplitPane.vue b/src/components/SplitPane/SplitPane.vue new file mode 100644 index 00000000..df73ed88 --- /dev/null +++ b/src/components/SplitPane/SplitPane.vue @@ -0,0 +1,117 @@ + + + + diff --git a/src/components/SplitPane/index.js b/src/components/SplitPane/index.js new file mode 100644 index 00000000..8e42e2bf --- /dev/null +++ b/src/components/SplitPane/index.js @@ -0,0 +1,7 @@ +import SplitPane from './a.vue'; +import Pane from './Pane.vue'; + +export { + SplitPane, + Pane +} diff --git a/src/components/Sticky/index.vue b/src/components/Sticky/index.vue new file mode 100644 index 00000000..a5bf2d5a --- /dev/null +++ b/src/components/Sticky/index.vue @@ -0,0 +1,73 @@ + + diff --git a/src/components/Tinymce/components/editorAudio.vue b/src/components/Tinymce/components/editorAudio.vue new file mode 100644 index 00000000..9e0799b1 --- /dev/null +++ b/src/components/Tinymce/components/editorAudio.vue @@ -0,0 +1,119 @@ + + + + diff --git a/src/components/Tinymce/components/editorImage.vue b/src/components/Tinymce/components/editorImage.vue new file mode 100644 index 00000000..f9eef654 --- /dev/null +++ b/src/components/Tinymce/components/editorImage.vue @@ -0,0 +1,85 @@ + + + + diff --git a/src/components/Tinymce/components/editorSlide.vue b/src/components/Tinymce/components/editorSlide.vue new file mode 100644 index 00000000..a528cae3 --- /dev/null +++ b/src/components/Tinymce/components/editorSlide.vue @@ -0,0 +1,82 @@ + + + + diff --git a/src/components/Tinymce/components/editorVideo.vue b/src/components/Tinymce/components/editorVideo.vue new file mode 100644 index 00000000..544f8fce --- /dev/null +++ b/src/components/Tinymce/components/editorVideo.vue @@ -0,0 +1,167 @@ + + + + diff --git a/src/components/Tinymce/index.vue b/src/components/Tinymce/index.vue new file mode 100644 index 00000000..3be1ea7d --- /dev/null +++ b/src/components/Tinymce/index.vue @@ -0,0 +1,251 @@ + + + + + diff --git a/src/components/Upload/singleImage.vue b/src/components/Upload/singleImage.vue new file mode 100644 index 00000000..0169b4f2 --- /dev/null +++ b/src/components/Upload/singleImage.vue @@ -0,0 +1,128 @@ + + + + diff --git a/src/components/Upload/singleImage2.vue b/src/components/Upload/singleImage2.vue new file mode 100644 index 00000000..3d3e11be --- /dev/null +++ b/src/components/Upload/singleImage2.vue @@ -0,0 +1,126 @@ + + + + diff --git a/src/components/Upload/singleImage3.vue b/src/components/Upload/singleImage3.vue new file mode 100644 index 00000000..7404accf --- /dev/null +++ b/src/components/Upload/singleImage3.vue @@ -0,0 +1,154 @@ + + + + diff --git a/src/components/jsonEditor/index.vue b/src/components/jsonEditor/index.vue new file mode 100644 index 00000000..c49d482f --- /dev/null +++ b/src/components/jsonEditor/index.vue @@ -0,0 +1,64 @@ + + + + + + diff --git a/src/components/twoDndList/index.vue b/src/components/twoDndList/index.vue new file mode 100644 index 00000000..6a24f6e9 --- /dev/null +++ b/src/components/twoDndList/index.vue @@ -0,0 +1,157 @@ + + + + + diff --git a/src/directive/sticky.js b/src/directive/sticky.js new file mode 100644 index 00000000..db0d28e0 --- /dev/null +++ b/src/directive/sticky.js @@ -0,0 +1,101 @@ +(function() { + const vueSticky = {}; + let listenAction; + vueSticky.install = Vue => { + Vue.directive('sticky', { + inserted(el, binding) { + const params = binding.value || {}, + stickyTop = params.stickyTop || 0, + zIndex = params.zIndex || 1000, + elStyle = el.style; + + elStyle.position = '-webkit-sticky'; + elStyle.position = 'sticky'; + + // if the browser support css sticky(Currently Safari, Firefox and Chrome Canary) + // if (~elStyle.position.indexOf('sticky')) { + // elStyle.top = `${stickyTop}px`; + // elStyle.zIndex = zIndex; + // return + // } + + const elHeight = el.getBoundingClientRect().height; + const elWidth = el.getBoundingClientRect().width; + elStyle.cssText = `top: ${stickyTop}px; z-index: ${zIndex}`; + + const parentElm = el.parentNode || document.documentElement; + const placeholder = document.createElement('div'); + placeholder.style.display = 'none'; + placeholder.style.width = `${elWidth}px`; + placeholder.style.height = `${elHeight}px`; + parentElm.insertBefore(placeholder, el) + + let active = false; + + const getScroll = (target, top) => { + const prop = top ? 'pageYOffset' : 'pageXOffset'; + const method = top ? 'scrollTop' : 'scrollLeft'; + let ret = target[prop]; + if (typeof ret !== 'number') { + ret = window.document.documentElement[method]; + } + return ret; + }; + + const sticky = () => { + if (active) { + return + } + if (!elStyle.height) { + elStyle.height = `${el.offsetHeight}px` + } + + elStyle.position = 'fixed'; + elStyle.width = `${elWidth}px`; + placeholder.style.display = 'inline-block'; + active = true + }; + + const reset = () => { + if (!active) { + return + } + + elStyle.position = ''; + placeholder.style.display = 'none'; + active = false; + }; + + const check = () => { + const scrollTop = getScroll(window, true); + const offsetTop = el.getBoundingClientRect().top; + if (offsetTop < stickyTop) { + sticky(); + } else { + if (scrollTop < elHeight + stickyTop) { + reset() + } + } + }; + listenAction = () => { + check() + }; + + window.addEventListener('scroll', listenAction) + }, + + unbind() { + window.removeEventListener('scroll', listenAction) + } + }) + }; + if (typeof exports == 'object') { + module.exports = vueSticky + } else if (typeof define == 'function' && define.amd) { + define([], () => vueSticky) + } else if (window.Vue) { + window.vueSticky = vueSticky; + Vue.use(vueSticky) + } +}()); + diff --git a/src/directive/waves.css b/src/directive/waves.css new file mode 100644 index 00000000..af7a7efd --- /dev/null +++ b/src/directive/waves.css @@ -0,0 +1,26 @@ +.waves-ripple { + position: absolute; + border-radius: 100%; + background-color: rgba(0, 0, 0, 0.15); + background-clip: padding-box; + pointer-events: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-transform: scale(0); + -ms-transform: scale(0); + transform: scale(0); + opacity: 1; +} + +.waves-ripple.z-active { + opacity: 0; + -webkit-transform: scale(2); + -ms-transform: scale(2); + transform: scale(2); + -webkit-transition: opacity 1.2s ease-out, -webkit-transform 0.6s ease-out; + transition: opacity 1.2s ease-out, -webkit-transform 0.6s ease-out; + transition: opacity 1.2s ease-out, transform 0.6s ease-out; + transition: opacity 1.2s ease-out, transform 0.6s ease-out, -webkit-transform 0.6s ease-out; +} \ No newline at end of file diff --git a/src/directive/waves.js b/src/directive/waves.js new file mode 100644 index 00000000..0f10bd81 --- /dev/null +++ b/src/directive/waves.js @@ -0,0 +1,54 @@ +import './waves.css'; +(function() { + const vueWaves = {}; + vueWaves.install = (Vue, options = {}) => { + Vue.directive('waves', { + bind(el, binding) { + el.addEventListener('click', e => { + const customOpts = Object.assign(options, binding.value); + const opts = Object.assign({ + ele: el, // 波纹作用元素 + type: 'hit', // hit点击位置扩散center中心点扩展 + color: 'rgba(0, 0, 0, 0.15)' // 波纹颜色 + }, customOpts), + target = opts.ele; + if (target) { + target.style.position = 'relative'; + target.style.overflow = 'hidden'; + const rect = target.getBoundingClientRect(); + let ripple = target.querySelector('.waves-ripple'); + if (!ripple) { + ripple = document.createElement('span'); + ripple.className = 'waves-ripple'; + ripple.style.height = ripple.style.width = Math.max(rect.width, rect.height) + 'px'; + target.appendChild(ripple); + } else { + ripple.className = 'waves-ripple'; + } + switch (opts.type) { + case 'center': + ripple.style.top = (rect.height / 2 - ripple.offsetHeight / 2) + 'px'; + ripple.style.left = (rect.width / 2 - ripple.offsetWidth / 2) + 'px'; + break; + default: + ripple.style.top = (e.pageY - rect.top - ripple.offsetHeight / 2 - document.body.scrollTop) + 'px'; + ripple.style.left = (e.pageX - rect.left - ripple.offsetWidth / 2 - document.body.scrollLeft) + 'px'; + } + ripple.style.backgroundColor = opts.color; + ripple.className = 'waves-ripple z-active'; + return false; + } + }, false); + } + }) + }; + if (typeof exports == 'object') { + module.exports = vueWaves + } else if (typeof define == 'function' && define.amd) { + define([], () => vueWaves) + } else if (window.Vue) { + window.vueWaves = vueWaves; + Vue.use(vueWaves) + } +}()); + diff --git a/src/filters/index.js b/src/filters/index.js new file mode 100644 index 00000000..36cb3e7c --- /dev/null +++ b/src/filters/index.js @@ -0,0 +1,108 @@ +function pluralize(time, label) { + if (time === 1) { + return time + label + } + return time + label + 's' +} +export function timeAgo(time) { + const between = Date.now() / 1000 - Number(time); + if (between < 3600) { + return pluralize(~~(between / 60), ' minute') + } else if (between < 86400) { + return pluralize(~~(between / 3600), ' hour') + } else { + return pluralize(~~(between / 86400), ' day') + } +} + +export function parseTime(time, cFormat) { + if (arguments.length === 0) { + return null; + } + + if ((time + '').length === 10) { + time = +time * 1000 + } + + + const format = cFormat || '{y}-{m}-{d} {h}:{i}:{s}'; + let date; + if (typeof time == 'object') { + date = time; + } else { + date = new Date(parseInt(time)); + } + const formatObj = { + y: date.getFullYear(), + m: date.getMonth() + 1, + d: date.getDate(), + h: date.getHours(), + i: date.getMinutes(), + s: date.getSeconds(), + a: date.getDay() + }; + const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => { + let value = formatObj[key]; + if (key === 'a') return ['一', '二', '三', '四', '五', '六', '日'][value - 1]; + if (result.length > 0 && value < 10) { + value = '0' + value; + } + return value || 0; + }); + return time_str; +} + +export function formatTime(time, option) { + time = +time * 1000; + const d = new Date(time); + const now = Date.now(); + + const diff = (now - d) / 1000; + + if (diff < 30) { + return '刚刚' + } else if (diff < 3600) { // less 1 hour + return Math.ceil(diff / 60) + '分钟前' + } else if (diff < 3600 * 24) { + return Math.ceil(diff / 3600) + '小时前' + } else if (diff < 3600 * 24 * 2) { + return '1天前' + } + if (option) { + return parseTime(time, option) + } else { + return d.getMonth() + 1 + '月' + d.getDate() + '日' + d.getHours() + '时' + d.getMinutes() + '分' + } +} + + + +/* 数字 格式化*/ +export function nFormatter(num, digits) { + const si = [ + { value: 1E18, symbol: 'E' }, + { value: 1E15, symbol: 'P' }, + { value: 1E12, symbol: 'T' }, + { value: 1E9, symbol: 'G' }, + { value: 1E6, symbol: 'M' }, + { value: 1E3, symbol: 'k' } + ]; + for (let i = 0; i < si.length; i++) { + if (num >= si[i].value) { + return (num / si[i].value + 0.1).toFixed(digits).replace(/\.0+$|(\.[0-9]*[1-9])0+$/, '$1') + si[i].symbol; + } + } + return num.toString(); +} + + +export function html2Text(val) { + const div = document.createElement('div'); + div.innerHTML = val; + return div.textContent || div.innerText; +} + + +export function toThousandslsFilter(num) { + return (+num || 0).toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,'); +} diff --git a/src/main.js b/src/main.js new file mode 100644 index 00000000..b47697f0 --- /dev/null +++ b/src/main.js @@ -0,0 +1,116 @@ +// The Vue build version to load with the `import` command +// (runtime-only or standalone) has been set in webpack.base.conf with an alias. +import Vue from 'vue'; +import App from './App'; +import router from './router'; +import store from './store'; +import ElementUI from 'element-ui'; +import 'element-ui/lib/theme-default/index.css'; +import 'assets/custom-theme/index.css'; // https://github.com/PanJiaChen/custom-element-theme +import NProgress from 'nprogress'; +import 'nprogress/nprogress.css'; +import 'normalize.css/normalize.css'; +import 'styles/index.scss'; +import 'components/Icon-svg/index'; +import 'assets/iconfont/iconfont'; +import * as filters from './filters'; +import Multiselect from 'vue-multiselect'; +import Sticky from 'components/Sticky'; +import 'vue-multiselect/dist/vue-multiselect.min.css'; +import vueWaves from './directive/waves'; +import vueSticky from './directive/sticky'; +import errLog from 'store/errLog'; +// import './styles/mixin.scss'; + +// register globally +Vue.component('multiselect', Multiselect); +Vue.component('Sticky', Sticky); +Vue.use(ElementUI); +Vue.use(vueWaves); +Vue.use(vueSticky); + + +// register global utility filters. +Object.keys(filters).forEach(key => { + Vue.filter(key, filters[key]) +}); + + +function hasPermission(roles, permissionRoles) { + if (roles.indexOf('admin') >= 0) return true; + return roles.some(role => permissionRoles.indexOf(role) >= 0) +} +// register global progress. +const whiteList = ['/login', '/authredirect', '/reset', '/sendpwd'];// 不重定向白名单 +router.beforeEach((to, from, next) => { + NProgress.start(); + if (store.getters.token) { + if (to.path === '/login') { + next({ path: '/' }); + } else { + console.log('a') + if (to.meta && to.meta.role) { + if (hasPermission(store.getters.roles, to.meta.role)) { + next(); + } else { + next('/401'); + } + } else { + next(); + } + } + } else { + if (whiteList.indexOf(to.path) !== -1) { + next() + } else { + next('/login') + } + } +}); + +router.afterEach(() => { + NProgress.done(); +}); + + +// 异步组件 +// Vue.component('async-Editor', function (resolve) { +// require(['components/Editor'], resolve) +// }); + +// window.onunhandledrejection = e => { +// console.log('unhandled', e.reason, e.promise); +// e.preventDefault() +// }; + +// 生产环境错误日志 +if (process.env === 'production') { + Vue.config.errorHandler = function(err, vm) { + console.log(err, window.location.href); + errLog.pushLog({ + err, + url: window.location.href, + vm + }) + }; +} + +// window.onerror = function (msg, url, lineNo, columnNo, error) { +// console.log('window') +// }; +// +// console.error = (function (origin) { +// return function (errorlog) { +// // handler();//基于业务的日志记录及数据报错 +// console.log('console'+errorlog) +// origin.call(console, errorlog); +// } +// })(console.error); + +new Vue({ + router, + store, + render: h => h(App) +}).$mount('#app'); + + diff --git a/src/mock/login.js b/src/mock/login.js new file mode 100644 index 00000000..3bd1c9e0 --- /dev/null +++ b/src/mock/login.js @@ -0,0 +1,25 @@ +const userMap = { + admin: { + role: ['admin'], + token: 'admin', + introduction: '我是超级管理员', + avatar: 'https://wdl.wallstreetcn.com/48a3e1e0-ea2c-4a4e-9928-247645e3428b', + name: '超级管理员小潘' + }, + editor: { + role: ['editor'], + token: 'editor', + introduction: '我是编辑', + avatar: 'https://wdl.wallstreetcn.com/48a3e1e0-ea2c-4a4e-9928-247645e3428b', + name: '普通编辑小张' + + }, + developer: { + role: ['develop'], + token: 'develop', + introduction: '我是开发', + avatar: 'https://wdl.wallstreetcn.com/48a3e1e0-ea2c-4a4e-9928-247645e3428b', + name: '工程师小王' + } +} +export default userMap diff --git a/src/router/index.js b/src/router/index.js new file mode 100644 index 00000000..0768f3c4 --- /dev/null +++ b/src/router/index.js @@ -0,0 +1,81 @@ +import Vue from 'vue'; +import Router from 'vue-router'; + +/* layout*/ +import Layout from '../views/layout/Layout'; + +// dashboard +// import dashboard from '../views/dashboard/index'; +const dashboard = resolve => require(['../views/dashboard/index'], resolve); +/* error*/ +const Err404 = resolve => require(['../views/error/404'], resolve); +const Err401 = resolve => require(['../views/error/401'], resolve); +/* login*/ +import Login from '../views/login/'; +import authRedirect from '../views/login/authredirect'; +import sendPWD from '../views/login/sendpwd'; +import reset from '../views/login/reset'; + +/* components*/ +const Tinymce = resolve => require(['../views/components/tinymce'], resolve); +const Markdown = resolve => require(['../views/components/markdown'], resolve); + +/* admin*/ +// const AdminCreateUser = resolve => require(['../views/admin/createUser'], resolve); +// const QuicklyCreateUser = resolve => require(['../views/admin/quicklycreate'], resolve); +// const UserProfile = resolve => require(['../views/admin/profile'], resolve); +// const UsersList = resolve => require(['../views/admin/usersList'], resolve); + + + + +Vue.use(Router); + +export default new Router({ + mode: 'history', + scrollBehavior: () => ({ y: 0 }), + routes: [ + { path: '/login', component: Login, hidden: true }, + { path: '/authredirect', component: authRedirect, hidden: true }, + { path: '/sendpwd', component: sendPWD, hidden: true }, + { path: '/reset', component: reset, hidden: true }, + { path: '/404', component: Err404, hidden: true }, + { path: '/401', component: Err401, hidden: true }, + { + path: '/', + component: Layout, + redirect: '/dashboard', + name: '首页', + hidden: true, + children: [ + { path: 'dashboard', component: dashboard } + ] + }, + { + path: '/admin', + component: Layout, + redirect: 'noredirect', + name: '组件', + icon: 'zujian', + children: [ + { path: 'tinymce', component: Tinymce, name: '富文本编辑器' }, + { path: 'markdown', component: Markdown, name: 'Markdown' } + + ] + }, + // { + // path: '/admin', + // component: Layout, + // redirect: 'noredirect', + // name: '后台管理', + // icon: 'geren1', + // children: [ + // { path: 'createuser', component: AdminCreateUser, name: '管理员', meta: { role: ['admin'] } }, + // { path: 'list', component: UsersList, name: '后台用户列表', meta: { role: ['super_editor', 'product', 'author_assistant'] } }, + // { path: 'qicklyCreate', component: QuicklyCreateUser, name: '一键创建账户', meta: { role: ['super_editor', 'gold_editor', 'weex_editor', 'wscn_editor', 'author_assistant', 'product'] } }, + // { path: 'profile', component: UserProfile, name: '个人' } + // ] + // }, + { path: '*', redirect: '/404', hidden: true } + ] +}); diff --git a/src/store/errLog.js b/src/store/errLog.js new file mode 100644 index 00000000..4401babc --- /dev/null +++ b/src/store/errLog.js @@ -0,0 +1,13 @@ +const errLog = { + state: { + errLog: [] + }, + pushLog(log) { + this.state.errLog.unshift(log) + }, + clearLog() { + this.state.errLog = []; + } +}; + +export default errLog; diff --git a/src/store/getters.js b/src/store/getters.js new file mode 100644 index 00000000..55acbc9c --- /dev/null +++ b/src/store/getters.js @@ -0,0 +1,15 @@ +const getters = { + sidebar: state => state.app.sidebar, + livenewsChannels: state => state.app.livenewsChannels, + token: state => state.user.token, + avatar: state => state.user.avatar, + name: state => state.user.name, + uid: state => state.user.uid, + email: state => state.user.email, + introduction: state => state.user.introduction, + auth_type: state => state.user.auth_type, + status: state => state.user.status, + roles: state => state.user.roles, + setting: state => state.user.setting +}; +export default getters diff --git a/src/store/index.js b/src/store/index.js new file mode 100644 index 00000000..d3121d07 --- /dev/null +++ b/src/store/index.js @@ -0,0 +1,17 @@ +import Vue from 'vue'; +import Vuex from 'vuex'; +import app from './modules/app'; +import user from './modules/user'; +import getters from './getters'; + +Vue.use(Vuex); + +const store = new Vuex.Store({ + modules: { + app, + user + }, + getters +}); + +export default store diff --git a/src/store/modules/app.js b/src/store/modules/app.js new file mode 100644 index 00000000..ae336fa8 --- /dev/null +++ b/src/store/modules/app.js @@ -0,0 +1,38 @@ +import Cookies from 'js-cookie'; + +const app = { + state: { + sidebar: { + opened: !+Cookies.get('sidebarStatus') + }, + theme: 'default', + livenewsChannels: Cookies.get('livenewsChannels') || '[]' + }, + mutations: { + TOGGLE_SIDEBAR: state => { + if (state.sidebar.opened) { + Cookies.set('sidebarStatus', 1); + } else { + Cookies.set('sidebarStatus', 0); + } + state.sidebar.opened = !state.sidebar.opened; + }, + SET_LIVENEWS_CHANNELS: (status, channels) => { + status.livenewsChannels = JSON.stringify(channels); + Cookies.set('livenewsChannels', JSON.stringify(channels)); + } + }, + actions: { + ToggleSideBar: ({ commit }) => { + commit('TOGGLE_SIDEBAR') + }, + setTheme: ({ commit }, theme) => { + commit('SET_THEME', theme) + }, + setlivenewsChannels: ({ commit }, channels) => { + commit('SET_LIVENEWS_CHANNELS', channels) + } + } +}; + +export default app; diff --git a/src/store/modules/user.js b/src/store/modules/user.js new file mode 100644 index 00000000..b3f51dee --- /dev/null +++ b/src/store/modules/user.js @@ -0,0 +1,129 @@ +// import { loginByEmail, loginByThirdparty } from 'api/login'; +// import { userInfo, userLogout } from 'api/adminUser'; +import Cookies from 'js-cookie'; +import userMap from 'mock/login'; + +const user = { + state: { + user: '', + status: '', + email: '', + code: '', + uid: undefined, + auth_type: '', + token: Cookies.get('X-Ivanka-Token'), + name: '', + avatar: '', + introduction: '', + roles: [], + setting: { + articlePlatform: [] + } + }, + + mutations: { + SET_AUTH_TYPE: (state, type) => { + state.auth_type = type; + }, + SET_CODE: (state, code) => { + state.code = code; + }, + SET_TOKEN: (state, token) => { + state.token = token; + }, + SET_UID: (state, uid) => { + state.uid = uid; + }, + SET_EMAIL: (state, email) => { + state.email = email; + }, + SET_INTRODUCTION: (state, introduction) => { + state.introduction = introduction; + }, + SET_SETTING: (state, setting) => { + state.setting = setting; + }, + SET_STATUS: (state, status) => { + state.status = status; + }, + SET_NAME: (state, name) => { + state.name = name; + }, + SET_AVATAR: (state, avatar) => { + state.avatar = avatar; + }, + SET_ROLES: (state, roles) => { + state.roles = roles; + }, + LOGIN_SUCCESS: () => { + console.log('login success') + }, + LOGOUT_USER: state => { + state.user = ''; + } + }, + + actions: { + // 邮箱登录 + LoginByEmail({ commit }, userInfo) { + return new Promise((resolve, reject) => { + const email = userInfo.email.split('@')[0]; + if (userMap[email]) { + commit('SET_ROLES', userMap[email].role); + commit('SET_TOKEN', userMap[email].token); + Cookies.set('X-Ivanka-Token', userMap[email].token); + resolve(); + } else { + reject('账号不正确'); + } + }); + }, + // 第三方验证登录 + LoginByThirdparty({ commit, state }, code) { + return new Promise((resolve, reject) => { + commit('SET_CODE', code); + loginByThirdparty(state.status, state.email, state.code, state.auth_type).then(response => { + commit('SET_TOKEN', response.data.token); + Cookies.set('X-Ivanka-Token', response.data.token); + resolve(); + }).catch(error => { + reject(error); + }); + }); + }, + // 获取用户信息 + GetInfo({ commit, state }) { + return new Promise(resolve => { + const token = state.token; + commit('SET_ROLES', userMap[token].role); + commit('SET_NAME', userMap[token].name); + commit('SET_AVATAR', userMap[token].avatar); + commit('SET_INTRODUCTION', userMap[token].introduction); + resolve(); + }); + }, + // 登出 + LogOut({ commit, state }) { + return new Promise((resolve, reject) => { + userLogout(state.token).then(() => { + commit('SET_TOKEN', ''); + Cookies.remove('X-Ivanka-Token'); + resolve(); + }).catch(error => { + reject(error); + }); + }); + }, + + // 前端 登出 + FedLogOut({ commit }) { + return new Promise(resolve => { + commit('SET_TOKEN', ''); + Cookies.remove('X-Ivanka-Token'); + resolve(); + }); + } + } +}; + +export default user; diff --git a/src/store/permission.js b/src/store/permission.js new file mode 100644 index 00000000..7e14b0d2 --- /dev/null +++ b/src/store/permission.js @@ -0,0 +1,39 @@ +const permission = { + state: { + permissionRoutes: [] + }, + init(data) { + const roles = data.roles; + const router = data.router; + const permissionRoutes = router.filter(v => { + if (roles.indexOf('admin') >= 0) return true; + if (this.hasPermission(roles, v)) { + if (v.children && v.children.length > 0) { + v.children = v.children.filter(child => { + if (this.hasPermission(roles, child)) { + return child + } + return false; + }); + return v + } else { + return v + } + } + return false; + }); + this.permissionRoutes = permissionRoutes; + }, + get() { + return this.permissionRoutes + }, + hasPermission(roles, route) { + if (route.meta && route.meta.role) { + return roles.some(role => route.meta.role.indexOf(role) >= 0) + } else { + return true + } + } +}; + +export default permission; diff --git a/src/styles/btn.scss b/src/styles/btn.scss new file mode 100644 index 00000000..edd2f318 --- /dev/null +++ b/src/styles/btn.scss @@ -0,0 +1,103 @@ +$blue:#324157; +$light-blue:#3A71A8; +$red:#C03639; +$pink: #E65D6E; +$green: #30B08F; +$tiffany: #4AB7BD; +$yellow:#FEC171; + +$panGreen: #30B08F; + +@mixin colorBtn($color) { + background: $color; + &:hover { + color: $color; + &:before, &:after { + background: $color; + } + } +} + + +.blue-btn { + @include colorBtn($blue) +} + +.light-blue-btn{ + @include colorBtn($light-blue) +} + + +.red-btn { + @include colorBtn($red) +} + +.pink-btn { + @include colorBtn($pink) +} + +.green-btn { + @include colorBtn($green) +} + + +.tiffany-btn { + @include colorBtn($tiffany) +} + + +.yellow-btn { + @include colorBtn($yellow) +} + +.pan-btn { + font-size: 14px; + color: #fff; + padding: 14px 36px; + border-radius: 8px; + border: none; + outline: none; + margin-right: 25px; + transition: 600ms ease all; + position: relative; + display: inline-block; + &:hover { + background: #fff; + &:before, &:after { + width: 100%; + transition: 600ms ease all; + } + } + &:before, &:after { + content: ''; + position: absolute; + top: 0; + right: 0; + height: 2px; + width: 0; + transition: 400ms ease all; + } + &::after { + right: inherit; + top: inherit; + left: 0; + bottom: 0; + } +} + +.custom-button{ + display: inline-block; + line-height: 1; + white-space: nowrap; + cursor: pointer; + background: #fff; + color: #fff; + -webkit-appearance: none; + text-align: center; + box-sizing: border-box; + outline: 0; + margin: 0; + padding: 10px 15px; + font-size: 14px; + border-radius: 4px; +} diff --git a/src/styles/editor.scss b/src/styles/editor.scss new file mode 100644 index 00000000..de696c2d --- /dev/null +++ b/src/styles/editor.scss @@ -0,0 +1,348 @@ +//富文本 +//移除 至static/tinymce/skins/lightgray.content.min.css + .small-size { + width: 800px; + margin: 0 auto; + } + img{ + max-height: 300px; + } + .note-color .dropdown-menu li .btn-group{ + &:first-child{ + display: none; + } + } + //禁止图片缩放 + .note-control-sizing { + display: none; + } + .panel-body { + $blue: #1478F0; + font-size: 16px; + line-height: 1.4em; + & > :last-child { + margin-bottom: 0; + } + img { + max-width: 100%; + display: block; + margin: 0 auto; + } + table { + width: 100% !important; + } + embed { + max-width: 100%; + margin-bottom: 30px; + } + p { + // margin-bottom: 1em; + text-align: justify; + word-break: break-all; + } + ul { + margin-bottom: 30px; + } + li { + margin-left: 20px; + margin-bottom: 30px; + } + a { + color: $blue; + } + hr { + margin: 1em auto; + border: none; + padding: 0; + width: 100%; + height: 1px; + background: #DCDCDC; + } + //add type.css start + blockquote p { + font-size: 16px; + letter-spacing: 1px; + line-height: 28px; + color: #333; + } + blockquote p:last-of-type { + margin-bottom: 0; + } + /* HTML5 媒体文件跟 img 保持一致 */ + audio, + canvas, + video { + display: inline-block; + *display: inline; + *zoom: 1; + } + /* 要注意表单元素并不继承父级 font 的问题 */ + button, + input, + select, + textarea { + font: 500 14px/1.8 'Hiragino Sans GB', Microsoft YaHei, sans-serif; + } + /* 去掉各Table cell 的边距并让其边重合 */ + table { + border-collapse: collapse; + border-spacing: 0; + } + /* IE bug fixed: th 不继承 text-align*/ + th { + text-align: inherit; + } + /* 去除默认边框 */ + fieldset, + img { + border: 0; + } + /* 解决 IE6-7 图片缩放锯齿问题 */ + img { + -ms-interpolation-mode: bicubic; + } + /* ie6 7 8(q) bug 显示为行内表现 */ + iframe { + display: block; + } + /* 块/段落引用 */ + blockquote { + position: relative; + font-size: 16px; + letter-spacing: 1px; + line-height: 28px; + margin-bottom: 40px; + padding: 20px; + background: #f0f2f5; + &:before{ + position: absolute; + content: " \300D"; + top: 10px; + left: 2px; + -webkit-transform: rotate(180deg); + transform: rotate(180deg); + color: #333; + } + &:after{ + position: absolute; + content: " \300D"; + right: 6px; + bottom: 12px; + color: #333; + } + } + blockquote blockquote { + padding: 0 0 0 1em; + margin-left: 2em; + border-left: 3px solid $blue; + } + /* Firefox 以外,元素没有下划线,需添加 */ + acronym, + abbr { + border-bottom: 1px dotted; + font-variant: normal; + } + /* 添加鼠标问号,进一步确保应用的语义是正确的(要知道,交互他们也有洁癖,如果你不去掉,那得多花点口舌) */ + abbr { + cursor: help; + } + /* 一致的 del 样式 */ + del { + text-decoration: line-through; + } + address, + caption, + cite, + code, + del, + em, + th, + var { + font-style: normal; + font-weight: 500; + } + em { + font-style: normal; + font-family: sans-serif; + font-weight: bold; + } + /* 对齐是排版最重要的因素, 别让什么都居中 */ + caption, + th { + text-align: left; + } + q:before, + q:after { + content: ''; + } + /* 统一上标和下标 */ + sub, + sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: text-top; + } + :root sub, + :root sup { + vertical-align: baseline; + /* for ie9 and other mordern browsers */ + } + sup { + top: -0.5em; + } + sub { + bottom: -0.25em; + } + /* 让链接在 hover 状态下显示下划线 */ + a:hover { + text-decoration: underline; + } + /* 默认不显示下划线,保持页面简洁 */ + ins, + a { + text-decoration: none; + } + u, + .typo-u { + text-decoration: underline; + } + /* 标记,类似于手写的荧光笔的作用 */ + mark { + background: #fffdd1; + } + /* 代码片断 */ + pre, + code { + font-family: "Courier New", Courier, monospace; + } + pre { + border: 1px solid #ddd; + border-left-width: 0.4em; + background: #fbfbfb; + padding: 10px; + } + /* 底部印刷体、版本等标记 */ + small { + font-size: 12px; + color: #888; + } + h1, + h2, + h3, + h4, + h5, + h6 { + font-size: 18px; + font-weight: 700; + color: #1478f0; + border-left: 5px solid #1478f0; + padding-left: 10px; + margin: 30px 0; + } + h2 { + font-size: 1.2em; + } + /* 保证块/段落之间的空白隔行 */ + .typo p, + .typo pre, + .typo ul, + .typo ol, + .typo dl, + .typo form, + .typo hr, + .typo table, + .typo-p, + .typo-pre, + .typo-ul, + .typo-ol, + .typo-dl, + .typo-form, + .typo-hr, + .typo-table { + margin-bottom: 15px; + line-height: 25px; + } + /* 标题应该更贴紧内容,并与其他块区分,margin 值要相应做优化 */ + .typo h1, + .typo h2, + .typo h3, + .typo h4, + .typo h5, + .typo h6, + .typo-h1, + .typo-h2, + .typo-h3, + .typo-h4, + .typo-h5, + .typo-h6 { + margin-bottom: 0.4em; + line-height: 1.5; + } + .typo h1, + .typo-h1 { + font-size: 1.8em; + } + .typo h2, + .typo-h2 { + font-size: 1.6em; + } + .typo h3, + .typo-h3 { + font-size: 1.4em; + } + .typo h4, + .typo-h0 { + font-size: 1.2em; + } + .typo h5, + .typo h6, + .typo-h5, + .typo-h6 { + font-size: 1em; + } + /* 在文章中,应该还原 ul 和 ol 的样式 */ + .typo ul, + .typo-ul { + margin-left: 1.3em; + list-style: disc; + } + .typo ol, + .typo-ol { + list-style: decimal; + margin-left: 1.9em; + } + .typo li ul, + .typo li ol, + .typo-ul ul, + .typo-ul ol, + .typo-ol ul, + .typo-ol ol { + margin-top: 0; + margin-bottom: 0; + margin-left: 2em; + } + .typo li ul, + .typo-ul ul, + .typo-ol ul { + list-style: circle; + } + /* 同 ul/ol,在文章中应用 table 基本格式 */ + .typo table th, + .typo table td, + .typo-table th, + .typo-table td { + border: 1px solid #ddd; + padding: 5px 10px; + } + .typo table th, + .typo-table th { + background: #fbfbfb; + } + .typo table thead th, + .typo-table thead th { + background: #f1f1f1; + } + } + + diff --git a/src/styles/index.scss b/src/styles/index.scss new file mode 100644 index 00000000..c6beb1d3 --- /dev/null +++ b/src/styles/index.scss @@ -0,0 +1,392 @@ +@import './btn.scss'; +// @import './editor.scss'; +@import "./mixin.scss"; + +body { + //height: 100%; + //overflow-y: scroll; + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + text-rendering: optimizeLegibility; + font-family: Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Arial,sans-serif; + //@include scrollBar; +} +label{ + font-weight: 700; +} + +html { + box-sizing: border-box; +} + +*, *:before, *:after { + box-sizing: inherit; +} + +.no-padding { + padding: 0px !important; +} + +.padding-content { + padding: 4px 0; +} + +a:focus, +a:active { + outline: none; +} + +a, +a:focus, +a:hover { + cursor: pointer; + color: inherit; + text-decoration: none; +} + +.fr { + float: right; +} + +.fl { + float: left; +} + +.pr-5 { + padding-right: 5px; +} + +.pl-5 { + padding-left: 5px; +} + +.block { + display: block; +} + +.inlineBlock { + display: block; +} + +.components-container{ + margin: 30px 50px; +} + +code{ + background: #eef1f6; + padding: 20px 10px; + margin-bottom: 20px; + display: block; +} +.fade-enter-active, .fade-leave-active { + transition: all .2s ease +} + +.fade-enter, .fade-leave-active { + opacity: 0; +} + +//editor +//.editor-placeholder { +// margin: 0 auto; +// display: block; +// .editor-placeholder-title { +// text-align: center; +// font-size: 20px; +// padding-bottom: 5px; +// } +// .editor-placeholder-image { +// display: block; +// max-height: 100px; +// margin: 0 auto; +// } +//} + +//main-container全局样式 +.app-container { + padding: 20px; + //min-height: 100%; +} + +//element ui upload +.upload-container { + .el-upload { + width: 100%; + .el-upload-dragger { + width: 100%; + height: 200px; + } + } +} + +.singleImageUpload2.upload-container { + .el-upload { + width: 100%; + height: 100%; + .el-upload-dragger { + width: 100%; + height: 100%; + .el-icon-upload { + margin: 30% 0 16px; + } + } + } +} + +.editor-video-upload { + @include clearfix; + margin-bottom: 10px; + .el-upload { + float: left; + width: 100px; + + } + .el-upload-list { + float: left; + .el-upload-list__item:first-child { + margin-top: 0px; + } + } +} + +.el-upload-list--picture-card { + float: left; +} + +.pagination-container { + margin-top: 30px; +} + +.pointer { + cursor: pointer; +} + +.wscn-icon { + width: 1em; + height: 1em; + vertical-align: -0.15em; + fill: currentColor; + overflow: hidden; +} + +.sub-navbar { + height: 50px; + line-height: 50px; + position: relative; + width: 100%; + text-align: right; + padding-right: 20px; + transition: 600ms ease position; + background: linear-gradient(90deg, rgba(32, 182, 249, 1) 0%, rgba(32, 182, 249, 1) 0%, rgba(33, 120, 241, 1) 100%, rgba(33, 120, 241, 1) 100%); + .subtitle { + font-size: 20px; + color: #fff; + } + &.draft { + background: #d0d0d0; + } + &.deleted { + background: #d0d0d0; + } +} + +.link-type,.link-type:focus { + color: #337ab7; + cursor: pointer; + &:hover{ + color: rgb(32, 160, 255); + } +} + +.publishedTag, .draftTag, .deletedTag { + color: #fff; + background-color: $panGreen; + line-height: 1; + text-align: center; + margin: 0; + padding: 8px 12px; + font-size: 14px; + border-radius: 4px; + position: absolute; + left: 20px; + top: 10px; +} + +.draftTag { + background-color: $yellow; +} + +.deletedTag { + background-color: $red; +} + +.input-label { + font-size: 14px; + color: #48576a; + line-height: 1; + padding: 11px 5px 11px 0; +} + +.clearfix { + &:after { + visibility: hidden; + display: block; + font-size: 0; + content: " "; + clear: both; + height: 0; + } +} + +.no-marginLeft { + .el-checkbox { + margin: 0 20px 15px 0; + } + .el-checkbox + .el-checkbox { + margin-left: 0px; + } +} + +.filter-container { + padding-bottom: 10px; + .filter-item { + display: inline-block; + vertical-align: middle; + margin-bottom: 10px; + } +} + +//文章页textarea修改样式 +.article-textarea { + textarea { + padding-right: 40px; + resize: none; + border: none; + border-radius: 0px; + border-bottom: 1px solid #bfcbd9; + } +} + +//实时新闻创建页特殊处理 +.recentNews-container { + p { + display: inline-block; + } + .el-collapse-item__content{ + padding-right:0px; + } +} + +//refine vue-multiselect plugin +.multiselect { + line-height: 16px; +} + +.multiselect--active { + z-index: 1000 !important; +} + +//reset element ui +.block-checkbox { + display: block; +} + +//上传页面不显示删除icon +.mediaUpload-container { + .el-upload__btn-delete { + display: none !important; + } +} + +.operation-container { + .cell { + padding: 10px !important; + } + .el-button { + &:nth-child(3) { + margin-top: 10px; + margin-left: 0px; + } + &:nth-child(4) { + margin-top: 10px; + } + } +} + +.el-upload { + input[type="file"] { + display: none !important; + } +} + +.el-upload__input { + display: none; +} + +.cell { + .el-tag { + margin-right: 8px; + } +} +.small-padding{ + .cell{ + padding-left: 8px; + padding-right: 8px; + } +} +.status-col { + .cell { + padding: 0 10px; + text-align: center; + .el-tag { + margin-right: 0px; + } + } +} + +//.el-form-item__content{ +// margin-left: 0px!important; +//} +.no-border { + .el-input-group__prepend, .el-input__inner, .el-date-editor__editor, .multiselect__tags { + border: none; + } +} + +.el-select__tags { + max-width: 100% !important; +} + +.small-space .el-form-item { + margin-bottom: 10px; +} + +.no-padding { + .el-dropdown-menu__item { + padding: 0px; + } + .el-dropdown-menu { + padding: 0px; + } +} + +.no-hover { + .el-dropdown-menu__item:not(.is-disabled):hover { + background-color: #fff; + } +} + +.el-tooltip-fullwidth { + width: 100%; + .el-tooltip__rel { + width: 100%; + } +} + +//暂时性解决diolag 问题 https://github.com/ElemeFE/element/issues/2461 +.el-dialog{ + transform: none; + left: 0; + position: relative; + margin: 0 auto; +} diff --git a/src/styles/mixin.scss b/src/styles/mixin.scss new file mode 100644 index 00000000..fc61542b --- /dev/null +++ b/src/styles/mixin.scss @@ -0,0 +1,57 @@ +@mixin clearfix { + &:after { + content: ""; + display: table; + clear: both; + } +} + +@mixin scrollBar { + &::-webkit-scrollbar-track-piece { + background: #d3dce6; + } + &::-webkit-scrollbar { + width: 6px; + } + &::-webkit-scrollbar-thumb { + background: #99a9bf; + border-radius: 20px; + } +} + +@mixin relative { + position: relative; + width: 100%; + height: 100%; +} + +@mixin pct($pct) { + width: #{$pct}; + position: relative; + margin: 0 auto; +} + +@mixin triangle($width, $height, $color, $direction) { + $width: $width/2; + $color-border-style: $height solid $color; + $transparent-border-style: $width solid transparent; + height: 0; + width: 0; + @if $direction == up { + border-bottom: $color-border-style; + border-left: $transparent-border-style; + border-right: $transparent-border-style; + } @else if $direction == right { + border-left: $color-border-style; + border-top: $transparent-border-style; + border-bottom: $transparent-border-style; + } @else if $direction == down { + border-top: $color-border-style; + border-left: $transparent-border-style; + border-right: $transparent-border-style; + } @else if $direction == left { + border-right: $color-border-style; + border-top: $transparent-border-style; + border-bottom: $transparent-border-style; + } +} \ No newline at end of file diff --git a/src/utils/createUniqueString.js b/src/utils/createUniqueString.js new file mode 100644 index 00000000..2e6e357e --- /dev/null +++ b/src/utils/createUniqueString.js @@ -0,0 +1,8 @@ +/** + * Created by jiachenpan on 17/3/8. + */ +export default function createUniqueString() { + const timestamp = +new Date() + ''; + const randomNum = parseInt((1 + Math.random()) * 65536) + ''; + return (+(randomNum + timestamp)).toString(32); +} diff --git a/src/utils/fetch.js b/src/utils/fetch.js new file mode 100644 index 00000000..7b07bd6d --- /dev/null +++ b/src/utils/fetch.js @@ -0,0 +1,72 @@ +import axios from 'axios'; +import { Message } from 'element-ui'; +import store from '../store'; +import router from '../router'; + +export default function fetch(options) { + return new Promise((resolve, reject) => { + const instance = axios.create({ + baseURL: process.env.BASE_API, + // timeout: 2000, + headers: { 'X-Ivanka-Token': store.getters.token } + }); + instance(options) + .then(response => { + const res = response.data; + if (res.code !== 20000) { + console.log(options); // for debug + Message({ + message: res.message, + type: 'error', + duration: 5 * 1000 + }); + // 50014:Token 过期了 50012:其他客户端登录了 50008:非法的token + if (res.code === 50008 || res.code === 50014 || res.code === 50012) { + Message({ + message: res.message, + type: 'error', + duration: 5 * 1000 + }); + // router.push({path: '/'}) + // TODO + store.dispatch('FedLogOut').then(() => { + router.push({ path: '/login' }) + }); + } + reject(res); + } + resolve(res); + }) + .catch(error => { + Message({ + message: '发生异常错误,请刷新页面重试,或联系程序员', + type: 'error', + duration: 5 * 1000 + }); + console.log(error); // for debug + reject(error); + }); + }); +} + +export function tpFetch(options) { + return new Promise((resolve, reject) => { + const instance = axios.create({ + // timeout: 2000, + }); + instance(options) + .then(response => { + const res = response.data; + resolve(res); + }) + .catch(error => { + Message({ + message: '发生异常错误,请刷新页面重试,或联系程序员', + type: 'error', + duration: 5 * 1000 + }); + console.log(error); // for debug + reject(error); + }); + }); +} diff --git a/src/utils/index.js b/src/utils/index.js new file mode 100644 index 00000000..05479596 --- /dev/null +++ b/src/utils/index.js @@ -0,0 +1,221 @@ +/** + * Created by jiachenpan on 16/11/18. + */ + + import showdown from 'showdown' // markdown转化 + const converter = new showdown.Converter(); + + export function parseTime(time, cFormat) { + if (arguments.length === 0) { + return null; + } + const format = cFormat || '{y}-{m}-{d} {h}:{i}:{s}'; + let date; + if (typeof time == 'object') { + date = time; + } else { + if (('' + time).length === 10) time = parseInt(time) * 1000; + date = new Date(time); + } + const formatObj = { + y: date.getFullYear(), + m: date.getMonth() + 1, + d: date.getDate(), + h: date.getHours(), + i: date.getMinutes(), + s: date.getSeconds(), + a: date.getDay() + }; + const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => { + let value = formatObj[key]; + if (key === 'a') return ['一', '二', '三', '四', '五', '六', '日'][value - 1]; + if (result.length > 0 && value < 10) { + value = '0' + value; + } + return value || 0; + }); + return time_str; + } + + export function formatTime(time, option) { + time = +time * 1000; + const d = new Date(time); + const now = Date.now(); + + const diff = (now - d) / 1000; + + if (diff < 30) { + return '刚刚' + } else if (diff < 3600) { // less 1 hour + return Math.ceil(diff / 60) + '分钟前' + } else if (diff < 3600 * 24) { + return Math.ceil(diff / 3600) + '小时前' + } else if (diff < 3600 * 24 * 2) { + return '1天前' + } + if (option) { + return parseTime(time, option) + } else { + return d.getMonth() + 1 + '月' + d.getDate() + '日' + d.getHours() + '时' + d.getMinutes() + '分' + } + } + +// 格式化时间 + + + export function getQueryObject(url) { + url = url == null ? window.location.href : url; + const search = url.substring(url.lastIndexOf('?') + 1); + const obj = {}; + const reg = /([^?&=]+)=([^?&=]*)/g; + search.replace(reg, (rs, $1, $2) => { + const name = decodeURIComponent($1); + let val = decodeURIComponent($2); + val = String(val); + obj[name] = val; + return rs; + }); + return obj; + } + + + + +/** + *get getByteLen + * @param {Sting} val input value + * @returns {number} output value + */ + export function getByteLen(val) { + let len = 0; + for (let i = 0; i < val.length; i++) { + if (val[i].match(/[^\x00-\xff]/ig) != null) { + len += 1; + } else { len += 0.5; } + } + return Math.floor(len); + } + + export function cleanArray(actual) { + const newArray = []; + for (let i = 0; i < actual.length; i++) { + if (actual[i]) { + newArray.push(actual[i]); + } + } + return newArray; + } + + export function param(json) { + if (!json) return ''; + return cleanArray(Object.keys(json).map(key => { + if (json[key] === undefined) return ''; + return encodeURIComponent(key) + '=' + + encodeURIComponent(json[key]); + })).join('&'); + } + + export function html2Text(val) { + const div = document.createElement('div'); + div.innerHTML = val; + return div.textContent || div.innerText; + } + + export function objectMerge(target, source) { + /* Merges two objects, + giving the last one precedence */ + + if (typeof target !== 'object') { + target = {}; + } + if (Array.isArray(source)) { + return source.slice(); + } + for (const property in source) { + if (source.hasOwnProperty(property)) { + const sourceProperty = source[property]; + if (typeof sourceProperty === 'object') { + target[property] = objectMerge(target[property], sourceProperty); + continue; + } + target[property] = sourceProperty; + } + } + return target; + } + + + export function scrollTo(element, to, duration) { + if (duration <= 0) return; + const difference = to - element.scrollTop; + const perTick = difference / duration * 10; + + setTimeout(() => { + console.log(new Date()) + element.scrollTop = element.scrollTop + perTick; + if (element.scrollTop === to) return; + scrollTo(element, to, duration - 10); + }, 10); + } + + export function toggleClass(element, className) { + if (!element || !className) { + return; + } + + let classString = element.className; + const nameIndex = classString.indexOf(className); + if (nameIndex === -1) { + classString += '' + className; + } else { + classString = classString.substr(0, nameIndex) + classString.substr(nameIndex + className.length); + } + element.className = classString; + } + + export const pickerOptions = [ + { + text: '今天', + onClick(picker) { + const end = new Date(); + const start = new Date(new Date().toDateString()); + end.setTime(start.getTime()); + picker.$emit('pick', [start, end]); + } + }, { + text: '最近一周', + onClick(picker) { + const end = new Date(new Date().toDateString()); + const start = new Date(); + start.setTime(end.getTime() - 3600 * 1000 * 24 * 7); + picker.$emit('pick', [start, end]); + } + }, { + text: '最近一个月', + onClick(picker) { + const end = new Date(new Date().toDateString()); + const start = new Date(); + start.setTime(start.getTime() - 3600 * 1000 * 24 * 30); + picker.$emit('pick', [start, end]); + } + }, { + text: '最近三个月', + onClick(picker) { + const end = new Date(new Date().toDateString()); + const start = new Date(); + start.setTime(start.getTime() - 3600 * 1000 * 24 * 90); + picker.$emit('pick', [start, end]); + } + }] + + export function getTime(type) { + if (type === 'start') { + return new Date().getTime() - 3600 * 1000 * 24 * 90 + } else { + return new Date(new Date().toDateString()) + } + } + + export function showdownMD(md) { + return converter.makeHtml(md) + } diff --git a/src/utils/openWindow.js b/src/utils/openWindow.js new file mode 100644 index 00000000..a7e2b91c --- /dev/null +++ b/src/utils/openWindow.js @@ -0,0 +1,27 @@ +/** + *Created by jiachenpan on 16/11/29. + * @param {Sting} url + * @param {Sting} title + * @param {Number} w + * @param {Number} h + */ + +export default function openWindow(url, title, w, h) { + // Fixes dual-screen position Most browsers Firefox + const dualScreenLeft = window.screenLeft !== undefined ? window.screenLeft : screen.left; + const dualScreenTop = window.screenTop !== undefined ? window.screenTop : screen.top; + + const width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : screen.width; + const height = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : screen.height; + + const left = ((width / 2) - (w / 2)) + dualScreenLeft; + const top = ((height / 2) - (h / 2)) + dualScreenTop; + const newWindow = window.open(url, title, 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=yes, copyhistory=no, width=' + w + ', height=' + h + ', top=' + top + ', left=' + left); + + // Puts focus on the newWindow + if (window.focus) { + newWindow.focus(); + } +} + + diff --git a/src/utils/validate.js b/src/utils/validate.js new file mode 100644 index 00000000..c293a160 --- /dev/null +++ b/src/utils/validate.js @@ -0,0 +1,41 @@ +/** + * Created by jiachenpan on 16/11/18. + */ + +/* 是否是公司邮箱*/ +export function isWscnEmail(str) { + const reg = /^[a-z0-9](?:[-_.+]?[a-z0-9]+)*@wallstreetcn\.com$/i; + return reg.test(str); +} + +/* 合法uri*/ +export function validateURL(textval) { + const urlregex = /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/; + return urlregex.test(textval); +} + +/* 小写字母*/ +export function validateLowerCase(str) { + const reg = /^[a-z]+$/; + return reg.test(str); +} + +/* 验证key*/ +// export function validateKey(str) { +// var reg = /^[a-z_\-:]+$/; +// return reg.test(str); +// } + +/* 大写字母*/ +export function validateUpperCase(str) { + const reg = /^[A-Z]+$/; + return reg.test(str); +} + +/* 大小写字母*/ +export function validatAlphabets(str) { + const reg = /^[A-Za-z]+$/; + return reg.test(str); +} + + diff --git a/src/vendor/Blob.js b/src/vendor/Blob.js new file mode 100644 index 00000000..26382ccd --- /dev/null +++ b/src/vendor/Blob.js @@ -0,0 +1,179 @@ +/* eslint-disable */ +/* Blob.js + * A Blob implementation. + * 2014-05-27 + * + * By Eli Grey, http://eligrey.com + * By Devin Samarin, https://github.com/eboyjr + * License: X11/MIT + * See LICENSE.md + */ + +/*global self, unescape */ +/*jslint bitwise: true, regexp: true, confusion: true, es5: true, vars: true, white: true, + plusplus: true */ + +/*! @source http://purl.eligrey.com/github/Blob.js/blob/master/Blob.js */ + +(function (view) { + "use strict"; + + view.URL = view.URL || view.webkitURL; + + if (view.Blob && view.URL) { + try { + new Blob; + return; + } catch (e) {} + } + + // Internally we use a BlobBuilder implementation to base Blob off of + // in order to support older browsers that only have BlobBuilder + var BlobBuilder = view.BlobBuilder || view.WebKitBlobBuilder || view.MozBlobBuilder || (function(view) { + var + get_class = function(object) { + return Object.prototype.toString.call(object).match(/^\[object\s(.*)\]$/)[1]; + } + , FakeBlobBuilder = function BlobBuilder() { + this.data = []; + } + , FakeBlob = function Blob(data, type, encoding) { + this.data = data; + this.size = data.length; + this.type = type; + this.encoding = encoding; + } + , FBB_proto = FakeBlobBuilder.prototype + , FB_proto = FakeBlob.prototype + , FileReaderSync = view.FileReaderSync + , FileException = function(type) { + this.code = this[this.name = type]; + } + , file_ex_codes = ( + "NOT_FOUND_ERR SECURITY_ERR ABORT_ERR NOT_READABLE_ERR ENCODING_ERR " + + "NO_MODIFICATION_ALLOWED_ERR INVALID_STATE_ERR SYNTAX_ERR" + ).split(" ") + , file_ex_code = file_ex_codes.length + , real_URL = view.URL || view.webkitURL || view + , real_create_object_URL = real_URL.createObjectURL + , real_revoke_object_URL = real_URL.revokeObjectURL + , URL = real_URL + , btoa = view.btoa + , atob = view.atob + + , ArrayBuffer = view.ArrayBuffer + , Uint8Array = view.Uint8Array + ; + FakeBlob.fake = FB_proto.fake = true; + while (file_ex_code--) { + FileException.prototype[file_ex_codes[file_ex_code]] = file_ex_code + 1; + } + if (!real_URL.createObjectURL) { + URL = view.URL = {}; + } + URL.createObjectURL = function(blob) { + var + type = blob.type + , data_URI_header + ; + if (type === null) { + type = "application/octet-stream"; + } + if (blob instanceof FakeBlob) { + data_URI_header = "data:" + type; + if (blob.encoding === "base64") { + return data_URI_header + ";base64," + blob.data; + } else if (blob.encoding === "URI") { + return data_URI_header + "," + decodeURIComponent(blob.data); + } if (btoa) { + return data_URI_header + ";base64," + btoa(blob.data); + } else { + return data_URI_header + "," + encodeURIComponent(blob.data); + } + } else if (real_create_object_URL) { + return real_create_object_URL.call(real_URL, blob); + } + }; + URL.revokeObjectURL = function(object_URL) { + if (object_URL.substring(0, 5) !== "data:" && real_revoke_object_URL) { + real_revoke_object_URL.call(real_URL, object_URL); + } + }; + FBB_proto.append = function(data/*, endings*/) { + var bb = this.data; + // decode data to a binary string + if (Uint8Array && (data instanceof ArrayBuffer || data instanceof Uint8Array)) { + var + str = "" + , buf = new Uint8Array(data) + , i = 0 + , buf_len = buf.length + ; + for (; i < buf_len; i++) { + str += String.fromCharCode(buf[i]); + } + bb.push(str); + } else if (get_class(data) === "Blob" || get_class(data) === "File") { + if (FileReaderSync) { + var fr = new FileReaderSync; + bb.push(fr.readAsBinaryString(data)); + } else { + // async FileReader won't work as BlobBuilder is sync + throw new FileException("NOT_READABLE_ERR"); + } + } else if (data instanceof FakeBlob) { + if (data.encoding === "base64" && atob) { + bb.push(atob(data.data)); + } else if (data.encoding === "URI") { + bb.push(decodeURIComponent(data.data)); + } else if (data.encoding === "raw") { + bb.push(data.data); + } + } else { + if (typeof data !== "string") { + data += ""; // convert unsupported types to strings + } + // decode UTF-16 to binary string + bb.push(unescape(encodeURIComponent(data))); + } + }; + FBB_proto.getBlob = function(type) { + if (!arguments.length) { + type = null; + } + return new FakeBlob(this.data.join(""), type, "raw"); + }; + FBB_proto.toString = function() { + return "[object BlobBuilder]"; + }; + FB_proto.slice = function(start, end, type) { + var args = arguments.length; + if (args < 3) { + type = null; + } + return new FakeBlob( + this.data.slice(start, args > 1 ? end : this.data.length) + , type + , this.encoding + ); + }; + FB_proto.toString = function() { + return "[object Blob]"; + }; + FB_proto.close = function() { + this.size = this.data.length = 0; + }; + return FakeBlobBuilder; + }(view)); + + view.Blob = function Blob(blobParts, options) { + var type = options ? (options.type || "") : ""; + var builder = new BlobBuilder(); + if (blobParts) { + for (var i = 0, len = blobParts.length; i < len; i++) { + builder.append(blobParts[i]); + } + } + return builder.getBlob(type); + }; +}(typeof self !== "undefined" && self || typeof window !== "undefined" && window || this.content || this)); diff --git a/src/vendor/Export2Excel.js b/src/vendor/Export2Excel.js new file mode 100644 index 00000000..a121a33a --- /dev/null +++ b/src/vendor/Export2Excel.js @@ -0,0 +1,141 @@ +/* eslint-disable */ +require('script-loader!file-saver'); +require('script-loader!vendor/Blob'); +require('script-loader!xlsx/dist/xlsx.core.min'); +function generateArray(table) { + var out = []; + var rows = table.querySelectorAll('tr'); + var ranges = []; + for (var R = 0; R < rows.length; ++R) { + var outRow = []; + var row = rows[R]; + var columns = row.querySelectorAll('td'); + for (var C = 0; C < columns.length; ++C) { + var cell = columns[C]; + var colspan = cell.getAttribute('colspan'); + var rowspan = cell.getAttribute('rowspan'); + var cellValue = cell.innerText; + if (cellValue !== "" && cellValue == +cellValue) cellValue = +cellValue; + + //Skip ranges + ranges.forEach(function (range) { + if (R >= range.s.r && R <= range.e.r && outRow.length >= range.s.c && outRow.length <= range.e.c) { + for (var i = 0; i <= range.e.c - range.s.c; ++i) outRow.push(null); + } + }); + + //Handle Row Span + if (rowspan || colspan) { + rowspan = rowspan || 1; + colspan = colspan || 1; + ranges.push({s: {r: R, c: outRow.length}, e: {r: R + rowspan - 1, c: outRow.length + colspan - 1}}); + } + ; + + //Handle Value + outRow.push(cellValue !== "" ? cellValue : null); + + //Handle Colspan + if (colspan) for (var k = 0; k < colspan - 1; ++k) outRow.push(null); + } + out.push(outRow); + } + return [out, ranges]; +}; + +function datenum(v, date1904) { + if (date1904) v += 1462; + var epoch = Date.parse(v); + return (epoch - new Date(Date.UTC(1899, 11, 30))) / (24 * 60 * 60 * 1000); +} + +function sheet_from_array_of_arrays(data, opts) { + var ws = {}; + var range = {s: {c: 10000000, r: 10000000}, e: {c: 0, r: 0}}; + for (var R = 0; R != data.length; ++R) { + for (var C = 0; C != data[R].length; ++C) { + if (range.s.r > R) range.s.r = R; + if (range.s.c > C) range.s.c = C; + if (range.e.r < R) range.e.r = R; + if (range.e.c < C) range.e.c = C; + var cell = {v: data[R][C]}; + if (cell.v == null) continue; + var cell_ref = XLSX.utils.encode_cell({c: C, r: R}); + + if (typeof cell.v === 'number') cell.t = 'n'; + else if (typeof cell.v === 'boolean') cell.t = 'b'; + else if (cell.v instanceof Date) { + cell.t = 'n'; + cell.z = XLSX.SSF._table[14]; + cell.v = datenum(cell.v); + } + else cell.t = 's'; + + ws[cell_ref] = cell; + } + } + if (range.s.c < 10000000) ws['!ref'] = XLSX.utils.encode_range(range); + return ws; +} + +function Workbook() { + if (!(this instanceof Workbook)) return new Workbook(); + this.SheetNames = []; + this.Sheets = {}; +} + +function s2ab(s) { + var buf = new ArrayBuffer(s.length); + var view = new Uint8Array(buf); + for (var i = 0; i != s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF; + return buf; +} + +export function export_table_to_excel(id) { + var theTable = document.getElementById(id); + console.log('a') + var oo = generateArray(theTable); + var ranges = oo[1]; + + /* original data */ + var data = oo[0]; + var ws_name = "SheetJS"; + console.log(data); + + var wb = new Workbook(), ws = sheet_from_array_of_arrays(data); + + /* add ranges to worksheet */ + // ws['!cols'] = ['apple', 'banan']; + ws['!merges'] = ranges; + + /* add worksheet to workbook */ + wb.SheetNames.push(ws_name); + wb.Sheets[ws_name] = ws; + + var wbout = XLSX.write(wb, {bookType: 'xlsx', bookSST: false, type: 'binary'}); + + saveAs(new Blob([s2ab(wbout)], {type: "application/octet-stream"}), "test.xlsx") +} + +function formatJson(jsonData) { + console.log(jsonData) +} +export function export_json_to_excel(th, jsonData, defaultTitle) { + + /* original data */ + + var data = jsonData; + data.unshift(th); + var ws_name = "SheetJS"; + + var wb = new Workbook(), ws = sheet_from_array_of_arrays(data); + + + /* add worksheet to workbook */ + wb.SheetNames.push(ws_name); + wb.Sheets[ws_name] = ws; + + var wbout = XLSX.write(wb, {bookType: 'xlsx', bookSST: false, type: 'binary'}); + var title = defaultTitle || '列表' + saveAs(new Blob([s2ab(wbout)], {type: "application/octet-stream"}), title + ".xlsx") +} diff --git a/src/views/admin/createUser.vue b/src/views/admin/createUser.vue new file mode 100644 index 00000000..d7de7537 --- /dev/null +++ b/src/views/admin/createUser.vue @@ -0,0 +1,87 @@ + + diff --git a/src/views/admin/profile.vue b/src/views/admin/profile.vue new file mode 100644 index 00000000..fa80c902 --- /dev/null +++ b/src/views/admin/profile.vue @@ -0,0 +1,404 @@ + + + + diff --git a/src/views/admin/quicklycreate.vue b/src/views/admin/quicklycreate.vue new file mode 100644 index 00000000..0b39be4c --- /dev/null +++ b/src/views/admin/quicklycreate.vue @@ -0,0 +1,92 @@ + + + diff --git a/src/views/admin/usersList.vue b/src/views/admin/usersList.vue new file mode 100644 index 00000000..efbb3066 --- /dev/null +++ b/src/views/admin/usersList.vue @@ -0,0 +1,241 @@ + + + + diff --git a/src/views/components/404.vue b/src/views/components/404.vue new file mode 100644 index 00000000..d2b3ce3c --- /dev/null +++ b/src/views/components/404.vue @@ -0,0 +1,61 @@ + + + + + diff --git a/src/views/components/markdown.vue b/src/views/components/markdown.vue new file mode 100644 index 00000000..3bf5e1ac --- /dev/null +++ b/src/views/components/markdown.vue @@ -0,0 +1,22 @@ + + + + diff --git a/src/views/components/tinymce.vue b/src/views/components/tinymce.vue new file mode 100644 index 00000000..a88bd91c --- /dev/null +++ b/src/views/components/tinymce.vue @@ -0,0 +1,28 @@ + + + + diff --git a/src/views/dashboard/default/index.vue b/src/views/dashboard/default/index.vue new file mode 100644 index 00000000..745afa99 --- /dev/null +++ b/src/views/dashboard/default/index.vue @@ -0,0 +1,75 @@ + + + + + diff --git a/src/views/dashboard/editor/articlesChart.vue b/src/views/dashboard/editor/articlesChart.vue new file mode 100644 index 00000000..a62e1962 --- /dev/null +++ b/src/views/dashboard/editor/articlesChart.vue @@ -0,0 +1,34 @@ + + + diff --git a/src/views/dashboard/editor/index.vue b/src/views/dashboard/editor/index.vue new file mode 100644 index 00000000..ad89ef25 --- /dev/null +++ b/src/views/dashboard/editor/index.vue @@ -0,0 +1,284 @@ + + + + + diff --git a/src/views/dashboard/editor/monthKpi.vue b/src/views/dashboard/editor/monthKpi.vue new file mode 100644 index 00000000..7fdd7501 --- /dev/null +++ b/src/views/dashboard/editor/monthKpi.vue @@ -0,0 +1,61 @@ + + + + diff --git a/src/views/dashboard/index.vue b/src/views/dashboard/index.vue new file mode 100644 index 00000000..7397932a --- /dev/null +++ b/src/views/dashboard/index.vue @@ -0,0 +1,38 @@ + + + diff --git a/src/views/error/401.vue b/src/views/error/401.vue new file mode 100644 index 00000000..a1fe9bc1 --- /dev/null +++ b/src/views/error/401.vue @@ -0,0 +1,82 @@ + + + + diff --git a/src/views/error/404.vue b/src/views/error/404.vue new file mode 100644 index 00000000..d2b3ce3c --- /dev/null +++ b/src/views/error/404.vue @@ -0,0 +1,61 @@ + + + + + diff --git a/src/views/layout/AppMain.vue b/src/views/layout/AppMain.vue new file mode 100644 index 00000000..e6867d8f --- /dev/null +++ b/src/views/layout/AppMain.vue @@ -0,0 +1,20 @@ + + + diff --git a/src/views/layout/Layout.vue b/src/views/layout/Layout.vue new file mode 100644 index 00000000..3a6fe230 --- /dev/null +++ b/src/views/layout/Layout.vue @@ -0,0 +1,98 @@ + + + + diff --git a/src/views/layout/Levelbar.vue b/src/views/layout/Levelbar.vue new file mode 100644 index 00000000..382d9fd1 --- /dev/null +++ b/src/views/layout/Levelbar.vue @@ -0,0 +1,48 @@ + + + + diff --git a/src/views/layout/Navbar.vue b/src/views/layout/Navbar.vue new file mode 100644 index 00000000..abc18e77 --- /dev/null +++ b/src/views/layout/Navbar.vue @@ -0,0 +1,107 @@ + + + + + + + diff --git a/src/views/layout/Sidebar.vue b/src/views/layout/Sidebar.vue new file mode 100644 index 00000000..92a2b9a6 --- /dev/null +++ b/src/views/layout/Sidebar.vue @@ -0,0 +1,48 @@ + + + + + diff --git a/src/views/layout/index.js b/src/views/layout/index.js new file mode 100644 index 00000000..308c1be8 --- /dev/null +++ b/src/views/layout/index.js @@ -0,0 +1,7 @@ +export { default as Navbar } from './Navbar'; + +export { default as Sidebar } from './Sidebar'; + +export { default as Levelbar } from './Sidebar'; + +export { default as AppMain } from './AppMain'; diff --git a/src/views/login/authredirect.vue b/src/views/login/authredirect.vue new file mode 100644 index 00000000..136d6a5d --- /dev/null +++ b/src/views/login/authredirect.vue @@ -0,0 +1,10 @@ + diff --git a/src/views/login/index.vue b/src/views/login/index.vue new file mode 100644 index 00000000..86fd1163 --- /dev/null +++ b/src/views/login/index.vue @@ -0,0 +1,188 @@ + + + + + diff --git a/src/views/login/reset.vue b/src/views/login/reset.vue new file mode 100644 index 00000000..9053ad98 --- /dev/null +++ b/src/views/login/reset.vue @@ -0,0 +1,178 @@ + + + + + diff --git a/src/views/login/sendpwd.vue b/src/views/login/sendpwd.vue new file mode 100644 index 00000000..cd26484e --- /dev/null +++ b/src/views/login/sendpwd.vue @@ -0,0 +1,117 @@ + + + + + diff --git a/src/views/login/socialsignin.vue b/src/views/login/socialsignin.vue new file mode 100644 index 00000000..c7edc0db --- /dev/null +++ b/src/views/login/socialsignin.vue @@ -0,0 +1,68 @@ + + + + diff --git a/src/views/others/mediaUpload.vue b/src/views/others/mediaUpload.vue new file mode 100644 index 00000000..06677ea7 --- /dev/null +++ b/src/views/others/mediaUpload.vue @@ -0,0 +1,102 @@ + + + diff --git a/src/views/previewLayout/Layout.vue b/src/views/previewLayout/Layout.vue new file mode 100644 index 00000000..b1f8b3ab --- /dev/null +++ b/src/views/previewLayout/Layout.vue @@ -0,0 +1,20 @@ + + + diff --git a/src/views/user/components/info.vue b/src/views/user/components/info.vue new file mode 100644 index 00000000..f714240f --- /dev/null +++ b/src/views/user/components/info.vue @@ -0,0 +1,118 @@ + + + + + diff --git a/src/views/user/detail.vue b/src/views/user/detail.vue new file mode 100644 index 00000000..8e62e5e2 --- /dev/null +++ b/src/views/user/detail.vue @@ -0,0 +1,125 @@ + + + + + diff --git a/src/views/user/list.vue b/src/views/user/list.vue new file mode 100644 index 00000000..4d344021 --- /dev/null +++ b/src/views/user/list.vue @@ -0,0 +1,183 @@ + + + diff --git a/static/.gitkeep b/static/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/static/jquery.min.js b/static/jquery.min.js new file mode 100644 index 00000000..4c5be4c0 --- /dev/null +++ b/static/jquery.min.js @@ -0,0 +1,4 @@ +/*! jQuery v3.1.1 | (c) jQuery Foundation | jquery.org/license */ +!function(a,b){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){"use strict";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElement("script");c.text=a,b.head.appendChild(c).parentNode.removeChild(c)}var q="3.1.1",r=function(a,b){return new r.fn.init(a,b)},s=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,t=/^-ms-/,u=/-([a-z])/g,v=function(a,b){return b.toUpperCase()};r.fn=r.prototype={jquery:q,constructor:r,length:0,toArray:function(){return f.call(this)},get:function(a){return null==a?f.call(this):a<0?this[a+this.length]:this[a]},pushStack:function(a){var b=r.merge(this.constructor(),a);return b.prevObject=this,b},each:function(a){return r.each(this,a)},map:function(a){return this.pushStack(r.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(f.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(a<0?b:0);return this.pushStack(c>=0&&c0&&b-1 in a)}var x=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;c+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ca=function(a,b){return b?"\0"===a?"\ufffd":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0&&("form"in a||"label"in a)},{dir:"parentNode",next:"legend"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(ba,ca):b.setAttribute("id",k=u),o=g(a),h=o.length;while(h--)o[h]="#"+k+" "+sa(o[h]);r=o.join(","),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(P,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("fieldset");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return function(b){return"form"in b?b.parentNode&&b.disabled===!1?"label"in b?"label"in b.parentNode?b.parentNode.disabled===a:b.disabled===a:b.isDisabled===a||b.isDisabled!==!a&&ea(b)===a:b.disabled===a:"label"in b&&b.disabled===a}}function pa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function qa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute("id")===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}}):(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c,d,e,f=b.getElementById(a);if(f){if(c=f.getAttributeNode("id"),c&&c.value===a)return[f];e=b.getElementsByName(a),d=0;while(f=e[d++])if(c=f.getAttributeNode("id"),c&&c.value===a)return[f]}return[]}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){if("undefined"!=typeof b.getElementsByClassName&&p)return b.getElementsByClassName(a)},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){a.innerHTML="";var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+K+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"*"),s.call(a,"[s!='']:x"),r.push("!=",N)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Y.test(o.compareDocumentPosition),t=b||Y.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(S,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.escape=function(a){return(a+"").replace(ba,ca)},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(_,aa),a[3]=(a[3]||a[4]||a[5]||"").replace(_,aa),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&T.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(_,aa).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:!b||(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(O," ")+" ").indexOf(c)>-1:"|="===b&&(e===c||e.slice(0,c.length+1)===c+"-"))}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(P,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(_,aa).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:oa(!1),disabled:oa(!0),checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[c<0?c+b:c]}),even:pa(function(a,b){for(var c=0;c=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=c<0?c+b:c;++d1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function va(a,b,c){for(var d=0,e=b.length;d-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];i1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(P,"$1"),c,i0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,c,e){var f,i,j,k,l,m="function"==typeof a&&a,n=!e&&g(a=m.selector||a);if(c=c||[],1===n.length){if(i=n[0]=n[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&9===b.nodeType&&p&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(_,aa),b)||[])[0],!b)return c;m&&(b=b.parentNode),a=a.slice(i.shift().value.length)}f=V.needsContext.test(a)?0:i.length;while(f--){if(j=i[f],d.relative[k=j.type])break;if((l=d.find[k])&&(e=l(j.matches[0].replace(_,aa),$.test(i[0].type)&&qa(b.parentNode)||b))){if(i.splice(f,1),a=e.length&&sa(i),!a)return G.apply(c,e),c;break}}}return(m||h(a,n))(e,b,!p,c,!b||$.test(a)&&qa(b.parentNode)||b),c},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("fieldset"))}),ja(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);r.find=x,r.expr=x.selectors,r.expr[":"]=r.expr.pseudos,r.uniqueSort=r.unique=x.uniqueSort,r.text=x.getText,r.isXMLDoc=x.isXML,r.contains=x.contains,r.escapeSelector=x.escape;var y=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&r(a).is(c))break;d.push(a)}return d},z=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},A=r.expr.match.needsContext,B=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,C=/^.[^:#\[\.,]*$/;function D(a,b,c){return r.isFunction(b)?r.grep(a,function(a,d){return!!b.call(a,d,a)!==c}):b.nodeType?r.grep(a,function(a){return a===b!==c}):"string"!=typeof b?r.grep(a,function(a){return i.call(b,a)>-1!==c}):C.test(b)?r.filter(b,a,c):(b=r.filter(b,a),r.grep(a,function(a){return i.call(b,a)>-1!==c&&1===a.nodeType}))}r.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?r.find.matchesSelector(d,a)?[d]:[]:r.find.matches(a,r.grep(b,function(a){return 1===a.nodeType}))},r.fn.extend({find:function(a){var b,c,d=this.length,e=this;if("string"!=typeof a)return this.pushStack(r(a).filter(function(){for(b=0;b1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(D(this,a||[],!1))},not:function(a){return this.pushStack(D(this,a||[],!0))},is:function(a){return!!D(this,"string"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var E,F=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,G=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||E,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:F.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof r?b[0]:b,r.merge(this,r.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),B.test(e[1])&&r.isPlainObject(b))for(e in b)r.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&(this[0]=f,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):r.isFunction(a)?void 0!==c.ready?c.ready(a):a(r):r.makeArray(a,this)};G.prototype=r.fn,E=r(d);var H=/^(?:parents|prev(?:Until|All))/,I={children:!0,contents:!0,next:!0,prev:!0};r.fn.extend({has:function(a){var b=r(a,this),c=b.length;return this.filter(function(){for(var a=0;a-1:1===c.nodeType&&r.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?r.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?i.call(r(a),this[0]):i.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(r.uniqueSort(r.merge(this.get(),r(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function J(a,b){while((a=a[b])&&1!==a.nodeType);return a}r.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return y(a,"parentNode")},parentsUntil:function(a,b,c){return y(a,"parentNode",c)},next:function(a){return J(a,"nextSibling")},prev:function(a){return J(a,"previousSibling")},nextAll:function(a){return y(a,"nextSibling")},prevAll:function(a){return y(a,"previousSibling")},nextUntil:function(a,b,c){return y(a,"nextSibling",c)},prevUntil:function(a,b,c){return y(a,"previousSibling",c)},siblings:function(a){return z((a.parentNode||{}).firstChild,a)},children:function(a){return z(a.firstChild)},contents:function(a){return a.contentDocument||r.merge([],a.childNodes)}},function(a,b){r.fn[a]=function(c,d){var e=r.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=r.filter(d,e)),this.length>1&&(I[a]||r.uniqueSort(e),H.test(a)&&e.reverse()),this.pushStack(e)}});var K=/[^\x20\t\r\n\f]+/g;function L(a){var b={};return r.each(a.match(K)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a="string"==typeof a?L(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h-1)f.splice(c,1),c<=h&&h--}),this},has:function(a){return a?r.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||b||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j};function M(a){return a}function N(a){throw a}function O(a,b,c){var d;try{a&&r.isFunction(d=a.promise)?d.call(a).done(b).fail(c):a&&r.isFunction(d=a.then)?d.call(a,b,c):b.call(void 0,a)}catch(a){c.call(void 0,a)}}r.extend({Deferred:function(b){var c=[["notify","progress",r.Callbacks("memory"),r.Callbacks("memory"),2],["resolve","done",r.Callbacks("once memory"),r.Callbacks("once memory"),0,"resolved"],["reject","fail",r.Callbacks("once memory"),r.Callbacks("once memory"),1,"rejected"]],d="pending",e={state:function(){return d},always:function(){return f.done(arguments).fail(arguments),this},"catch":function(a){return e.then(null,a)},pipe:function(){var a=arguments;return r.Deferred(function(b){r.each(c,function(c,d){var e=r.isFunction(a[d[4]])&&a[d[4]];f[d[1]](function(){var a=e&&e.apply(this,arguments);a&&r.isFunction(a.promise)?a.promise().progress(b.notify).done(b.resolve).fail(b.reject):b[d[0]+"With"](this,e?[a]:arguments)})}),a=null}).promise()},then:function(b,d,e){var f=0;function g(b,c,d,e){return function(){var h=this,i=arguments,j=function(){var a,j;if(!(b=f&&(d!==N&&(h=void 0,i=[a]),c.rejectWith(h,i))}};b?k():(r.Deferred.getStackHook&&(k.stackTrace=r.Deferred.getStackHook()),a.setTimeout(k))}}return r.Deferred(function(a){c[0][3].add(g(0,a,r.isFunction(e)?e:M,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:M)),c[2][3].add(g(0,a,r.isFunction(d)?d:N))}).promise()},promise:function(a){return null!=a?r.extend(a,e):e}},f={};return r.each(c,function(a,b){var g=b[2],h=b[5];e[b[1]]=g.add,h&&g.add(function(){d=h},c[3-a][2].disable,c[0][2].lock),g.add(b[3].fire),f[b[0]]=function(){return f[b[0]+"With"](this===f?void 0:this,arguments),this},f[b[0]+"With"]=g.fireWith}),e.promise(f),b&&b.call(f,f),f},when:function(a){var b=arguments.length,c=b,d=Array(c),e=f.call(arguments),g=r.Deferred(),h=function(a){return function(c){d[a]=this,e[a]=arguments.length>1?f.call(arguments):c,--b||g.resolveWith(d,e)}};if(b<=1&&(O(a,g.done(h(c)).resolve,g.reject),"pending"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)O(e[c],h(c),g.reject);return g.promise()}});var P=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&P.test(b.name)&&a.console.warn("jQuery.Deferred exception: "+b.message,b.stack,c)},r.readyException=function(b){a.setTimeout(function(){throw b})};var Q=r.Deferred();r.fn.ready=function(a){return Q.then(a)["catch"](function(a){r.readyException(a)}),this},r.extend({isReady:!1,readyWait:1,holdReady:function(a){a?r.readyWait++:r.ready(!0)},ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||Q.resolveWith(d,[r]))}}),r.ready.then=Q.then;function R(){d.removeEventListener("DOMContentLoaded",R), +a.removeEventListener("load",R),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",R),a.addEventListener("load",R));var S=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===r.type(c)){e=!0;for(h in c)S(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(r(a),c)})),b))for(;h1,null,!0)},removeData:function(a){return this.each(function(){W.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=V.get(a,b),c&&(!d||r.isArray(c)?d=V.access(a,b,r.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=r.queue(a,b),d=c.length,e=c.shift(),f=r._queueHooks(a,b),g=function(){r.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return V.get(a,c)||V.access(a,c,{empty:r.Callbacks("once memory").add(function(){V.remove(a,[b+"queue",c])})})}}),r.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length\x20\t\r\n\f]+)/i,ka=/^$|\/(?:java|ecma)script/i,la={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};la.optgroup=la.option,la.tbody=la.tfoot=la.colgroup=la.caption=la.thead,la.th=la.td;function ma(a,b){var c;return c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[],void 0===b||b&&r.nodeName(a,b)?r.merge([a],c):c}function na(a,b){for(var c=0,d=a.length;c-1)e&&e.push(f);else if(j=r.contains(f.ownerDocument,f),g=ma(l.appendChild(f),"script"),j&&na(g),c){k=0;while(f=g[k++])ka.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),o.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var qa=d.documentElement,ra=/^key/,sa=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ta=/^([^.]*)(?:\.(.+)|)/;function ua(){return!0}function va(){return!1}function wa(){try{return d.activeElement}catch(a){}}function xa(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)xa(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=va;else if(!e)return a;return 1===f&&(g=e,e=function(a){return r().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=r.guid++)),a.each(function(){r.event.add(this,b,e,d,c)})}r.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=V.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(qa,e),c.guid||(c.guid=r.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof r&&r.event.triggered!==b.type?r.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(K)||[""],j=b.length;while(j--)h=ta.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=r.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=r.event.special[n]||{},k=r.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&r.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),r.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=V.hasData(a)&&V.get(a);if(q&&(i=q.events)){b=(b||"").match(K)||[""],j=b.length;while(j--)if(h=ta.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){l=r.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||r.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)r.event.remove(a,n+b[j],c,d,!0);r.isEmptyObject(i)&&V.remove(a,"handle events")}},dispatch:function(a){var b=r.event.fix(a),c,d,e,f,g,h,i=new Array(arguments.length),j=(V.get(this,"events")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;c=1))for(;j!==this;j=j.parentNode||this)if(1===j.nodeType&&("click"!==a.type||j.disabled!==!0)){for(f=[],g={},c=0;c-1:r.find(e,this,null,[j]).length),g[e]&&f.push(d);f.length&&h.push({elem:j,handlers:f})}return j=this,i\x20\t\r\n\f]*)[^>]*)\/>/gi,za=/\s*$/g;function Da(a,b){return r.nodeName(a,"table")&&r.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a:a}function Ea(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function Fa(a){var b=Ba.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ga(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(V.hasData(a)&&(f=V.access(a),g=V.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c1&&"string"==typeof q&&!o.checkClone&&Aa.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ia(f,b,c,d)});if(m&&(e=pa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(ma(e,"script"),Ea),i=h.length;l")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=r.contains(a.ownerDocument,a);if(!(o.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||r.isXMLDoc(a)))for(g=ma(h),f=ma(a),d=0,e=f.length;d0&&na(g,!i&&ma(a,"script")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(T(c)){if(b=c[V.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[V.expando]=void 0}c[W.expando]&&(c[W.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ja(this,a,!0)},remove:function(a){return Ja(this,a)},text:function(a){return S(this,function(a){return void 0===a?r.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return Ia(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Da(this,a);b.appendChild(a)}})},prepend:function(){return Ia(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Da(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ia(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ia(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(ma(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return S(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!za.test(a)&&!la[(ja.exec(a)||["",""])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;c1)}});function Ya(a,b,c,d,e){return new Ya.prototype.init(a,b,c,d,e)}r.Tween=Ya,Ya.prototype={constructor:Ya,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||r.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(r.cssNumber[c]?"":"px")},cur:function(){var a=Ya.propHooks[this.prop];return a&&a.get?a.get(this):Ya.propHooks._default.get(this)},run:function(a){var b,c=Ya.propHooks[this.prop];return this.options.duration?this.pos=b=r.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Ya.propHooks._default.set(this),this}},Ya.prototype.init.prototype=Ya.prototype,Ya.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=r.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){r.fx.step[a.prop]?r.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[r.cssProps[a.prop]]&&!r.cssHooks[a.prop]?a.elem[a.prop]=a.now:r.style(a.elem,a.prop,a.now+a.unit)}}},Ya.propHooks.scrollTop=Ya.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},r.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},r.fx=Ya.prototype.init,r.fx.step={};var Za,$a,_a=/^(?:toggle|show|hide)$/,ab=/queueHooks$/;function bb(){$a&&(a.requestAnimationFrame(bb),r.fx.tick())}function cb(){return a.setTimeout(function(){Za=void 0}),Za=r.now()}function db(a,b){var c,d=0,e={height:a};for(b=b?1:0;d<4;d+=2-b)c=ba[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function eb(a,b,c){for(var d,e=(hb.tweeners[b]||[]).concat(hb.tweeners["*"]),f=0,g=e.length;f1)},removeAttr:function(a){return this.each(function(){r.removeAttr(this,a)})}}),r.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?r.prop(a,b,c):(1===f&&r.isXMLDoc(a)||(e=r.attrHooks[b.toLowerCase()]||(r.expr.match.bool.test(b)?ib:void 0)), +void 0!==c?null===c?void r.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&r.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(K);if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),ib={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=jb[b]||r.find.attr;jb[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=jb[g],jb[g]=e,e=null!=c(a,b,d)?g:null,jb[g]=f),e}});var kb=/^(?:input|select|textarea|button)$/i,lb=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return S(this,r.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[r.propFix[a]||a]})}}),r.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&r.isXMLDoc(a)||(b=r.propFix[b]||b,e=r.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=r.find.attr(a,"tabindex");return b?parseInt(b,10):kb.test(a.nodeName)||lb.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),o.optSelected||(r.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),r.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){r.propFix[this.toLowerCase()]=this});function mb(a){var b=a.match(K)||[];return b.join(" ")}function nb(a){return a.getAttribute&&a.getAttribute("class")||""}r.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).addClass(a.call(this,b,nb(this)))});if("string"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=nb(c),d=1===c.nodeType&&" "+mb(e)+" "){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=mb(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).removeClass(a.call(this,b,nb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=nb(c),d=1===c.nodeType&&" "+mb(e)+" "){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=mb(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):r.isFunction(a)?this.each(function(c){r(this).toggleClass(a.call(this,c,nb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=r(this),f=a.match(K)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=nb(this),b&&V.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":V.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+mb(nb(c))+" ").indexOf(b)>-1)return!0;return!1}});var ob=/\r/g;r.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=r.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,r(this).val()):a,null==e?e="":"number"==typeof e?e+="":r.isArray(e)&&(e=r.map(e,function(a){return null==a?"":a+""})),b=r.valHooks[this.type]||r.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=r.valHooks[e.type]||r.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(ob,""):null==c?"":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,"value");return null!=b?b:mb(r.text(a))}},select:{get:function(a){var b,c,d,e=a.options,f=a.selectedIndex,g="select-one"===a.type,h=g?null:[],i=g?f+1:e.length;for(d=f<0?i:g?f:0;d-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),r.each(["radio","checkbox"],function(){r.valHooks[this]={set:function(a,b){if(r.isArray(b))return a.checked=r.inArray(r(a).val(),b)>-1}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var pb=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,"type")?b.type:b,q=l.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!pb.test(p+r.event.triggered)&&(p.indexOf(".")>-1&&(q=p.split("."),p=q.shift(),q.sort()),k=p.indexOf(":")<0&&"on"+p,b=b[r.expando]?b:new r.Event(p,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=q.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:r.makeArray(c,[b]),n=r.event.special[p]||{},f||!n.trigger||n.trigger.apply(e,c)!==!1)){if(!f&&!n.noBubble&&!r.isWindow(e)){for(j=n.delegateType||p,pb.test(j+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),i=h;i===(e.ownerDocument||d)&&o.push(i.defaultView||i.parentWindow||a)}g=0;while((h=o[g++])&&!b.isPropagationStopped())b.type=g>1?j:n.bindType||p,m=(V.get(h,"events")||{})[b.type]&&V.get(h,"handle"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&T(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=p,f||b.isDefaultPrevented()||n._default&&n._default.apply(o.pop(),c)!==!1||!T(e)||k&&r.isFunction(e[p])&&!r.isWindow(e)&&(i=e[k],i&&(e[k]=null),r.event.triggered=p,e[p](),r.event.triggered=void 0,i&&(e[k]=i)),b.result}},simulate:function(a,b,c){var d=r.extend(new r.Event,c,{type:a,isSimulated:!0});r.event.trigger(d,null,b)}}),r.fn.extend({trigger:function(a,b){return this.each(function(){r.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return r.event.trigger(a,b,c,!0)}}),r.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(a,b){r.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),r.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),o.focusin="onfocusin"in a,o.focusin||r.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){r.event.simulate(b,a.target,r.event.fix(a))};r.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=V.access(d,b);e||d.addEventListener(a,c,!0),V.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=V.access(d,b)-1;e?V.access(d,b,e):(d.removeEventListener(a,c,!0),V.remove(d,b))}}});var qb=a.location,rb=r.now(),sb=/\?/;r.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||r.error("Invalid XML: "+b),c};var tb=/\[\]$/,ub=/\r?\n/g,vb=/^(?:submit|button|image|reset|file)$/i,wb=/^(?:input|select|textarea|keygen)/i;function xb(a,b,c,d){var e;if(r.isArray(b))r.each(b,function(b,e){c||tb.test(a)?d(a,e):xb(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==r.type(b))d(a,b);else for(e in b)xb(a+"["+e+"]",b[e],c,d)}r.param=function(a,b){var c,d=[],e=function(a,b){var c=r.isFunction(b)?b():b;d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(null==c?"":c)};if(r.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)xb(c,a[c],b,e);return d.join("&")},r.fn.extend({serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=r.prop(this,"elements");return a?r.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!r(this).is(":disabled")&&wb.test(this.nodeName)&&!vb.test(a)&&(this.checked||!ia.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:r.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(ub,"\r\n")}}):{name:b.name,value:c.replace(ub,"\r\n")}}).get()}});var yb=/%20/g,zb=/#.*$/,Ab=/([?&])_=[^&]*/,Bb=/^(.*?):[ \t]*([^\r\n]*)$/gm,Cb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Db=/^(?:GET|HEAD)$/,Eb=/^\/\//,Fb={},Gb={},Hb="*/".concat("*"),Ib=d.createElement("a");Ib.href=qb.href;function Jb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(K)||[];if(r.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Kb(a,b,c,d){var e={},f=a===Gb;function g(h){var i;return e[h]=!0,r.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Lb(a,b){var c,d,e=r.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&r.extend(!0,a,d),a}function Mb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}if(f)return f!==i[0]&&i.unshift(f),c[f]}function Nb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}r.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:qb.href,type:"GET",isLocal:Cb.test(qb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Hb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":r.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Lb(Lb(a,r.ajaxSettings),b):Lb(r.ajaxSettings,a)},ajaxPrefilter:Jb(Fb),ajaxTransport:Jb(Gb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m,n,o=r.ajaxSetup({},c),p=o.context||o,q=o.context&&(p.nodeType||p.jquery)?r(p):r.event,s=r.Deferred(),t=r.Callbacks("once memory"),u=o.statusCode||{},v={},w={},x="canceled",y={readyState:0,getResponseHeader:function(a){var b;if(k){if(!h){h={};while(b=Bb.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return k?g:null},setRequestHeader:function(a,b){return null==k&&(a=w[a.toLowerCase()]=w[a.toLowerCase()]||a,v[a]=b),this},overrideMimeType:function(a){return null==k&&(o.mimeType=a),this},statusCode:function(a){var b;if(a)if(k)y.always(a[y.status]);else for(b in a)u[b]=[u[b],a[b]];return this},abort:function(a){var b=a||x;return e&&e.abort(b),A(0,b),this}};if(s.promise(y),o.url=((b||o.url||qb.href)+"").replace(Eb,qb.protocol+"//"),o.type=c.method||c.type||o.method||o.type,o.dataTypes=(o.dataType||"*").toLowerCase().match(K)||[""],null==o.crossDomain){j=d.createElement("a");try{j.href=o.url,j.href=j.href,o.crossDomain=Ib.protocol+"//"+Ib.host!=j.protocol+"//"+j.host}catch(z){o.crossDomain=!0}}if(o.data&&o.processData&&"string"!=typeof o.data&&(o.data=r.param(o.data,o.traditional)),Kb(Fb,o,c,y),k)return y;l=r.event&&o.global,l&&0===r.active++&&r.event.trigger("ajaxStart"),o.type=o.type.toUpperCase(),o.hasContent=!Db.test(o.type),f=o.url.replace(zb,""),o.hasContent?o.data&&o.processData&&0===(o.contentType||"").indexOf("application/x-www-form-urlencoded")&&(o.data=o.data.replace(yb,"+")):(n=o.url.slice(f.length),o.data&&(f+=(sb.test(f)?"&":"?")+o.data,delete o.data),o.cache===!1&&(f=f.replace(Ab,"$1"),n=(sb.test(f)?"&":"?")+"_="+rb++ +n),o.url=f+n),o.ifModified&&(r.lastModified[f]&&y.setRequestHeader("If-Modified-Since",r.lastModified[f]),r.etag[f]&&y.setRequestHeader("If-None-Match",r.etag[f])),(o.data&&o.hasContent&&o.contentType!==!1||c.contentType)&&y.setRequestHeader("Content-Type",o.contentType),y.setRequestHeader("Accept",o.dataTypes[0]&&o.accepts[o.dataTypes[0]]?o.accepts[o.dataTypes[0]]+("*"!==o.dataTypes[0]?", "+Hb+"; q=0.01":""):o.accepts["*"]);for(m in o.headers)y.setRequestHeader(m,o.headers[m]);if(o.beforeSend&&(o.beforeSend.call(p,y,o)===!1||k))return y.abort();if(x="abort",t.add(o.complete),y.done(o.success),y.fail(o.error),e=Kb(Gb,o,c,y)){if(y.readyState=1,l&&q.trigger("ajaxSend",[y,o]),k)return y;o.async&&o.timeout>0&&(i=a.setTimeout(function(){y.abort("timeout")},o.timeout));try{k=!1,e.send(v,A)}catch(z){if(k)throw z;A(-1,z)}}else A(-1,"No Transport");function A(b,c,d,h){var j,m,n,v,w,x=c;k||(k=!0,i&&a.clearTimeout(i),e=void 0,g=h||"",y.readyState=b>0?4:0,j=b>=200&&b<300||304===b,d&&(v=Mb(o,y,d)),v=Nb(o,v,y,j),j?(o.ifModified&&(w=y.getResponseHeader("Last-Modified"),w&&(r.lastModified[f]=w),w=y.getResponseHeader("etag"),w&&(r.etag[f]=w)),204===b||"HEAD"===o.type?x="nocontent":304===b?x="notmodified":(x=v.state,m=v.data,n=v.error,j=!n)):(n=x,!b&&x||(x="error",b<0&&(b=0))),y.status=b,y.statusText=(c||x)+"",j?s.resolveWith(p,[m,x,y]):s.rejectWith(p,[y,x,n]),y.statusCode(u),u=void 0,l&&q.trigger(j?"ajaxSuccess":"ajaxError",[y,o,j?m:n]),t.fireWith(p,[y,x]),l&&(q.trigger("ajaxComplete",[y,o]),--r.active||r.event.trigger("ajaxStop")))}return y},getJSON:function(a,b,c){return r.get(a,b,c,"json")},getScript:function(a,b){return r.get(a,void 0,b,"script")}}),r.each(["get","post"],function(a,b){r[b]=function(a,c,d,e){return r.isFunction(c)&&(e=e||d,d=c,c=void 0),r.ajax(r.extend({url:a,type:b,dataType:e,data:c,success:d},r.isPlainObject(a)&&a))}}),r._evalUrl=function(a){return r.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},r.fn.extend({wrapAll:function(a){var b;return this[0]&&(r.isFunction(a)&&(a=a.call(this[0])),b=r(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this},wrapInner:function(a){return r.isFunction(a)?this.each(function(b){r(this).wrapInner(a.call(this,b))}):this.each(function(){var b=r(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=r.isFunction(a);return this.each(function(c){r(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(a){return this.parent(a).not("body").each(function(){r(this).replaceWith(this.childNodes)}),this}}),r.expr.pseudos.hidden=function(a){return!r.expr.pseudos.visible(a)},r.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},r.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Ob={0:200,1223:204},Pb=r.ajaxSettings.xhr();o.cors=!!Pb&&"withCredentials"in Pb,o.ajax=Pb=!!Pb,r.ajaxTransport(function(b){var c,d;if(o.cors||Pb&&!b.crossDomain)return{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Ob[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}}),r.ajaxPrefilter(function(a){a.crossDomain&&(a.contents.script=!1)}),r.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return r.globalEval(a),a}}}),r.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),r.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=r("' + + ''); + frameLoad.unbind(); + }); + + Ready.execute(function () { + Insert.append(Body.body(), container); + Insert.append(container, iframe); + }); + }); + + var cleanDocument = function (wordHTML, merge) { + return cleanFunction.map(function (f) { + // TODO: This should probably do something with the log instead of throwing it away in the Java side + return f(wordHTML, merge); + }); + }; + + var ready = function () { + return cleanFunction.isSome(); + }; + + return { + load: load, + cleanDocument: cleanDocument, + ready: ready + }; + } +); +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.keurig.api.WordCleaner', + + [ + 'ephox.keurig.loader.GWTLoader' + ], + + function (GWTLoader) { + return function (baseUrl) { + if (!GWTLoader.ready()) GWTLoader.load(baseUrl); + + return { + cleanDocument: GWTLoader.cleanDocument + }; + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.photon.Sandbox', + + [ + 'ephox.peanut.Fun', + 'ephox.photon.Writer', + 'ephox.sugar.api.Css', + 'ephox.sugar.api.DomEvent', + 'ephox.sugar.api.Element', + 'ephox.sugar.api.Insert', + 'ephox.sugar.api.Remove', + 'global!setTimeout' + ], + + function (Fun, Writer, Css, DomEvent, Element, Insert, Remove, setTimeout) { + return function (uiContainer) { + /** + * Creates a sandbox to play in. + * + * Asynchronously creates an iframe, runs the synchronous function `f` on the DOM, and then passes the result to the callback. + * + * This is done so that the sandbox can guarantee the iframe has been removed from the page, and available for garbage collection, before the callback is executed. + * + * html: + * source to load into the iframe + * f: (document -> body -> A) + * function that operates on the iframe DOM, passed both document reference and body element + * callback: (A -> Unit) + * function that receives the output of `f` when the iframe has been cleaned up + */ + var play = function (html, f, callback) { + var outputContainer = Element.fromTag('div'); + var iframe = Element.fromTag('iframe'); + + Css.setAll(outputContainer, { + display: 'none' + }); + + var load = DomEvent.bind(iframe, 'load', function () { + Writer.write(iframe, html); + + var rawDoc = iframe.dom().contentWindow.document; + if (rawDoc === undefined) throw "sandbox iframe load event did not fire correctly"; + var doc = Element.fromDom(rawDoc); + + var rawBody = rawDoc.body; + if (rawBody === undefined) throw "sandbox iframe does not have a body"; + var body = Element.fromDom(rawBody); + + // cache + var result = f(doc, body); + + // unbind and remove everything + load.unbind(); + Remove.remove(outputContainer); + + // setTimeout should allow the garbage collector to cleanup if necessary + setTimeout(Fun.curry(callback, result), 0); + }); + Insert.append(outputContainer, iframe); + Insert.append(uiContainer, outputContainer); + }; + + return { + play: play + }; + }; + } +); +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.sugar.impl.NodeValue', + + [ + 'ephox.perhaps.Option', + 'global!Error' + ], + + function (Option, Error) { + return function (is, name) { + var get = function (element) { + if (!is(element)) throw new Error('Can only get ' + name + ' value of a ' + name + ' node'); + return getOption(element).getOr(''); + }; + + var getOption = function (element) { + try { + return is(element) ? Option.some(element.dom().nodeValue) : Option.none(); + } catch (e) { + return Option.none(); // Prevent IE10 from throwing exception when setting parent innerHTML clobbers (TBIO-451). + } + }; + + var set = function (element, value) { + if (!is(element)) throw new Error('Can only set raw ' + name + ' value of a ' + name + ' node'); + element.dom().nodeValue = value; + }; + + return { + get: get, + getOption: getOption, + set: set + }; + }; + } +); +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.sugar.api.Comment', + + [ + 'ephox.sugar.api.Node', + 'ephox.sugar.impl.NodeValue' + ], + + function (Node, NodeValue) { + var api = NodeValue(Node.isComment, 'comment'); + + var get = function (element) { + return api.get(element); + }; + + var getOption = function (element) { + return api.getOption(element); + }; + + var set = function (element, value) { + api.set(element, value); + }; + + return { + get: get, + getOption: getOption, + set: set + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.sugar.api.Html', + + [ + 'ephox.sugar.api.Element', + 'ephox.sugar.api.Insert' + ], + + function ( Element, Insert) { + var get = function (element) { + return element.dom().innerHTML; + }; + + var set = function (element, content) { + element.dom().innerHTML = content; + }; + + var getOuter = function (element) { + var container = Element.fromTag('div'); + var clone = Element.fromDom(element.dom().cloneNode(true)); + Insert.append(container, clone); + return get(container); + }; + + return { + get: get, + set: set, + getOuter: getOuter + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.vogue.css.Set', + + [ + 'ephox.sugar.api.Insert' + ], + + function (Insert) { + + var setCss = function (style, css, element) { + if (style.dom().styleSheet) + style.dom().styleSheet.cssText = css; // IE + else + Insert.append(style, element); + }; + + return { + setCss: setCss + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.vogue.util.Regex', + + [ + ], + + function () { + var escape = function (text) { + return text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&'); + }; + + return { + escape: escape + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +ephox.bolt.module.api.define("global!RegExp", [], function () { return RegExp; }); +(function (define, require, demand) { +define( + 'ephox.vogue.css.Url', + + [ + 'ephox.compass.Obj', + 'ephox.vogue.util.Regex', + 'global!RegExp' + ], + + function (Obj, Regex, RegExp) { + var replace = function (css, urlPrefix, replacement) { + var r = new RegExp('url\\(\\s*[\'"]?' + Regex.escape(urlPrefix) + '(.*?)[\'"]?\\s*\\)', 'g'); + return css.replace(r, 'url("' + replacement + '$1")'); + }; + + var replaceMany = function (css, replacements) { + var current = css; + Obj.each(replacements, function (value, key) { + current = replace(current, key, value); + }); + return current; + }; + + return { + replace: replace, + replaceMany: replaceMany + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.vogue.api.DocStyle', + + [ + 'ephox.sugar.api.Attr', + 'ephox.sugar.api.Element', + 'ephox.sugar.api.Insert', + 'ephox.sugar.api.SelectorFind', + 'ephox.vogue.css.Set', + 'ephox.vogue.css.Url', + 'global!Array' + ], + + function (Attr, Element, Insert, SelectorFind, Set, Url, Array) { + + var styletag = function (doc) { + var style = Element.fromTag('style', doc.dom()); + Attr.set(style, 'type', 'text/css'); + return style; + }; + + var setCss = function (style, css, doc) { + Set.setCss(style, css, Element.fromText(css, doc.dom())); + }; + + var inject = function (css, replacements, doc) { + var style = styletag(doc); + var replacedCss = replacements === undefined ? css : Url.replaceMany(css, replacements); + setCss(style, replacedCss, doc); + var head = SelectorFind.descendant(doc, 'head').getOrDie(); + Insert.append(head, style); + }; + + var stylesheets = function (doc) { + var domStyleSheets = doc.dom().styleSheets; + return Array.prototype.slice.call(domStyleSheets); + }; + + return { + stylesheets: stylesheets, + inject: inject + }; + + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.vogue.css.Rules', + + [ + 'ephox.compass.Arr', + 'ephox.scullion.Struct' + ], + + function (Arr, Struct) { + var ruleStruct = Struct.immutable('selector', 'style'); + + var extract = function (stylesheet) { + var domRules = stylesheet.cssRules; + return Arr.map(domRules, function (rule) { + var selector = rule.selectorText; + var style = rule.style.cssText; + if (style === undefined) { + // This should be picked up in testing, and perhaps delete the check eventually + throw "WARNING: Browser does not support cssText property"; + } + return ruleStruct(selector, style); + }); + }; + + var extractAll = function (stylesheets) { + return Arr.bind(stylesheets, extract); + }; + + return { + extract: extract, + extractAll: extractAll + }; + } +); +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.vogue.api.Rules', + + [ + 'ephox.vogue.css.Rules' + ], + + function (Rules) { + var extract = function (stylesheet) { + return Rules.extract(stylesheet); + }; + + var extractAll = function (stylesheets) { + return Rules.extractAll(stylesheets); + }; + + return { + extract: extract, + extractAll: extractAll + }; + } +); +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.cement.html.HtmlPaste', + + [ + 'ephox.cement.html.Transform', + 'ephox.cement.images.ImageReference', + 'ephox.classify.Type', + 'ephox.compass.Arr', + 'ephox.keurig.api.WordCleaner', + 'ephox.peanut.Fun', + 'ephox.photon.Sandbox', + 'ephox.porkbun.Event', + 'ephox.porkbun.Events', + 'ephox.sugar.api.Attr', + 'ephox.sugar.api.Class', + 'ephox.sugar.api.Comment', + 'ephox.sugar.api.Element', + 'ephox.sugar.api.Elements', + 'ephox.sugar.api.Html', + 'ephox.sugar.api.Remove', + 'ephox.sugar.api.SelectorFilter', + 'ephox.sugar.api.Traverse', + 'ephox.vogue.api.DocStyle', + 'ephox.vogue.api.Rules', + 'global!document' + ], + + function (Transform, ImageReference, Type, Arr, WordCleaner, Fun, Sandbox, Event, Events, Attr, Class, Comment, Element, Elements, Html, Remove, SelectorFilter, Traverse, DocStyle, Rules, document) { + var flagAttribute = 'data-textbox-image'; + + var emptyString = function (s) { + return s === undefined || s === null || s.length === 0; + }; + + var stripImageSources = function (html) { + var count = 1; + return html.replace(/(]*)src=".*?"/g, function (match, p1, offset) { + // the actual contents are irrelevant, it just needs to be unique + return p1 + flagAttribute + '="' + count++ + '"'; + }); + }; + + var removeFragmentComments = function (body) { + var bodyChildren = Traverse.children(body); + Arr.each(bodyChildren, function (c) { + Comment.getOption(c).each(function (commentText) { + if (commentText === 'StartFragment' || commentText === 'EndFragment') { + Remove.remove(c); + } + }); + }); + }; + + var insertRtfCorrelation = function (sourceImageList, tordImages) { + Arr.each(tordImages, function (img) { + var imageCounter = Attr.get(img, flagAttribute); + Arr.each(sourceImageList, function (imgData) { + var imgAttrs = imgData.img(); + var vshapeAttrs = imgData.vshape(); + if (imgAttrs[flagAttribute] == imageCounter) { + // NOTE: If we discover more than 2 possible attributes, de-dupe with RtfImage somehow + var spid = vshapeAttrs['o:spid']; + var vshapeId = spid === undefined ? vshapeAttrs.id : spid; + + Transform.rotateImage(img, vshapeAttrs); + + Class.add(img, 'rtf-data-image'); + Attr.set(img, 'data-image-id', vshapeId.substr('_x0000_'.length)); + Attr.set(img, 'data-image-type', 'code'); + Attr.remove(img, flagAttribute); + } + }); + }); + }; + + var mergeInlineStyles = function (body, stylesheets) { + var rules = Rules.extractAll(stylesheets); + Arr.each(rules, function (rule) { + + var matchingElements = SelectorFilter.descendants(body, rule.selector()); + + Arr.each(matchingElements, function (element) { + Attr.remove(element, 'class'); + Attr.set(element, 'style', rule.style()); + }); + }); + }; + + var tordPostProcessor = function (sourceImageList, mergeStyles) { + var sandbox = Sandbox(Element.fromDom(document.body)); + return function (dump, callback) { + // loading dump into the sandbox *will* perform some built-in browser cleanup operations, + // we are hoping this is a suitable replacement for the use of HTML Tidy in ELJ. + sandbox.play(dump, function (iframeDoc, body) { + var images = SelectorFilter.descendants(body, 'img'); + + // post-tord DOM filters + removeFragmentComments(body); + insertRtfCorrelation(sourceImageList, images); + if (mergeStyles) { + mergeInlineStyles(body, DocStyle.stylesheets(iframeDoc)); + } + + return Html.get(body); + }, callback); + }; + }; + + var cleanEnd = function (raw) { + // Trim any weirdness that exists after the closing HTML tag. + var i = raw.indexOf(''); + return (i > -1) ? raw.substr(0, i + ''.length) : raw; + }; + + return function (mergeSettings, pasteSettings) { + var cleaner = WordCleaner(pasteSettings.baseUrl); + + var events = Events.create({ + paste: Event(['elements', 'assets']), + error: Event(['message']) + }); + + var handler = function (raw) { + var html = cleanEnd(raw); + // This will only be called if we have word styles, so force true + mergeSettings.get(true, function (settings) { + var mergeStyles = settings.mergeOfficeStyles; + + // remove local file references, so that loading the HTML into a DOM does not trigger console warnings + var safeHtml = stripImageSources(html); + + var sourceImageList = ImageReference.extract(safeHtml); + + var postProcess = tordPostProcessor(sourceImageList, mergeStyles); + + cleaner.cleanDocument(safeHtml, mergeStyles).fold(function () { + events.trigger.error('errors.paste.word.notready'); + }, function (dump) { + if (emptyString(dump)) events.trigger.paste([], []); + else { + // postProcess is basically String -> Future (String) + postProcess(dump, function (tordHtml) { + var elements = Elements.fromHtml(tordHtml); + events.trigger.paste(elements, []); + }); + } + + }); + }); + return true; + }; + + return { + handler: handler, + isSupported: Fun.constant(true), + events: events.registry + }; + }; + } +); +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.cement.images.ImagePaste', + + [ + 'ephox.compass.Arr', + 'ephox.fred.PlatformDetection', + 'ephox.hermes.api.ImageAsset', + 'ephox.hermes.api.ImageExtract', + 'ephox.peanut.Fun', + 'ephox.porkbun.Event', + 'ephox.porkbun.Events', + 'ephox.sugar.api.Attr', + 'ephox.sugar.api.Element', + 'global!console' + ], + + function (Arr, PlatformDetection, ImageAsset, ImageExtract, Fun, Event, Events, Attr, Element, console) { + return function (pasteSettings) { + var platform = PlatformDetection.detect(); + var CAPTUTED_EVENT = true; + + //IE & FF handle image paste conversion into base64 data URIs automatically + var isSupported = !platform.browser.isIE() && !platform.browser.isFirefox(); + + var events = Events.create({ + paste: Event(['elements', 'assets']), + error: Event(['message']) + }); + + var readImages = function (assets) { + return Arr.bind(assets, function (asset) { + return ImageAsset.cata(asset, + function (id, file, objurl, data) { + // create an image and inject it at the current selection + var image = Element.fromTag('img'); + Attr.set(image, 'src', objurl); + return image; + }, + function (id, url, raw) { + // TODO: Is this the best way? + console.log('Internal error: Paste operation produced an image URL instead of a Data URI: ', url); + } + ); + }); + }; + + var actualHandler = function (clipboardItems) { + var images = Arr.filter(clipboardItems, function (item) { + return item.kind === 'file' && /image/.test(item.type); + }); + + var files = Arr.map(images, function (image) { + return image.getAsFile(); + }); + + ImageExtract.toAssets(files, function (assets) { + // perform the insert (SmartPaste handles undo and focus trickery) + var elements = readImages(assets); + events.trigger.paste(elements, assets); + }); + //prevent other content from coming through + return CAPTUTED_EVENT; + }; + + var safariHandler = function () { + events.trigger.error('safari.imagepaste'); + // prevent default paste + return CAPTUTED_EVENT; + }; + + var imageDisabled = function () { + events.trigger.error('errors.local.images.disallowed'); + return CAPTUTED_EVENT; + }; + + var imageHandler = platform.browser.isSafari() ? safariHandler : actualHandler; + + var handler = pasteSettings.allowLocalImages ? imageHandler : imageDisabled; + + return { + handler: handler, + isSupported: Fun.constant(isSupported), + events: events.registry + }; + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.cement.api.CementConstants', + + [ + 'ephox.cement.style.Styles', + 'ephox.peanut.Fun' + ], + + function (Styles, Fun) { + + /* + The filter history may not quite work as I would hope. The problem it is likely to + have is that it might be the content's selection as well, which means that we are + changing what is about to used as serialisation ... likely leading to issues. I think + it just only sets valid selections, so it will probably be ok .. but the cursor will + be jarring. + + The paste bin class is added when the paste event is being triggered in the setTimeout. + That may be too late for it not to end up in the undo history, but currently it seems + like it will possibly work. Adding the class directly to the element would be more reliable, + but I haven't thought of a clean enough way to do that yet. + */ + var bin = Styles.resolve('smartpaste-eph-bin'); + + return { + binStyle: Fun.constant(bin) + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.knoch.core.Bounce', + + [ + 'global!Array' + ], + + function (Array) { + + var bounce = function(f) { + return function() { + var args = Array.prototype.slice.call(arguments); + var me = this; + setTimeout(function() { + f.apply(me, args); + }, 0); + }; + }; + + return { + bounce: bounce + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.knoch.core.FutureOps', + + [ + ], + + function () { + + return function (nu, get) { + + /** map :: this Future a -> (a -> b) -> Future b */ + var map = function(fab) { + return nu(function(callback) { + get(function(a) { + callback(fab(a)); + }); + }); + }; + + /** bind :: this Future a -> (a -> Future b) -> Future b */ + var bind = function(aFutureB) { + return nu(function(callback) { + get(function(a) { + aFutureB(a).get(callback); + }); + }); + }; + + /** anonBind :: this Future a -> Future b -> Future b + * Returns a future, which evaluates the first future, ignores the result, then evaluates the second. + */ + var anonBind = function(futureB) { + return nu(function(callback) { + get(function(a) { + futureB.get(callback); + }); + }); + }; + + return { + get: get, + map: map, + bind: bind, + anonBind: anonBind + }; + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.knoch.future.Future', + + [ + 'ephox.compass.Arr', + 'ephox.knoch.core.Bounce', + 'ephox.knoch.core.FutureOps' + ], + + /** A future value that is evaluated on demand. The base function is re-evaluated each time 'get' is called. */ + function (Arr, Bounce, FutureOps) { + + // baseFn is a function(callback) { ... } + var nu = function(baseFn) { + + var get = function(callback) { + baseFn(Bounce.bounce(callback)); + }; + + return FutureOps(nu, get); + }; + + /** [Future a] -> Future [a] */ + var par = function(futures) { + return nu(function(callback) { + var r = []; + var count = 0; + + var cb = function(i) { + return function(value) { + r[i] = value; + count++; + if (count >= futures.length) { + callback(r); + } + }; + }; + + if (futures.length === 0) { + callback([]); + } else { + Arr.each(futures, function(future, i) { + future.get(cb(i)); + }); + } + }); + }; + + /** [a] -> (a -> Future b) -> Future [b] */ + var mapM = function(as, fn) { + return par(Arr.map(as, fn)); + }; + + /** (Future a, Future b) -> ((a, b) -> c) -> Future C + * Executes the two futures in "parallel" with respect to browser JS threading. + */ + var lift2 = function(fa, fb, abc) { + return nu(function(callback) { + var completeA = false; + var completeB = false; + var valueA = undefined; + var valueB = undefined; + + var done = function() { + if (completeA && completeB) { + var c = abc(valueA, valueB); + callback(c); + } + }; + + fa.get(function(a) { + valueA = a; + completeA = true; + done(); + }); + + fb.get(function(b) { + valueB = b; + completeB = true; + done(); + }); + }); + }; + + return { + nu: nu, + par: par, + mapM: mapM, + lift2: lift2 + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.knoch.future.CachedFuture', + + [ + 'ephox.compass.Arr', + 'ephox.highway.Merger', + 'ephox.knoch.core.Bounce', + 'ephox.knoch.core.FutureOps', + 'ephox.knoch.future.Future', + 'ephox.peanut.Fun', + 'ephox.perhaps.Option' + ], + + /** + * A future value. + * The base function is evaluated eagerly, and only evaluated once. + * Each call to 'get' queues a callback, which is invoked when the value is available. + */ + function (Arr, Merger, Bounce, FutureOps, Future, Fun, Option) { + + // f is a function(callback) { ... } + var nu = function (baseFn) { + + var data = Option.none(); + var callbacks = []; + + var get = function (callback) { + isSet() ? call(callback) : callbacks.push(callback); + }; + + var set = function (x) { + data = Option.some(x); + run(callbacks); + callbacks = []; + }; + + var isSet = function() { + return data.isSome(); + }; + + var run = function (cbs) { + Arr.each(cbs, call); + }; + + var call = function(cb) { + data.each(function(x) { + Bounce.bounce(cb)(x); + }); + }; + + Future.nu(baseFn).get(set); + + var ops = FutureOps(nu, get); + + return Merger.merge(ops, { + isSet: isSet + }); + }; + + return { + nu: nu + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.cement.pastiche.IeBlob', + + [ + 'ephox.compass.Arr', + 'ephox.epithet.Resolve', + 'ephox.hermes.api.ImageExtract', + 'ephox.knoch.future.CachedFuture', + 'ephox.peanut.Fun', + 'ephox.perhaps.Option' + ], + + function (Arr, Resolve, ImageExtract, CachedFuture, Fun, Option) { + var convertURL = function (raw) { + return raw.convertURL !== undefined ? raw.convertURL // Use standard if available. + : raw.msConvertURL !== undefined ? raw.msConvertURL + : undefined; + }; + + var convert = function (raw) { + // IE11 defines data on the window, but requires the event to convert... /headdesk + var files = Resolve.resolve('window.clipboardData.files'); + + var convert = convertURL(raw); + + if (files !== undefined && convert !== undefined && files.length > 0) { + var blobs = Arr.map(files, function (file) { + var blob = ImageExtract.blob(file); + convert.apply(raw, [file, 'specified', blob.objurl()]); + + return blob; + }); + + // do the async operation in a future + var future = CachedFuture.nu(function (callback) { + ImageExtract.fromBlobs(blobs, callback); + }); + + // initiate the conversion immediately + future.get(Fun.noop); + + return Option.some(future); + } else { + return Option.none(); + } + }; + + return { + convert: convert + }; + } +); +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.fussy.api.Situ', + + [ + ], + + function () { + var on = function (element, offset) { + return folder(function (b, o, a) { + return o(element, offset); + }); + }; + + var before = function (element) { + return folder(function (b, o, a) { + return b(element); + }); + }; + + var after = function (element) { + return folder(function (b, o, a) { + return a(element); + }); + }; + + + var folder = function(fold) { + return { + fold: fold + }; + }; + + return { + on: on, + before: before, + after: after + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.fussy.api.SelectionRange', + + [ + 'ephox.fussy.api.Situ', + 'ephox.scullion.Struct', + 'ephox.sugar.api.Element' + ], + + function (Situ, Struct, Element) { + var read = Struct.immutable('start', 'soffset', 'finish', 'foffset'); + var general = Struct.immutable('start', 'soffset', 'finish', 'foffset'); + var write = Struct.immutable('start', 'finish'); + + var writeFromNative = function (range) { + var start = Element.fromDom(range.startContainer); + var finish = Element.fromDom(range.endContainer); + return write( + Situ.on(start, range.startOffset), + Situ.on(finish, range.endOffset) + ); + }; + + return { + read: read, + general: general, + write: write, + writeFromNative: writeFromNative + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.fussy.api.Supported', + + [ + ], + + function () { + var run = function (win, w3c) { + // this is scaffolding for what was an alternate selection model. + // We now only have one but the concept could be useful later. + if (win.getSelection) return w3c(win, win.getSelection()); + else throw 'No selection model supported.'; + }; + + return { + run: run + }; + + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.sugar.api.DocumentPosition', + + [ + 'ephox.sugar.api.Compare', + 'ephox.sugar.api.Traverse' + ], + + function (Compare, Traverse ) { + var after = function (start, soffset, finish, foffset) { + var doc = Traverse.owner(start); + + // TODO: Find a sensible place to put the native range creation code. + var rng = doc.dom().createRange(); + rng.setStart(start.dom(), soffset); + rng.setEnd(finish.dom(), foffset); + + var same = Compare.eq(start, finish) && soffset === foffset; + return rng.collapsed && !same; + }; + + return { + after: after + }; + } +); +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.fussy.wwwc.Directions', + + [ + 'ephox.fussy.api.SelectionRange', + 'ephox.sugar.api.DocumentPosition', + 'ephox.sugar.api.Element', + 'ephox.sugar.api.Traverse' + ], + + function (SelectionRange, DocumentPosition, Element, Traverse) { + var isReversed = function (model) { + return DocumentPosition.after(Element.fromDom(model.anchorNode), model.anchorOffset, Element.fromDom(model.focusNode), model.focusOffset); + }; + + var flipGet = function (model, range) { + var start = Element.fromDom(range.startContainer); + var finish = Element.fromDom(range.endContainer); + return isReversed(model) ? + SelectionRange.read(finish, range.endOffset, start, range.startOffset) : + SelectionRange.read(start, range.startOffset, finish, range.endOffset); + }; + + var isRtlGet = function (model) { + return isReversed(model); + }; + + var flipSet = function (start, startOffset, end, endOffset) { + return function (model) { + if (model.extend) { + model.collapse(start.dom(), startOffset); + model.extend(end.dom(), endOffset); + } else { + // this is IE... we can’t have a backwards range, so reverse it. + var range = Traverse.owner(start).dom().createRange(); + range.setStart(end.dom(), endOffset); + range.setEnd(start.dom(), startOffset); + model.removeAllRanges(); + model.addRange(range); + } + }; + }; + + var isRtlSet = function (start, startOffset, end, endOffset) { + return DocumentPosition.after(start, startOffset, end, endOffset); + }; + + var read = function () { + return { + flip: flipGet, + isRtl: isRtlGet + }; + }; + + var write = function () { + return { + flip: flipSet, + isRtl: isRtlSet + }; + }; + + return { + read: read, + write: write + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.fussy.wwwc.DomRange', + + [ + 'ephox.fussy.api.SelectionRange', + 'ephox.fussy.wwwc.Directions', + 'ephox.perhaps.Option', + 'ephox.sugar.api.DocumentPosition', + 'ephox.sugar.api.Element' + ], + + function (SelectionRange, Directions, Option, DocumentPosition, Element) { + + /* + * The approach here is to create a range using the selection. If it collapses, + * and the inverse of the selection does not collapse ... then it is a backwards + * selection. + */ + var reversed = function (win, selection) { + // Calculate the range going from start -> finish + var startToFinish = toNativeFrom(win, selection.start(), selection.finish()); + // If it is collapsed, there is a chance that it only collapsed because it was RTL + if (startToFinish.collapsed === true) { + // Check that the inverted selection isn't collapsed. + // If the inverted selection is not collapsed ... it is a backwards selection, otherwise it is just collapsed anyway + var finishToStart = toNativeFrom(win, selection.finish(), selection.start()); + return finishToStart.collapsed === true ? Option.none() : Option.some(SelectionRange.general( + Element.fromDom(finishToStart.endContainer), + finishToStart.endOffset, + Element.fromDom(finishToStart.startContainer), + finishToStart.startOffset + )); + } else { + return Option.none(); + } + }; + + var forceRange = function (win, selection) { + var range = toNativeFrom(win, selection.start(), selection.finish()); + return range.collapsed === true ? toNativeFrom(win, selection.finish(), selection.start()) : range; + }; + + var toNativeFrom = function (win, start, finish) { + var range = create(win); + + start.fold(function (e) { + range.setStartBefore(e.dom()); + }, function (e, o) { + range.setStart(e.dom(), o); + }, function (e) { + range.setStartAfter(e.dom()); + }); + + finish.fold(function (e) { + range.setEndBefore(e.dom()); + }, function (e, o) { + range.setEnd(e.dom(), o); + }, function (e) { + range.setEndAfter(e.dom()); + }); + + return range; + }; + + var toNative = function (win, selection) { + return toNativeFrom(win, selection.start(), selection.finish()); + }; + + var toExactNative = function (win, s, so, e, eo) { + var backwards = DocumentPosition.after(s, so, e, eo); + var range = win.document.createRange(); + if (backwards) { + range.setStart(e.dom(), eo); + range.setEnd(s.dom(), so); + } else { + range.setStart(s.dom(), so); + range.setEnd(e.dom(), eo); + } + return range; + }; + + var forwards = function (win, selection) { + var range = toNative(win, selection); + + return function (model) { + model.addRange(range); + }; + }; + + var build = function (win, selection) { + var backwards = reversed(win, selection); + return backwards.fold(function () { + return forwards(win, selection); + }, function (range) { + return Directions.write().flip(range.start(), range.soffset(), range.finish(), range.foffset()); + }); + }; + + var create = function (win) { + return win.document.createRange(); + }; + + return { + create: create, + build: build, + toNative: toNative, + forceRange: forceRange, + toExactNative: toExactNative + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.fussy.search.Within', + + [ + 'ephox.compass.Arr', + 'ephox.fussy.wwwc.DomRange', + 'ephox.sugar.api.Element', + 'ephox.sugar.api.Node', + 'ephox.sugar.api.SelectorFilter', + 'ephox.sugar.api.Selectors' + ], + + function (Arr, DomRange, Element, Node, SelectorFilter, Selectors) { + // Adapted from: http://stackoverflow.com/questions/5605401/insert-link-in-contenteditable-element + var inRange = function (tempRange, range, element) { + tempRange.selectNodeContents(element.dom()); + return tempRange.compareBoundaryPoints(range.END_TO_START, range) < 1 && tempRange.compareBoundaryPoints(range.START_TO_END, range) > -1; + }; + + var withinContainer = function (win, container, range, selector) { + var tempRange = win.document.createRange(); + var self = Selectors.is(container, selector) ? [ container ] : []; + var elements = self.concat(SelectorFilter.descendants(container, selector)); + return Arr.filter(elements, function (elem) { + return inRange(tempRange, range, elem); + }); + }; + + var find = function (win, raw, selector) { + // Reverse the selection if it is RTL when doing the comparison + var range = DomRange.forceRange(win, raw); + var container = Element.fromDom(range.commonAncestorContainer); + // Note, this might need to change when we have to start looking for non elements. + return Node.isElement(container) ? withinContainer(win, container, range, selector) : []; + }; + + return { + find: find + }; + } +); +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.fussy.wwwc.Prefilter', + + [ + 'ephox.fussy.api.SelectionRange', + 'ephox.fussy.api.Situ', + 'ephox.sugar.api.Node' + ], + + function (SelectionRange, Situ, Node) { + var beforeBr = function (element, offset) { + return Node.name(element) === 'br' ? Situ.before(element) : Situ.on(element, offset); + }; + + var preprocess = function (selection) { + var start = selection.start().fold(Situ.before, beforeBr, Situ.after); + var finish = selection.finish().fold(Situ.before, beforeBr, Situ.after); + return SelectionRange.write(start, finish); + }; + + return { + preprocess: preprocess + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.sugar.api.Fragment', + + [ + 'ephox.compass.Arr', + 'ephox.sugar.api.Element', + 'global!document' + ], + + function (Arr, Element, document) { + var fromElements = function (elements, scope) { + var doc = scope || document; + var fragment = doc.createDocumentFragment(); + Arr.each(elements, function (element) { + fragment.appendChild(element.dom()); + }); + return Element.fromDom(fragment); + }; + + return { + fromElements: fromElements + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.fussy.wwwc.WwwcModel', + + [ + 'ephox.fussy.api.SelectionRange', + 'ephox.fussy.wwwc.Directions', + 'ephox.fussy.wwwc.DomRange', + 'ephox.fussy.wwwc.Prefilter', + 'ephox.perhaps.Option', + 'ephox.sugar.api.Element', + 'ephox.sugar.api.Fragment' + ], + + function (SelectionRange, Directions, DomRange, Prefilter, Option, Element, Fragment) { + var set = function (raw) { + return function (win, model) { + var selection = Prefilter.preprocess(raw); + var modifier = DomRange.build(win, selection); + if (model !== undefined && model !== null) { + model.removeAllRanges(); + modifier(model); + } + }; + }; + + var selectElementContents = function (element) { + return function (win, model) { + var rng = DomRange.create(win); + rng.selectNodeContents(element.dom()); + model.removeAllRanges(); + model.addRange(rng); + }; + }; + + var normaliseRange = function (win, model) { + // In a multiple rangeset we take the first and the last item in the range, and create a new range model + var first = model.getRangeAt(0); + var last = model.getRangeAt(model.rangeCount - 1); + var range = win.document.createRange(); + range.setStart(first.startContainer, first.startOffset); + range.setEnd(last.endContainer, last.endOffset); + return range; + }; + + var fromNative = function (model, range) { + var start = Element.fromDom(range.startContainer); + var finish = Element.fromDom(range.endContainer); + + return Directions.read().isRtl(model) ? + Directions.read().flip(model, range) : + SelectionRange.read(start, range.startOffset, finish, range.endOffset); + }; + + var getNative = function (win, model) { + return model !== undefined && model !== null && model.rangeCount > 0 ? Option.from(normaliseRange(win, model)) : Option.none(); + }; + + var get = function (win, model) { + var range = getNative(win, model); + return range.map(function (r) { + return fromNative(model, r); + }); + }; + + var replace = function (elements) { + return function (win, model) { + var selection = getNative(win, model); + selection.each(function (range) { + doReplaceRange(win, range, elements); + }); + }; + }; + + var doReplaceRange = function (win, range, elements) { + // Note: this document fragment approach may not work on IE9. + var fragment = Fragment.fromElements(elements, win.document); + range.deleteContents(); + range.insertNode(fragment.dom()); + }; + + var replaceRange = function (raw, elements) { + return function (win, model) { + var selection = Prefilter.preprocess(raw); + // NOTE: This selection has to be LTR, or the range will collapse. + var range = DomRange.toNative(win, selection); + doReplaceRange(win, range, elements); + }; + }; + + var deleteRange = function (s, so, e, eo) { + return function (win, model) { + var rng = DomRange.toExactNative(win, s, so, e, eo); + rng.deleteContents(); + }; + }; + + var cloneFragment = function (s, so, e, eo) { + return function (win, model) { + var rng = DomRange.toExactNative(win, s, so, e, eo); + var fragment = rng.cloneContents(); + return Element.fromDom(fragment); + }; + }; + + var rectangleAt = function (s, so, e, eo) { + return function (win, model) { + var rng = DomRange.toExactNative(win, s, so, e, eo); + var rects = rng.getClientRects(); + // ASSUMPTION: The first rectangle is the start of the selection + var bounds = rects.length > 0 ? rects[0] : rng.getBoundingClientRect(); + return bounds.width > 0 || bounds.height > 0 ? Option.some(bounds) : Option.none(); + }; + }; + + var clearSelection = function (win, model) { + win.getSelection().removeAllRanges(); + }; + + return { + get: get, + set: set, + selectElementContents: selectElementContents, + replace: replace, + replaceRange: replaceRange, + deleteRange: deleteRange, + cloneFragment: cloneFragment, + rectangleAt: rectangleAt, + clearSelection: clearSelection + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.fussy.api.WindowSelection', + + [ + 'ephox.fussy.api.SelectionRange', + 'ephox.fussy.api.Situ', + 'ephox.fussy.api.Supported', + 'ephox.fussy.search.Within', + 'ephox.fussy.wwwc.DomRange', + 'ephox.fussy.wwwc.WwwcModel', + 'ephox.sugar.api.Compare', + 'ephox.sugar.api.Element' + ], + + function (SelectionRange, Situ, Supported, Within, DomRange, WwwcModel, Compare, Element) { + var get = function (win) { + return Supported.run(win, WwwcModel.get); + }; + + var set = function (win, raw) { + Supported.run(win, WwwcModel.set(raw)); + }; + + var setExact = function (win, s, so, e, eo) { + var raw = SelectionRange.write( + Situ.on(s, so), + Situ.on(e, eo) + ); + set(win, raw); + }; + + var selectElementContents = function (win, element) { + Supported.run(win, WwwcModel.selectElementContents(element)); + }; + + var replace = function (win, elements) { + Supported.run(win, WwwcModel.replace(elements)); + }; + + var replaceRange = function (win, raw, elements) { + Supported.run(win, WwwcModel.replaceRange(raw, elements)); + }; + + var deleteRange = function (win, s, so, e, eo) { + Supported.run(win, WwwcModel.deleteRange(s, so, e, eo)); + }; + + var cloneFragment = function (win, s, so, e, eo) { + return Supported.run(win, WwwcModel.cloneFragment(s, so, e, eo)); + }; + + var isCollapsed = function (s, so, e, eo) { + return Compare.eq(s, e) && so === eo; + }; + + var rectangleAt = function (win, s, so, e, eo) { + return Supported.run(win, WwwcModel.rectangleAt(s, so, e, eo)); + }; + + var findWithin = function (win, raw, selector) { + // Note, we don't need the getSelection() model for this. + return Within.find(win, raw, selector); + }; + + var findWithinExact = function (win, s, so, e, eo, selector) { + var raw = SelectionRange.write( + Situ.on(s, so), + Situ.on(e, eo) + ); + // Note, we don't need the getSelection() model for this. + return findWithin(win, raw, selector); + }; + + var deriveExact = function (win, raw) { + var rng = DomRange.forceRange(win, raw); + return SelectionRange.general(Element.fromDom(rng.startContainer), rng.startOffset, Element.fromDom(rng.endContainer), rng.endOffset); + }; + + var clearAll = function (win) { + Supported.run(win, WwwcModel.clearSelection); + }; + + return { + get: get, + set: set, + setExact: setExact, + selectElementContents: selectElementContents, + replace: replace, + replaceRange: replaceRange, + deleteRange: deleteRange, + isCollapsed: isCollapsed, + cloneFragment: cloneFragment, + rectangleAt: rectangleAt, + findWithin: findWithin, + findWithinExact: findWithinExact, + deriveExact: deriveExact, + clearAll: clearAll + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.api.HtmlPatterns', + + [ + + ], + + function () { + return { + validStyles: function () { + return /^(mso-.*|tab-stops|tab-interval|language|text-underline|text-effect|text-line-through|font-color|horiz-align|list-image-[0-9]+|separator-image|table-border-color-(dark|light)|vert-align|vnd\..*)$/; + }, + specialInline: function () { + return /^(font|em|strong|samp|acronym|cite|code|dfn|kbd|tt|b|i|u|s|sub|sup|ins|del|var|span)$/; + } + }; + } +); +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.violin.StringMatch', + + [ + + ], + + function () { + var starts = function (value) { + return folder(function (s, p, c, e, a, n) { + return s(value); + }); + }; + + var pattern = function (regex) { + return folder(function (s, p, c, e, a, n) { + return p(regex); + }); + }; + + var contains = function (value) { + return folder(function (s, p, c, e, a, n) { + return c(value); + }); + }; + + var exact = function (value) { + return folder(function (s, p, c, e, a, n) { + return e(value); + }); + }; + + var all = function () { + return folder(function (s, p, c, e, a, n) { + return a(); + }); + }; + + var not = function (sm) { + return folder(function (s, p, c, e, a, n) { + return n(sm); + }); + }; + + var folder = function (fold) { + var matches = function (str) { + return fold(function (value) { + return str.toLowerCase().indexOf(value.toLowerCase()) === 0; + }, function (regex) { + return regex.test(str.toLowerCase()); + }, function (value) { + return str.toLowerCase().indexOf(value.toLowerCase()) >= 0; + }, function (value) { + return str.toLowerCase() === value.toLowerCase(); + }, function () { + return true; + }, function (other) { + return !other.matches(str); + }); + }; + + return { + fold: fold, + matches: matches + }; + }; + + var cata = function (subject, s, p, c, e, a, n) { + return subject.fold(s, p, c, e, a, n); + }; + + return { + starts: starts, + pattern: pattern, + contains: contains, + exact: exact, + all: all, + not: not, + cata: cata + }; + } +); +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.api.RuleMatch', + + [ + 'ephox.peanut.Fun', + 'ephox.sugar.api.Node', + 'ephox.violin.StringMatch' + ], + + function (Fun, Node, StringMatch) { + var keyval = function (element, value, key, rule) { + var ruleName = rule.name; + var ruleCondition = rule.condition !== undefined ? rule.condition : Fun.constant(true); + var ruleValue = rule.value !== undefined ? rule.value : StringMatch.all(); + return ruleName.matches(key) && ruleValue.matches(value) && ruleCondition(element); + }; + + var name = function (element, rule) { + var tag = Node.name(element); + var ruleName = rule.name; + var ruleCondition = rule.condition !== undefined ? rule.condition : Fun.constant(true); + return ruleName.matches(tag) && ruleCondition(element); + }; + + return { + keyval: keyval, + name: name + }; + } +); +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.cleanup.AttributeAccess', + + [ + 'ephox.compass.Arr', + 'ephox.compass.Obj', + 'ephox.peanut.Fun', + 'ephox.sugar.api.Attr' + ], + + function (Arr, Obj, Fun, Attr) { + var filter = function (element, predicate) { + var r = {}; + Arr.each(element.dom().attributes, function (a) { + if (!predicate(a.value, a.name)) r[a.name] = a.value; + }); + return r; + }; + + var update = function (element, names, keepers) { + Arr.each(names, function (name) { + Attr.remove(element, name); + }); + + Obj.each(keepers, function (v, k) { + Attr.set(element, k, v); + }); + }; + + var clobber = function (element, supported, _unsupported) { + var names = Arr.map(element.dom().attributes, function (attribute) { + return attribute.name; + }); + + if (Obj.size(supported) !== names.length) update(element, names, supported); + }; + + return { + filter: filter, + clobber: clobber, + // There are no hidden attributes that I know about. + scan: Fun.constant({}) + }; + } +); +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.cleanup.StyleAccess', + + [ + 'ephox.compass.Arr', + 'ephox.compass.Obj', + 'ephox.sugar.api.Attr', + 'ephox.sugar.api.Css', + 'ephox.violin.Strings' + ], + + function (Arr, Obj, Attr, Css, Strings) { + var separate = function (style) { + var css = {}; + var bits = style !== undefined && style !== null ? style.split(';') : []; + Arr.each(bits, function (bit) { + var parts = bit.split(':'); + if (parts.length === 2) { + css[Strings.trim(parts[0])] = Strings.trim(parts[1]); + } + }); + return css; + }; + + var get = function (element, property) { + return element.dom().style.getPropertyValue(property); + }; + + var filter = function (element, predicate) { + var r = {}; + Arr.each(element.dom().style, function (property) { + var value = get(element, property); + if (!predicate(value, property)) r[property] = value; + }); + return r; + }; + + var set = function (element, property, value) { + Css.set(element, property, value); + }; + + // Find the style for any special styles. + var scan = function (element, special, predicate) { + var style = element.dom().getAttribute('style'); + var css = separate(style); + + var before = {}; + Arr.each(special, function (property) { + var value = css[property]; + if (value !== undefined && !predicate(value, property)) before[property] = value; + }); + + return before; + }; + + var serialise = function (unsupported) { + var preserved = Obj.keys(unsupported); + return Arr.map(preserved, function (pre) { + return pre + ': ' + unsupported[pre]; + }).join('; '); + }; + + var clobber = function (element, supported, unsupported) { + Attr.set(element, 'style', ''); + + var numSupported = Obj.size(supported); + var numUnsupported = Obj.size(unsupported); + + if (numSupported === 0 && numUnsupported === 0) Attr.remove(element, 'style'); + else if (numSupported === 0) Attr.set(element, 'style', serialise(unsupported)); + else { + Obj.each(supported, function (v, k) { + set(element, k, v); + }); + + var base = Attr.get(element, 'style'); + var extra = numUnsupported > 0 ? serialise(unsupported) + '; ' : ''; + Attr.set(element, 'style', extra + base); + } + }; + + return { + filter: filter, + clobber: clobber, + scan: scan + }; + } +); +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.cleanup.Cleaners', + + [ + 'ephox.pastiche.cleanup.AttributeAccess', + 'ephox.pastiche.cleanup.StyleAccess', + 'ephox.peanut.Fun', + 'ephox.sugar.api.Element' + ], + + function (AttributeAccess, StyleAccess, Fun, Element) { + var special = [ 'mso-list' ]; + + var style = function (element, predicate) { + var unsupported = StyleAccess.scan(element, special, predicate); + var supported = StyleAccess.filter(element, predicate); + StyleAccess.clobber(element, supported, unsupported); + }; + + var attribute = function (element, predicate) { + var keepers = AttributeAccess.filter(element, predicate); + AttributeAccess.clobber(element, keepers, {}); + }; + + var validateStyles = function (element) { + var supported = StyleAccess.filter(element, Fun.constant(false)); + StyleAccess.clobber(element, supported, {}); + }; + + var styleDom = function (dom, predicate) { + style(Element.fromDom(dom), predicate); + }; + + var attributeDom = function (dom, predicate) { + attribute(Element.fromDom(dom), predicate); + }; + + return { + style: style, + attribute: attribute, + styleDom: styleDom, + attributeDom: attributeDom, + validateStyles: validateStyles + }; + } +); +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.sugar.api.Classes', + + [ + 'ephox.compass.Arr', + 'ephox.sugar.api.Class', + 'global!Array' + ], + + function (Arr, Class, Array) { + /* + * ClassList is IE10 minimum: + * https://developer.mozilla.org/en-US/docs/Web/API/Element.classList + */ + + var add = function (element, classes) { + Arr.each(classes, function (x) { + Class.add(element, x); + }); + }; + + var remove = function (element, classes) { + Arr.each(classes, function (x) { + Class.remove(element, x); + }); + }; + + var toggle = function (element, classes) { + Arr.each(classes, function (x) { + Class.toggle(element, x); + }); + }; + + var hasAll = function (element, classes) { + return Arr.forall(classes, function (clazz) { + return Class.has(element, clazz); + }); + }; + + var hasAny = function (element, classes) { + return Arr.exists(classes, function (clazz) { + return Class.has(element, clazz); + }); + }; + + var get = function (element) { + var classList = element.dom().classList; + var r = new Array(classList.length); + for (var i = 0; i < classList.length; i++) { + r[i] = classList.item(i); + } + return r; + }; + + // set deleted, risks bad performance. Be deterministic. + + return { + add: add, + remove: remove, + toggle: toggle, + hasAll: hasAll, + hasAny: hasAny, + get: get + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.engine.Pipeless', + + [ + 'ephox.compass.Arr', + 'ephox.highway.Merger', + 'ephox.pastiche.api.RuleMatch', + 'ephox.pastiche.cleanup.Cleaners', + 'ephox.peanut.Fun', + 'ephox.sugar.api.Attr', + 'ephox.sugar.api.Class', + 'ephox.sugar.api.Classes', + 'ephox.sugar.api.Remove', + 'ephox.sugar.api.SelectorFilter' + ], + + function (Arr, Merger, RuleMatch, Cleaners, Fun, Attr, Class, Classes, Remove, SelectorFilter) { + var cleaner = function (type, rules, element) { + // Use Cleaners.style or Cleaners.attribute as "type". + type(element, function (value, key) { + return Arr.exists(rules, function (rule) { + return RuleMatch.keyval(element, value, key, rule); + }); + }); + }; + + var remover = function (container, strat) { + var strategy = Merger.merge({ styles: [], attributes: [], classes: [], tags: [] }, strat); + + var elements = SelectorFilter.descendants(container, '*'); + Arr.each(elements, function (element) { + cleaner(Cleaners.style, strategy.styles, element); + cleaner(Cleaners.attribute, strategy.attributes, element); + + Arr.each(strategy.classes, function (rule) { + var actual = Attr.has(element, 'class') ? Classes.get(element) : []; + Arr.each(actual, function (act) { + if (rule.name.matches(act)) Class.remove(element, act); + }); + }); + }); + + // Now, remove the tags. + var postElements = SelectorFilter.descendants(container, '*'); + Arr.each(postElements, function (element) { + var matching = Arr.exists(strategy.tags, Fun.curry(RuleMatch.name, element)); + if (matching) Remove.remove(element); + }); + }; + + var unwrapper = function (container, strat) { + var strategy = Merger.merge({ tags: [] }, strat); + + var elements = SelectorFilter.descendants(container, '*'); + Arr.each(elements, function (element) { + var matching = Arr.exists(strategy.tags, Fun.curry(RuleMatch.name, element)); + if (matching) Remove.unwrap(element); + }); + }; + + var transformer = function (container, strat) { + var strategy = Merger.merge({ tags: [] }, strat); + + var elements = SelectorFilter.descendants(container, '*'); + Arr.each(elements, function (element) { + var rule = Arr.find(strategy.tags, Fun.curry(RuleMatch.name, element)); + if (rule !== undefined && rule !== null) rule.mutate(element); + }); + }; + + var validator = function (container) { + var elements = SelectorFilter.descendants(container, '*'); + Arr.each(elements, function (element) { + Cleaners.validateStyles(element); + }); + }; + + return { + remover: remover, + unwrapper: unwrapper, + transformer: transformer, + validator: validator + }; + } +); +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.engine.Token', + + [ + 'ephox.compass.Obj', + 'ephox.sugar.api.Css', + 'ephox.sugar.api.Element' + ], + + function (Obj, Css, Element) { + var START_ELEMENT_TYPE = 'startElement'; + var END_ELEMENT_TYPE = 'endElement'; + var TEXT_TYPE = 'text'; + var COMMENT_TYPE = 'comment'; + + var token = function(node, endNode, syntheticStyles) { + var tokenType; + var tagName; + var tokenText; + + var element = Element.fromDom(node); + + switch (node.nodeType) { + case 1: + if (endNode) { + tokenType = END_ELEMENT_TYPE; + } else { + tokenType = START_ELEMENT_TYPE; + + Css.setAll(element, syntheticStyles || {}); + } + if (node.scopeName !== "HTML" && node.scopeName && node.tagName && node.tagName.indexOf(':') <= 0) { + tagName = (node.scopeName + ":" + node.tagName).toUpperCase(); + } else { + tagName = node.tagName; + } + + break; + case 3: + tokenType = TEXT_TYPE; + tokenText = node.nodeValue; + break; + case 8: + tokenType = COMMENT_TYPE; + tokenText = node.nodeValue; + break; + default: + console.log("WARNING: Unsupported node type encountered: " + node.nodeType); + break; + } + + var getNode = function() { + return node; + }; + + var tag = function() { + return tagName; + }; + + var type = function() { + return tokenType; + }; + + var text = function() { + return tokenText; + }; + + return { + getNode: getNode, + tag: tag, + type: type, + text: text + }; + }; + + var createStartElement = function(tag, attributes, styles, document) { + var node = document.createElement(tag), css = ""; + + Obj.each(attributes, function(value, name) { + node.setAttribute(name, value); + }); + + return token(node, false, styles); + }; + + var createEndElement = function(tag, document) { + return token(document.createElement(tag), true); + }; + + var createComment = function(text, document) { + return token(document.createComment(text), false); + }; + + var createText = function(text, document) { + return token(document.createTextNode(text)); + }; + + var FINISHED = createEndElement('HTML', window.document); + + return { + START_ELEMENT_TYPE: START_ELEMENT_TYPE, + END_ELEMENT_TYPE: END_ELEMENT_TYPE, + TEXT_TYPE: TEXT_TYPE, + COMMENT_TYPE: COMMENT_TYPE, + FINISHED: FINISHED, + token: token, + createStartElement: createStartElement, + createEndElement: createEndElement, + createComment: createComment, + createText: createText + }; + + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.engine.Serialiser', + + [ + 'ephox.pastiche.engine.Token' + ], + + function (Token) { + var create = function (doc) { + var currentNode = doc.createDocumentFragment(); + var initialNode = currentNode; + + var push = function(node) { + append(node); + currentNode = node; + }; + + var pop = function() { + currentNode = currentNode.parentNode; + }; + + var append = function(node) { + currentNode.appendChild(node); + }; + + var receive = function(token) { + var startElement = function(token) { + var node = token.getNode().cloneNode(false); + push(node); + }; + + var text = function(token, serializer) { + // IE7 will crash if you clone a text node that's a URL. + // IE8 throws an invalid argument error. + // So while cloning may be faster, we have to create a new node here. + var node = doc.createTextNode(token.text()); + append(node); + }; + + switch (token.type()) { + case Token.START_ELEMENT_TYPE: + startElement(token); + break; + case Token.TEXT_TYPE: + text(token); + break; + case Token.END_ELEMENT_TYPE: + pop(); + break; + case Token.COMMENT_TYPE: + // Ignore. + break; + default: + throw { message: 'Unsupported token type: ' + token.type() }; + } + }; + + return { + dom: initialNode, + receive: receive, + label: 'SERIALISER' + }; + }; + + return { + create: create + }; + + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.engine.Tokeniser', + + [ + 'ephox.pastiche.engine.Token' + ], + + function (Token) { + var tokenise = function(html, document) { + var container; + document = document || window.document; + container = document.createElement('div'); + document.body.appendChild(container); + container.style.position = 'absolute'; + container.style.left = '-10000px'; + container.innerHTML = html; + + nextNode = container.firstChild || Token.FINISHED; + + var nodeStack = []; + endNode = false; + + var getTokenForNode = function(node, endTag) { + if (node === Token.FINISHED) { + return node; + } else if (node) { + return Token.token(node, endTag); + } else { + return undefined; + } + }; + + var next = function() { + var currentNode = nextNode; + var currentEndNode = endNode; + if (!endNode && nextNode.firstChild) { + nodeStack.push(nextNode); + nextNode = nextNode.firstChild; + } else if (!endNode && nextNode.nodeType === 1) { + // Empty element. + endNode = true; + } else if (nextNode.nextSibling) { + nextNode = nextNode.nextSibling; + endNode = false; + } else { + nextNode = nodeStack.pop(); + endNode = true; + } + + if (currentNode !== Token.FINISHED && !nextNode) { + document.body.removeChild(container); + nextNode = Token.FINISHED; + } + + return getTokenForNode(currentNode, currentEndNode); + }; + + var hasNext = function() { + return nextNode !== undefined; + }; + + return { + hasNext: hasNext, + next: next + }; + }; + + return { + tokenise: tokenise + }; + + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.engine.Pipeline', + + [ + 'ephox.pastiche.engine.Serialiser', + 'ephox.pastiche.engine.Tokeniser' + ], + + function (Serialiser, Tokeniser) { + var build = function(doc, filters, sink) { + var i, filter = sink; + for (i = filters.length - 1; i >= 0; i--) { + //This is calling the function defined by Filter.createFilter(). + //The best description I can come up with is "function composition using CPS". + //Filters are run in reverse order to the loop, which is reversed so the arrays below define the order. + //And then the sink comes last (which means it's injected on the first pass of the loop). + // filter = filters[i](doc, filter); + + // TEMPORARY: + filter = filters[i](filter, {}, doc); + } + return filter; + }; + + var run = function(doc, content, filters) { + var sink = Serialiser.create(doc); + var tokeniser = Tokeniser.tokenise(content, doc); + var pipeline = build(doc, filters, sink); + while (tokeniser.hasNext()) { + var token = tokeniser.next(); + pipeline.receive(token); + } + return sink.dom; + }; + + return { + build: build, + run: run + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.api.HybridAction', + + [ + 'ephox.compass.Arr', + 'ephox.pastiche.engine.Pipeless', + 'ephox.pastiche.engine.Pipeline', + 'ephox.sugar.api.Element', + 'ephox.sugar.api.Html', + 'ephox.sugar.api.Remove', + 'ephox.sugar.api.Traverse' + ], + + function (Arr, Pipeless, Pipeline, Element, Html, Remove, Traverse) { + var removal = function (spec) { + return function (container) { + Pipeless.remover(container, spec); + }; + }; + + var unwrapper = function (spec) { + return function (container) { + Pipeless.unwrapper(container, spec); + }; + }; + + var transformer = function (spec) { + return function (container) { + Pipeless.transformer(container, spec); + }; + }; + + var validate = function () { + return function (container) { + Pipeless.validator(container); + }; + }; + + var pipeline = function (pipes) { + return function (container) { + var html = Html.get(container); + var doc = Traverse.owner(container); + var sink = Pipeline.run(doc.dom(), html, pipes); + Remove.empty(container); + container.dom().appendChild(sink); + }; + }; + + var go = function (doc, input, actions) { + var container = Element.fromTag('div', doc.dom()); + container.dom().innerHTML = input; + Arr.each(actions, function (action) { + action(container); + }); + return Html.get(container); + }; + + var isWordContent = function (content) { + return content.indexOf('') >= 0 || // IE, Safari, Opera + content.indexOf('p.MsoNormal, li.MsoNormal, div.MsoNormal') >= 0 || // Firefox Mac + content.indexOf('MsoListParagraphCxSpFirst') >= 0 || // Windows list only selection + content.indexOf('') >= 0; // Firefox Windows + }; + + return { + removal: removal, + unwrapper: unwrapper, + transformer: transformer, + validate: validate, + pipeline: pipeline, + isWordContent: isWordContent, + go: go + }; + } +); +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.api.RuleConditions', + + [ + 'ephox.compass.Arr', + 'ephox.sugar.api.Attr', + 'ephox.sugar.api.Html', + 'ephox.sugar.api.Node', + 'ephox.sugar.api.PredicateExists' + ], + + function (Arr, Attr, Html, Node, PredicateExists) { + var isNotImage = function (elem) { + return Node.name(elem) !== 'img'; + }; + + var isImportantSpan = function (elem) { + var attrs = elem.dom().attributes; + var hasAttrs = attrs !== undefined && attrs !== null && attrs.length > 0; + return Node.name(elem) === 'span' ? hasAttrs : true; + }; + + var hasContent = function (elem) { + if (!hasNoAttributes(elem)) return true; + else { + return isImportantSpan(elem) && PredicateExists.descendant(elem, function (e) { + var hasAttributes = !hasNoAttributes(e); + var isContentTag = !Arr.contains([ + 'font', 'em', 'strong', 'samp', 'acronym', 'cite', 'code', 'dfn', 'kbd', 'tt', 'b', 'i', + 'u', 's', 'sub', 'sup', 'ins', 'del', 'var', 'span' + ], Node.name(e)); + + return Node.isText(e) || hasAttributes || isContentTag; + }); + } + }; + + var isList = function (elem) { + return Node.name(elem) === 'ol' || Node.name(elem) === 'ul'; + }; + + var isLocal = function (element) { + var src = Attr.get(element, 'src'); + return (/^file:/).test(src); + }; + + var hasNoAttributes = function (elem) { + if (elem.dom().attributes === undefined || elem.dom().attributes === null) return true; + return elem.dom().attributes.length === 0 || (elem.dom().attributes.length === 1 && elem.dom().attributes[0].name === 'style'); + }; + + var isEmpty = function (elem) { + // Note, this means that things with zero width cursors are NOT considered empty + return Html.get(elem).length === 0; + }; + + return { + isNotImage: isNotImage, + hasContent: hasContent, + isList: isList, + isLocal: isLocal, + hasNoAttributes: hasNoAttributes, + isEmpty: isEmpty + }; + } +); +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.api.RuleMutations', + + [ + 'ephox.compass.Arr', + 'ephox.compass.Obj', + 'ephox.sugar.api.Attr', + 'ephox.sugar.api.Css', + 'ephox.sugar.api.Element', + 'ephox.sugar.api.Html', + 'ephox.sugar.api.Insert', + 'ephox.sugar.api.InsertAll', + 'ephox.sugar.api.Node', + 'ephox.sugar.api.Remove', + 'ephox.sugar.api.Traverse' + ], + + function (Arr, Obj, Attr, Css, Element, Html, Insert, InsertAll, Node, Remove, Traverse) { + var changeTag = function (tag, element) { + // We cannot use replication because it uses innerHTML rather than setting the children. + // Which means that any further transformations done to the children are not represented + // in the final output. + var replica = Element.fromTag(tag); + Insert.before(element, replica); + + var attributes = element.dom().attributes; + Arr.each(attributes, function (attr) { + replica.dom().setAttribute(attr.name, attr.value); + }); + + var children = Traverse.children(element); + InsertAll.append(replica, children); + Remove.remove(element); + return replica; + }; + + // Adds a
tag to any

tags that are empty + var addBrTag = function (element) { + if (Html.get(element).length === 0) { + Insert.append(element, Element.fromTag('br')); + } + }; + + var properlyNest = function (element) { + Traverse.parent(element).each(function (parent) { + var tag = Node.name(parent); + if (Arr.contains([ 'ol', 'ul' ], tag)) { + var li = Element.fromTag('li'); + Css.set(li, 'list-style-type', 'none'); + Insert.wrap(element, li); + } + }); + }; + + var fontToSpan = function (element) { + var span = changeTag('span', element); + var conversions = { + face: 'font-family', + size: 'font-size', + color: 'font-color' + }; + + var values = { + 'font-size': { + '1': '8pt', + '2': '10pt', + '3': '12pt', + '4': '14pt', + '5': '18pt', + '6': '24pt', + '7': '36pt' + } + }; + + Obj.each(conversions, function (style, attribute) { + if (Attr.has(span, attribute)) { + var value = Attr.get(span, attribute); + var cssValue = values[style] !== undefined && values[style][value] !== undefined ? values[style][value] : value; + Css.set(span, style, cssValue); + Attr.remove(span, attribute); + } + }); + }; + + return { + changeTag: changeTag, + addBrTag: addBrTag, + properlyNest: properlyNest, + fontToSpan: fontToSpan + }; + } +); +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.engine.Filter', + + [ + 'ephox.compass.Arr', + 'ephox.pastiche.engine.Token' + ], + + function (Arr, Token) { + var createFilter = function(actualReceiver, clientReset, label) { + var filter = function(nextFilter, settings, document, _logger) { + var logger = _logger !== undefined ? _logger : []; + + var deferred; + var receivedTokens, emittedTokens, inTransaction = false; + + var resetState = function() { + if (clientReset) clientReset(api); + inTransaction = false; + receivedTokens = []; + emittedTokens = []; + }; + + var emitTokens = function(tokens) { + Arr.each(tokens, function(tok) { + nextFilter.receive(tok); + }); + }; + + var emit = function(token) { + if (inTransaction) { + emittedTokens.push(token); + } else { + nextFilter.receive(token); + } + }; + + var receive = function(token) { + if (clientReset) receivedTokens.push(token); + actualReceiver(api, token); + if (token === Token.FINISHED) { + commit(); + } + }; + + var startTransaction = function() { + inTransaction = true; + }; + + var rollback = function() { + emitTokens(receivedTokens); + resetState(); + }; + + var commit = function() { + emitDeferred(); + emitTokens(emittedTokens); + resetState(); + }; + + var defer = function(token) { + deferred = deferred || []; + deferred.push(token); + }; + + var hasDeferred = function() { + return deferred && deferred.length > 0; + }; + + var emitDeferred = function() { + Arr.each(deferred || [], function(token) { + emit(token); + }); + dropDeferred(); + }; + + var dropDeferred = function() { + deferred = []; + }; + + var api = { + document: document || window.document, + settings: settings || {}, + emit: emit, + receive: receive, + startTransaction: startTransaction, + rollback: rollback, + commit: commit, + defer: defer, + hasDeferred: hasDeferred, + emitDeferred: emitDeferred, + dropDeferred: dropDeferred, + label: label + }; + + resetState(); + return api; + }; + return filter; + }; + + return { + createFilter: createFilter + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.engine.TokenUtil', + + [ + 'ephox.pastiche.cleanup.StyleAccess', + 'ephox.pastiche.engine.Token', + 'ephox.peanut.Fun', + 'ephox.sugar.api.Attr', + 'ephox.sugar.api.Css', + 'ephox.sugar.api.Element' + ], + + function (StyleAccess, Token, Fun, Attr, Css, Element) { + var getAttribute = function (token, property) { + var element = Element.fromDom(token.getNode()); + return Attr.get(element, property); + }; + + var getStyle = function (token, property) { + var element = Element.fromDom(token.getNode()); + return Css.get(element, property); + }; + + var isWhitespace = function (token) { + return token.type() === Token.TEXT_TYPE && /^[\s\u00A0]*$/.test(token.text()); + }; + + var getMsoList = function (token) { + var element = Element.fromDom(token.getNode()); + var styles = StyleAccess.scan(element, [ 'mso-list' ], Fun.constant(false)); + return styles['mso-list']; + }; + + return { + getAttribute: getAttribute, + getStyle: getStyle, + isWhitespace: isWhitespace, + getMsoList: getMsoList + }; + } +); +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.list.detect.ListSymbols', + + [ + 'ephox.compass.Arr', + 'ephox.highway.Merger' + ], + + function (Arr, Merger) { + + var orderedListTypes = [ + { regex: /^\(?[dc][\.\)]$/, type: { tag: 'OL', type: 'lower-alpha' } }, + { regex: /^\(?[DC][\.\)]$/, type: { tag: 'OL', type: 'upper-alpha' } }, + { regex: /^\(?M*(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})[\.\)]$/, type: { tag: 'OL', type: 'upper-roman' } }, + { regex: /^\(?m*(cm|cd|d?c{0,3})(xc|xl|l?x{0,3})(ix|iv|v?i{0,3})[\.\)]$/, type: { tag: 'OL', type: 'lower-roman' } }, + { regex: /^\(?[0-9]+[\.\)]$/, type: { tag: 'OL' } }, + { regex: /^([0-9]+\.)*[0-9]+\.?$/, type: { tag: 'OL', variant: 'outline' } }, + { regex: /^\(?[a-z]+[\.\)]$/, type: { tag: 'OL', type: 'lower-alpha' } }, + { regex: /^\(?[A-Z]+[\.\)]$/, type: { tag: 'OL', type: 'upper-alpha' } } + ]; + + var ulChars = { + '\u2022': { tag: 'UL', type: 'disc' }, + '\u00B7': { tag: 'UL', type: 'disc' }, + '\u00A7': { tag: 'UL', type: 'square' } + }; + + var ulNonSymbolChars = { + 'o': { tag: 'UL', type: 'circle' }, + '-': { tag: 'UL', type: 'disc' }, + '\u25CF': { tag: 'UL', type: 'disc' }, + '�': { tag: 'UL', type: 'circle' } + }; + + var getVariant = function (type, text) { + if (type.variant !== undefined) return type.variant; + else if (text.charAt(0) === '(') return '()'; + else if (text.charAt(text.length - 1) === ')') return ')'; + else return '.'; + }; + + var getStart = function (text) { + var number = parseInt(text, 10); + return isNaN(number) ? { } : { start: number }; + }; + + var match = function (text, inSymbol) { + var nonSymbols = ulNonSymbolChars[text] ? [ ulNonSymbolChars[text] ] : []; + var symbols = inSymbol && ulChars[text] ? [ ulChars[text] ] : inSymbol ? [{ tag: 'UL', variant: text }] : []; + var ordered = Arr.bind(orderedListTypes, function (o) { + return o.regex.test(text) ? [ Merger.merge(o.type, getStart(text), { + variant: getVariant(o.type, text) + })] : []; + }); + + var result = nonSymbols.concat(symbols).concat(ordered); + return Arr.map(result, function (x) { + return x.variant !== undefined ? x : Merger.merge(x, { + variant: text + }); + }); + }; + + return { + match: match + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.list.detect.ListGuess', + + [ + 'ephox.compass.Arr', + 'ephox.pastiche.list.detect.ListSymbols', + 'ephox.perhaps.Option', + 'ephox.violin.Strings' + ], + + function (Arr, ListSymbols, Option, Strings) { + + var guess = function(bulletInfo, preferredType) { + var text = bulletInfo ? Strings.trim(bulletInfo.text) : ''; + var symbolFont = bulletInfo ? !!bulletInfo.symbolFont : false; + var candidates = ListSymbols.match(text, symbolFont); + var preferred = Arr.find(candidates, function (c) { + // The original code only ran preferred types for ordered lists. I have + // no idea whether this is a condition that we want preserved, but one + // of the QUnit tests implicitly stated it is. + return c.tag === 'UL' || (preferredType && eqListType(c, preferredType, true)); + }); + return preferred !== undefined ? Option.some(preferred) : + candidates.length > 0 ? Option.some(candidates[0]) : Option.none(); + }; + + var eqListType = function(t1, t2, ignoreVariant) { + return t1 === t2 || + (t1 && t2 && t1.tag === t2.tag && t1.type === t2.type && + (ignoreVariant || t1.variant === t2.variant)); + }; + + return { + guess: guess, + eqListType: eqListType + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.list.detect.ListTypes', + + [ + 'ephox.pastiche.engine.Token', + 'ephox.pastiche.engine.TokenUtil', + 'ephox.pastiche.list.detect.ListGuess' + ], + + function (Token, TokenUtil, ListGuess) { + + var guess = function(bulletInfo, preferredType, originalToken) { + var candidate = ListGuess.guess(bulletInfo, preferredType); + return candidate.fold(function () { + return null; + }, function (c) { + if (c.tag === 'OL' && originalToken && (originalToken.tag() !== 'P' || /^MsoHeading/.test(TokenUtil.getAttribute(originalToken, 'class')))) { + // Don't convert numbered headings but do convert bulleted headings. + listType = null; + } else { + return c; + } + }); + }; + + var eqListType = ListGuess.eqListType; + + var checkFont = function(token, symbolFont) { + if (token.type() == Token.START_ELEMENT_TYPE) { + font = TokenUtil.getStyle(token, 'font-family'); + if (font) { + symbolFont = (font === 'Wingdings' || font === 'Symbol'); + } else if (/^(P|H[1-6]|DIV)$/.test(token.tag())) { + symbolFont = false; + } + } + return symbolFont; + }; + + return { + guess: guess, + eqListType: eqListType, + checkFont: checkFont + }; + + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.inspect.Microsoft', + + [ + 'ephox.pastiche.engine.Token', + 'ephox.pastiche.engine.TokenUtil' + ], + + function (Token, TokenUtil) { + var isList = function (state, token) { + var style = TokenUtil.getMsoList(token); + return style && style !== 'skip'; + }; + + var isIgnore = function (state, token) { + return token.type() == Token.START_ELEMENT_TYPE && TokenUtil.getMsoList(token) === 'Ignore'; + }; + + return { + isList: isList, + isIgnore: isIgnore + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.inspect.Tags', + + [ + 'ephox.compass.Arr', + 'ephox.pastiche.engine.Token', + 'ephox.violin.Strings' + ], + + function (Arr, Token, Strings) { + var isStart = function (state, token) { + return token.type() === Token.START_ELEMENT_TYPE; + }; + + var isEnd = function (state, token) { + return token.type() === Token.END_ELEMENT_TYPE; + }; + + var isTag = function (tag) { + return function (state, token) { + return token.tag() === tag; + }; + }; + + var isWhitespace = function (tag) { + return function (state, token) { + return isTag(tag)(state, token) && Strings.trim(token.getNode().textContent) === ''; + }; + }; + + var isStartOf = function (tag) { + return function (state, token) { + return isStart(state, token) && token.tag() === tag; + }; + }; + + var isEndOf = function (tag) { + return function (state, token) { + return isEnd(state, token) && token.tag() === tag; + }; + }; + + var isStartAny = function (tags) { + return function (state, token) { + return isStart(state, token) && Arr.contains(tags, token.tag()); + }; + }; + + var isEndAny = function (tags) { + return function (state, token, tags) { + return isEnd(state, token) && Arr.contains(tags, token.tag()); + }; + }; + + return { + isStart: isStart, + isEnd: isEnd, + isTag: isTag, + isStartOf: isStartOf, + isEndOf: isEndOf, + isStartAny: isStartAny, + isEndAny: isEndAny, + isWhitespace: isWhitespace + }; + } +); +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.inspect.Paragraphs', + + [ + 'ephox.pastiche.inspect.Microsoft', + 'ephox.pastiche.inspect.Tags' + ], + + function (Microsoft, Tags) { + // MOVE ME. + var isNormal = function (state, token) { + return !state.skippedPara.get() && Tags.isStart(state, token, 'P') && !Microsoft.isList(state, token); + }; + + return { + isNormal: isNormal + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.inspect.Texts', + + [ + 'ephox.pastiche.engine.Token', + 'ephox.pastiche.engine.TokenUtil', + 'ephox.violin.Strings' + ], + + function (Token, TokenUtil, Strings) { + var isWhitespace = function (state, token) { + return is(state, token) && TokenUtil.isWhitespace(token); + }; + + var is = function (state, token) { + return token.type() === Token.TEXT_TYPE; + }; + + var eq = function (value) { + return function (state, token) { + return is(state, token) && token.text() === value; + }; + }; + + var matches = function (value) { + return function (state, token) { + return is(state, token) && value.test(token.text()); + }; + }; + + // CHECK: Is this equivalent to isWhitespace? + var isBlank = function (state, token) { + return is(state, token) && Strings.trim(token.text()) === ''; + }; + + return { + isWhitespace: isWhitespace, + is: is, + isBlank: isBlank, + eq: eq, + matches: matches + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.list.stage.Handler', + + [ + 'ephox.peanut.Fun' + ], + + function (Fun) { + return function (pred, action, label) { + return { + pred: pred, + action: action, + label: Fun.constant(label) + }; + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.list.stage.Handlers', + + [ + 'ephox.compass.Arr', + 'ephox.peanut.Fun', + 'ephox.perhaps.Option' + ], + + function (Arr, Fun, Option) { + var logger = function (label, action) { + return function (api, state, token) { + // console.log('LOGGER: ', label, token.getNode().cloneNode(false)); + return action(api, state, token); + }; + }; + + return function (name, handlers, fallback) { + var logFallback = logger(name + ' :: FALLBACK --- ', fallback); + + var r = function (api, state, token) { + // console.log('token: ', token.getNode().cloneNode(true)); + var match = Option.from(Arr.find(handlers, function (x) { + return x.pred(state, token); + })); + + var action = match.fold(Fun.constant(logFallback), function (m) { + var label = m.label(); + return label === undefined ? m.action : logger(name + ' :: ' + label, m.action); + }); + action(api, state, token); + }; + + r.toString = function () { return 'Handlers for ' + name; }; + return r; + }; + + + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.list.state.Transitions', + + [ + ], + + function () { + var next = function (state, listState) { + if (state === undefined || listState === undefined) { + console.trace(); + throw 'brick'; + } + state.nextFilter.set(listState); + }; + + var setNext = function (listState) { + return function (api, state, token) { + next(state, listState); + }; + }; + + var go = function (api, state, token) { + var nextFilter = state.nextFilter.get(); + nextFilter(api, state, token); + }; + + var jump = function (listState) { + return function (api, state, token) { + next(state, listState); + go(api, state, token); + }; + }; + + var isNext = function (state, listState) { + return state.nextFilter.get() === listState; + }; + + return { + next: next, + go: go, + jump: jump, + isNext: isNext, + setNext: setNext + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.list.stage.AfterListState', + + [ + 'ephox.pastiche.inspect.Paragraphs', + 'ephox.pastiche.inspect.Texts', + 'ephox.pastiche.list.stage.Handler', + 'ephox.pastiche.list.stage.Handlers', + 'ephox.pastiche.list.state.Transitions' + ], + + function (Paragraphs, Texts, Handler, Handlers, Transitions) { + var run = function (skipEmptyParaState, noListState) { + + var blankAction = function (api, state, token) { + api.defer(token); + }; + + var normalParaAction = function (api, state, token) { + state.openedTag.set(token); + api.defer(token); + Transitions.next(state, skipEmptyParaState); + }; + + var fallback = function (api, state, token) { + noListState(api, state, token); + }; + + return Handlers('AfterListState', [ + Handler(Texts.isBlank, blankAction, 'blank text'), + Handler(Paragraphs.isNormal, normalParaAction, 'normal paragraph') + ], fallback); + }; + + return { + run: run + }; + + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.inspect.States', + + [ + 'ephox.pastiche.engine.Token' + ], + + function (Token) { + // MOVE ME? + var isCloser = function (state, token) { + return token.type() === Token.END_ELEMENT_TYPE && state.originalToken.get() && token.tag() === state.originalToken.get().tag(); + }; + + return { + isCloser: isCloser + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.list.stage.AfterNoBulletListState', + + [ + 'ephox.pastiche.inspect.States', + 'ephox.pastiche.list.stage.Handler', + 'ephox.pastiche.list.stage.Handlers', + 'ephox.pastiche.list.state.Transitions' + ], + + function (States, Handler, Handlers, Transitions) { + var run = function (afterListState) { + + var action = function (api, state, token) { + Transitions.next(state, afterListState); + /* + I think that this should be 0, but it breaks qUnit test cases in powerpaste if it isn't -1. Probably + need to look into it in more detail. The level 0 check in ListModel in the emitter should + take care of it anyway. + */ + state.styleLevelAdjust.set(-1); + api.emit(token); + }; + + var fallback = function (api, state, token) { + api.emit(token); + }; + + return Handlers('AfterNoBullet', [ + Handler(States.isCloser, action, ' closing open tag') + ], fallback); + }; + + return { + run: run + }; + + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.inspect.Images', + + [ + 'ephox.pastiche.inspect.Tags' + ], + + function (Tags) { + + var isEnd = Tags.isEndOf('IMG'); + var isStart = Tags.isStartOf('IMG'); + + return { + isStart: isStart, + isEnd: isEnd + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.inspect.Markers', + + [ + 'ephox.pastiche.engine.Token' + ], + + function (Token) { + + var is = function (state, token) { + return token.tag() === 'A' || token.tag() === 'SPAN'; + }; + + var isStart = function (state, token) { + return token.type() === Token.START_ELEMENT_TYPE && is(state, token); + }; + + var isEnd = function (state, token) { + return token.type() === Token.END_ELEMENT_TYPE && is(state, token); + }; + + return { + isStart: isStart, + isEnd: isEnd, + is: is + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.list.state.Spans', + + [ + 'ephox.pastiche.list.state.Transitions' + ], + + function (Transitions) { + var deferAndPop = function (api, state, token) { + api.defer(token); + pop(api, state, token); + }; + + var deferAndPush = function (api, state, token) { + api.defer(token); + push(api, state, token); + }; + + var push = function (api, state, token) { + state.spanCount.get().push(token); + }; + + var pop = function (api, state, token) { + state.spanCount.get().pop(); + }; + + var pushThen = function (listState) { + return function (api, state, token) { + push(api, state, token); + Transitions.next(state, listState); + }; + }; + + var popThen = function (listState) { + return function (api, state, token) { + pop(api, state, token); + Transitions.next(state, listState); + }; + }; + + return { + deferAndPush: deferAndPush, + deferAndPop: deferAndPop, + push: push, + pop: pop, + pushThen: pushThen, + popThen: popThen + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.list.stage.BeforeSpacerState', + + [ + 'ephox.pastiche.inspect.Images', + 'ephox.pastiche.inspect.Markers', + 'ephox.pastiche.list.stage.Handler', + 'ephox.pastiche.list.stage.Handlers', + 'ephox.pastiche.list.state.Spans', + 'ephox.peanut.Fun' + ], + + function (Images, Markers, Handler, Handlers, Spans, Fun) { + var run = function (spacerState, closeSpansState, unexpectedToken) { + + var fallback = function (api, state, token) { + unexpectedToken(api, token); + }; + + return Handlers('BeforeSpacer', [ + Handler(Markers.isStart, Spans.pushThen(spacerState), 'start marker'), + Handler(Markers.isEnd, Spans.popThen(closeSpansState), 'end marker'), + Handler(Images.isEnd, Fun.noop, 'end image') + ], fallback); + + }; + + return { + run: run + }; + + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.inspect.Comments', + + [ + 'ephox.pastiche.engine.Token' + ], + + function (Token) { + + var is = function (state, token) { + return token.type() === Token.COMMENT_TYPE; + }; + + var isNotEndIf = function (state, token) { + return is(state, token) && token.text() !== '[endif]'; + }; + + var isEndIf = function (state, token) { + return is(state, token) && token.text() === '[endif]'; + }; + + var isListSupport = function (state, token) { + return is(state, token) && token.text() === '[if !supportLists]'; + }; + + return { + is: is, + isNotEndIf: isNotEndIf, + isEndIf: isEndIf, + isListSupport: isListSupport + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.inspect.Logic', + + [ + 'ephox.compass.Arr' + ], + + function (Arr) { + var any = function (conditions) { + return function (state, token) { + return Arr.exists(conditions, function (c) { + return c(state, token); + }); + }; + }; + + var all = function (conditions) { + return function (state, token) { + return Arr.forall(conditions, function (c) { + return c(state, token); + }); + }; + }; + + return { + any: any, + all: all + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.list.stage.CloseSpansState', + + [ + 'ephox.pastiche.inspect.Comments', + 'ephox.pastiche.inspect.Logic', + 'ephox.pastiche.inspect.Markers', + 'ephox.pastiche.inspect.Tags', + 'ephox.pastiche.inspect.Texts', + 'ephox.pastiche.list.detect.ListTypes', + 'ephox.pastiche.list.stage.Handler', + 'ephox.pastiche.list.stage.Handlers', + 'ephox.pastiche.list.state.Spans', + 'ephox.pastiche.list.state.Transitions', + 'ephox.peanut.Fun', + 'ephox.perhaps.Option', + 'ephox.perhaps.Result' + ], + + function (Comments, Logic, Markers, Tags, Texts, ListTypes, Handler, Handlers, Spans, Transitions, Fun, Option, Result) { + var run = function (itemContentState, unexpectedToken) { + + var getListType = function (state) { + var currentType = state.emitter.getCurrentListType(); + var currentLevel = state.emitter.getCurrentLevel(); + // FIX: Don't coerce types. + var preferred = currentLevel == state.itemLevel.get() ? currentType : null; + return Option.from(ListTypes.guess(state.bulletInfo.get(), preferred, state.originalToken.get())); + }; + + var openItem = function (api, state, token) { + state.emitter.openItem(state.itemLevel.get(), state.originalToken.get(), state.listType.get(), state.skippedPara.get()); + api.emitDeferred(); + while (state.spanCount.get().length > 0) { + api.emit(state.spanCount.get().shift()); + } + }; + + var updateState = function (state, token) { + Transitions.next(state, itemContentState); + if (state.commentMode.get()) { + var indent = state.indentGuesser.guessIndentLevel(token, state.originalToken.get(), state.styles, state.bulletInfo.get()); + state.itemLevel.set(indent); + } + }; + + var tryItem = function (api, state, token) { + var listType = getListType(state); + return listType.fold(function () { + state.listType.set(null); + return Result.error("Unknown list type: " + state.bulletInfo.get().text + " Symbol font? " + state.bulletInfo.get().symbolFont); + }, function (type) { + state.listType.set(type); + return Result.value(openItem); + }); + }; + + var updateAndEmit = function (api, state, token) { + updateState(state, token); + var emitter = tryItem(api, state, token); + emitter.fold(function (msg) { + console.log(msg); + api.rollback(); + }, function (x) { + x(api, state, token); + api.emit(token); + }); + }; + + var skipComment = function (api, state, token) { + updateState(state, token); + var emitter = tryItem(api, state, token); + emitter.fold(function (msg) { + console.log(msg); + api.rollback(); + }, function (x) { + x(api, state, token); + }); + }; + + var handlers = [ + Handler(Logic.any([ Texts.is, Tags.isStart ]), updateAndEmit, 'text or start tag'), + Handler(Comments.isNotEndIf, updateAndEmit, 'non-endif comment'), + Handler(Comments.isEndIf, skipComment, 'endif comment'), + Handler(Markers.isEnd, Spans.pop, 'end marker'), + Handler(Tags.isEnd, Fun.noop, 'end tag') + ]; + + return Handlers('CloseSpans', handlers, function (api, state, token) { + unexpectedToken(api, token); + }); + }; + + return { + run: run + }; + + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.list.stage.FindListTypeState', + + [ + 'ephox.pastiche.inspect.Images', + 'ephox.pastiche.inspect.Markers', + 'ephox.pastiche.inspect.Texts', + 'ephox.pastiche.list.stage.Handler', + 'ephox.pastiche.list.stage.Handlers', + 'ephox.pastiche.list.state.Spans', + 'ephox.pastiche.list.state.Transitions', + 'ephox.peanut.Fun' + ], + + function (Images, Markers, Texts, Handler, Handlers, Spans, Transitions, Fun) { + var run = function (beforeSpacerState, unexpectedToken) { + var action = function (bullets) { + return function (api, state, token) { + Transitions.next(state, beforeSpacerState); + state.bulletInfo.set(bullets(state, token)); + }; + }; + + var textAction = action(function (state, token) { + return { + text: token.text(), + symbolFont: state.symbolFont.get() + }; + }); + + var imageAction = action(function (state, token) { + // Custom list image type. We can't access the image so use a normal bullet instead. + // EditLive! may want this to come through as a CSS reference. + return { + text: '\u2202', + symbolFont: true + }; + }); + + var fallback = function (api, state, token) { + unexpectedToken(api, token); + }; + + return Handlers('FindListType', [ + Handler(Texts.isWhitespace, Fun.noop, 'text is whitespace'), + Handler(Texts.is, textAction, 'text'), + Handler(Markers.isStart, Spans.push, 'start marker'), + Handler(Markers.isEnd, Spans.pop, 'end marker'), + Handler(Images.isStart, imageAction, 'start image') + ], fallback); + }; + + return { + run: run + }; + + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.list.stage.ItemContentState', + + [ + 'ephox.pastiche.inspect.States', + 'ephox.pastiche.list.stage.Handler', + 'ephox.pastiche.list.stage.Handlers', + 'ephox.pastiche.list.state.Transitions' + ], + + function (States, Handler, Handlers, Transitions) { + var run = function (afterListState) { + + var closeItem = function (api, state, token) { + Transitions.next(state, afterListState); + state.skippedPara.set(false); + }; + + var handlers = [ + Handler(States.isCloser, closeItem, 'Closing open tag') + ]; + + return Handlers('ItemContentState', handlers, function (api, state, token) { + api.emit(token); + }); + }; + + return { + run: run + }; + + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.list.state.CommentOff', + + [ + 'ephox.pastiche.inspect.Comments', + 'ephox.pastiche.inspect.Texts' + ], + + function (Comments, Texts) { + var isText = function (state, token) { + return !state.commentMode.get() && Texts.is(state, token); + }; + + var isComment = function (state, token) { + return !state.commentMode.get() && Comments.is(state, token); + }; + + return { + isText: isText, + isComment: isComment + }; + + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.list.state.CommentOn', + + [ + 'ephox.pastiche.engine.TokenUtil', + 'ephox.pastiche.inspect.Comments', + 'ephox.pastiche.inspect.Texts' + ], + + function (TokenUtil, Comments, Texts) { + var isText = function (state, token) { + return state.commentMode.get() && Texts.is(state, token); + }; + + var isComment = function (state, token) { + return state.commentMode.get() && Comments.is(state, token); + }; + + var isUnstyled = function (state, token) { + var style = TokenUtil.getAttribute(token, 'style'); + return state.commentMode.get() && style === "" || style === null; + }; + + return { + isText: isText, + isComment: isComment, + isUnstyled: isUnstyled + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.list.stage.ListStartState', + + [ + 'ephox.compass.Arr', + 'ephox.pastiche.inspect.Logic', + 'ephox.pastiche.inspect.Microsoft', + 'ephox.pastiche.inspect.Tags', + 'ephox.pastiche.inspect.Texts', + 'ephox.pastiche.list.detect.ListSymbols', + 'ephox.pastiche.list.stage.Handler', + 'ephox.pastiche.list.stage.Handlers', + 'ephox.pastiche.list.state.CommentOff', + 'ephox.pastiche.list.state.CommentOn', + 'ephox.pastiche.list.state.Spans', + 'ephox.pastiche.list.state.Transitions', + 'ephox.peanut.Fun' + ], + + function (Arr, Logic, Microsoft, Tags, Texts, ListSymbols, Handler, Handlers, CommentOff, CommentOn, Spans, Transitions, Fun) { + var run = function (findListTypeState, afterNoBulletListState, unexpectedToken) { + + /* In one of the adhoc tests on Word 2007, Win XP ... a span with a massive number of nbsp was + added at the ListStart stage. This was added to jump to the end of it. */ + var skipWhitespace = function () { + return Handlers('TESTER', [ + Handler(Tags.isEndOf('SPAN'), Transitions.setNext(result), 'Finishing span'), + Handler(Texts.isWhitespace, Fun.noop, 'Is whitespace') + ], function (api, state, token) { + unexpectedToken(api, token); + }); + }; + + var noBullet = function (api, state, token) { + // List type without a bullet, we should treat it as a paragraph. + + // What about if it is 1. or something similar? + var start = state.originalToken.get(); + var spans = state.spanCount.get(); + state.emitter.closeAllLists(); + api.emit(start); + Arr.each(spans, api.emit); + api.emit(token); + api.commit(); + state.originalToken.set(start); + Transitions.next(state, afterNoBulletListState); + }; + + var isBulletSymbol = function (s, t) { + return Texts.is(s, t) && ListSymbols.match(t.text(), s.symbolFont.get()).length > 0; + }; + + var result = function (api, state, token) { + if (Microsoft.isIgnore(state, token)) { + Transitions.next(state, findListTypeState); + } + + var r = Handlers('ListStartState', [ + Handler( + Logic.all([ Tags.isStartOf('SPAN'), CommentOn.isUnstyled ]), + Spans.pushThen(findListTypeState), + 'unstyled span' + ), + + // This handler was added due to adhoc Word 2007 XP content. It breaks QUnit tests. + /* Handler(Logic.all([ Tags.isStart, Tags.isWhitespace('SPAN') ]), Transitions.setNext(skipWhitespace()), 'a whitespace tag'), */ + Handler(Tags.isStartOf('SPAN'), Spans.push, 'starting span'), + Handler(Tags.isStartOf('A'), Spans.push, 'starting a'), + Handler(Tags.isEndOf('A'), Spans.pop, 'ending a'), + Handler(CommentOn.isText, Transitions.jump(findListTypeState), 'commentOn -> text'), + // This handler is new. It may be a problem. + Handler(isBulletSymbol, Transitions.jump(findListTypeState), 'mogran :: text is [1-9].'), + Handler(Texts.is, noBullet, 'text'), + Handler(CommentOff.isComment, Fun.noop, 'commentOff -> comment'), + + // This was added to handle more gracefully the images in some of the test data. May be wrong. + Handler(Tags.isStartOf('IMG'), Transitions.jump(findListTypeState), 'mogran :: start image tag') + ], function (api, state, token) { + unexpectedToken(api, token); + }); + + return r(api, state, token); + }; + + result.toString = function () { return 'Handlers for ListStartState'; }; + return result; + }; + + return { + run: run + }; + + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.inspect.Browser', + + [ + 'ephox.pastiche.engine.Token', + 'ephox.pastiche.inspect.Microsoft', + 'global!document', + 'global!navigator' + ], + + function (Token, Microsoft, document, navigator) { + var supportsCustomStyles = function () { + // Firefox 4 preserves these styles in the DOM, but strips them when pasting. + // Since we can't trigger a paste there's no way to detect this situation apart from sniffing. + if (navigator.userAgent.indexOf('Gecko') > 0 && navigator.userAgent.indexOf('WebKit') < 0) return false; + var div = document.createElement('div'); + try { + div.innerHTML = '

 

'; + } catch (ex) { + // Can't set innerHTML if we're in XHTML mode so just assume we don't get custom styles. + return false; + } + + var token = Token.token(div.firstChild); + // INVESTIGATE: Does this need to be lowercased? + return Microsoft.isIgnore({}/*state*/, token); + }; + + return { + supportsCustomStyles: supportsCustomStyles + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.list.detect.ImageList', + + [ + ], + + function () { + var is = function (state, node, symbol) { + var alt = node !== undefined && node !== null && node.getAttribute !== undefined && node.getAttribute !== null ? node.getAttribute('alt') : ''; + // The check here for === * is because we are disabling image lists as they + // interfere with regular images. The one exception where it is reasonable + // to assume it is a list is if the alt text is *. + return !!node && node.tagName === 'IMG' && alt === '*'; + }; + + return { + is: is + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.list.detect.TextList', + + [ + 'ephox.pastiche.list.detect.ListTypes', + 'ephox.violin.Strings' + ], + + function (ListTypes, Strings) { + var is = function (state, rawNode, symbol) { + var node = rawNode; + var value = node.nodeValue; + if (!Strings.trim(value)) { + // This handles the case where there's a SPAN with nbsps before the bullet such as with roman numerals. + node = node.parentNode.nextSibling; + value = node ? node.nodeValue : ''; + } + + // Real lists have the bullet with NBSPs either side surrounded in a SPAN. If there's anything else, it's not a list. + if (!node || Strings.trim(node.parentNode.textContent) != value) { + return false; + } + listType = ListTypes.guess({ text: value, symbolFont: symbol }, null, state.originalToken.get()); + + if (listType) { + + // Don't convert numbered headings to lists. + var r = !!node.nextSibling && node.nextSibling.tagName === 'SPAN' && /^[\u00A0\s]/.test(node.nextSibling.firstChild.nodeValue) && + (state.openedTag.get().tag() === 'P' || listType.tag === 'UL'); + return r; + } else { + return false; + } + }; + + return { + is: is + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.list.detect.ListDetect', + + [ + 'ephox.highway.Merger', + 'ephox.pastiche.inspect.Tags', + 'ephox.pastiche.list.detect.ImageList', + 'ephox.pastiche.list.detect.TextList' + ], + + function (Merger, Tags, ImageList, TextList) { + + var update = function (output) { + var node = output.node; + var font = node.style.fontFamily; + return font ? Merger.merge(output, { symbol: (font === 'Wingdings' || font === 'Symbol') }) : output; + }; + + var hasMarkerFirst = function (node) { + return !!node.firstChild && (node.firstChild.tagName === 'SPAN' || node.firstChild.tagName === 'A'); + }; + + var findItem = function (node) { + var output = update({ node: node }); + + var initialEmptyA = node.childNodes.length > 1 && output.node.firstChild.tagName === 'A' && output.node.firstChild.textContent === ''; + output = initialEmptyA ? { node: output.node.childNodes[1], symbol: output.symbol } : output; + + while (hasMarkerFirst(output.node)) { + output = update({ node: output.node.firstChild, symbol: output.symbol }); + } + + return { + node: output.node.firstChild, + symbol: output.symbol + }; + }; + + var isUnofficialList = function (state, token) { + if (!Tags.isStartOf('SPAN')(state, token) || !state.openedTag.get()) return false; + var node = state.openedTag.get().getNode(); + var item = findItem(node); + var detector = item.node && item.node.nodeType === 3 ? TextList : ImageList; + return detector.is(state, item.node, item.symbol); + }; + + return { + isUnofficialList: isUnofficialList + }; + + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.inspect.Lists', + + [ + 'ephox.pastiche.engine.TokenUtil', + 'ephox.pastiche.inspect.Browser', + 'ephox.pastiche.inspect.Comments', + 'ephox.pastiche.inspect.Microsoft', + 'ephox.pastiche.inspect.Tags', + 'ephox.pastiche.list.detect.ListDetect', + 'ephox.perhaps.Option' + ], + + function (TokenUtil, Browser, Comments, Microsoft, Tags, ListDetect, Option) { + var getLevel = function (token) { + var msoList = TokenUtil.getMsoList(token); + var lvl = / level([0-9]+)/.exec(msoList); + return lvl && lvl[1] ? Option.some(parseInt(lvl[1], 10)) : Option.none(); + }; + + var isStart = function (state, token) { + return Tags.isStart(state, token) && Microsoft.isList(state, token) && token.tag() !== 'LI'; + }; + + var isValidStart = function (state, token) { + return isStart(state, token) && getLevel(token).isSome(); + }; + + var isInvalidStart = function (state, token) { + return isStart(state, token) && getLevel(token).isNone(); + }; + + var isSpecial = function (state, token) { + var custom = Browser.supportsCustomStyles(); + return !custom && Comments.isListSupport(state, token) || ListDetect.isUnofficialList(state, token); + }; + + return { + getLevel: getLevel, + isStart: isStart, + isValidStart: isValidStart, + isInvalidStart: isInvalidStart, + isSpecial: isSpecial + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.list.stage.NoListState', + + [ + 'ephox.pastiche.inspect.Lists', + 'ephox.pastiche.inspect.Markers', + 'ephox.pastiche.inspect.Tags', + 'ephox.pastiche.list.stage.Handler', + 'ephox.pastiche.list.stage.Handlers', + 'ephox.pastiche.list.state.Spans', + 'ephox.pastiche.list.state.Transitions' + ], + + function (Lists, Markers, Tags, Handler, Handlers, Spans, Transitions) { + var run = function (lazyListStartState) { + + var startList = function (api, state, token) { + var level = Lists.getLevel(token); + level.each(function (l) { + state.itemLevel.set(l + state.styleLevelAdjust.get()); + // Tokens between lists should be dropped (they're just whitespace anyway) + // however, tokens before a list should be emitted if we find an mso-list style + // since this is the very first token of the list. + var deferring = Transitions.isNext(state, result) ? api.emitDeferred : api.dropDeferred; + deferring(); + + Transitions.next(state, lazyListStartState()); + api.startTransaction(); + state.originalToken.set(token); + state.commentMode.set(false); + }); + }; + + var specialList = function (api, state, token) { + if (Tags.isStartOf('SPAN')(state, token)) { + Spans.push(api, state, token); + } + Transitions.next(state, lazyListStartState()); + api.startTransaction(); + state.originalToken.set(state.openedTag.get()); + state.commentMode.set(true); + state.openedTag.set(null); + api.dropDeferred(); + }; + + var startTag = function (api, state, token) { + if (state.openedTag.get()) { + state.emitter.closeAllLists(); + api.emitDeferred(); + } + state.openedTag.set(token); + api.defer(token); + }; + + var closeOutLists = function (api, state, token) { + state.emitter.closeAllLists(); + api.emitDeferred(); + state.openedTag.set(null); + api.emit(token); + Transitions.next(state, result); + }; + + var result = Handlers('NoListState', [ + Handler(Lists.isValidStart, startList, 'valid list so start it'), + Handler(Lists.isInvalidStart, closeOutLists, 'invalid list so close lists'), + Handler(Lists.isSpecial, specialList, 'special list'), + Handler(Markers.isEnd, Spans.deferAndPop, 'closing marker'), + Handler(Markers.isStart, Spans.deferAndPush, 'starting marker'), + Handler(Tags.isStart, startTag, 'starting tag') + ], closeOutLists); + + return result; + }; + + return { + run: run + }; + + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.list.stage.SkipEmptyParaState', + + [ + 'ephox.pastiche.inspect.Browser', + 'ephox.pastiche.inspect.Logic', + 'ephox.pastiche.inspect.Microsoft', + 'ephox.pastiche.inspect.Tags', + 'ephox.pastiche.inspect.Texts', + 'ephox.pastiche.list.detect.ListDetect', + 'ephox.pastiche.list.stage.Handler', + 'ephox.pastiche.list.stage.Handlers', + 'ephox.pastiche.list.state.Spans', + 'ephox.pastiche.list.state.Transitions' + ], + + function (Browser, Logic, Microsoft, Tags, Texts, ListDetect, Handler, Handlers, Spans, Transitions) { + var run = function (noListState, lazyAfterListState) { + + var isFirstMarker = function (state, token) { + return Tags.isStartOf('SPAN')(state, token) && state.spanCount.get().length === 0; + }; + + var isNotList = function (state, token) { + return (Browser.supportsCustomStyles() || !ListDetect.isUnofficialList(state, token)) && !Microsoft.isList(state, token); + }; + + var skip = function (api, state, token) { + api.defer(token); + state.skippedPara.set(true); + state.openedTag.set(null); + Transitions.next(state, lazyAfterListState()); + }; + + var defer = function (api, state, token) { + api.defer(token); + }; + + return Handlers('SkipEmptyPara', [ + Handler(Logic.all([ isFirstMarker, isNotList ]), Spans.deferAndPush, 'first marker or not list'), + Handler(Tags.isEndOf('SPAN'), Spans.deferAndPop, 'end span'), + Handler(Tags.isEndOf('P'), skip, 'end p'), + Handler(Tags.isEnd, Transitions.jump(noListState), 'end tag'), + Handler(Texts.isWhitespace, defer, 'whitespace') + ], Transitions.jump(noListState)); + }; + + return { + run: run + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.list.stage.SpacerState', + + [ + 'ephox.pastiche.inspect.Markers', + 'ephox.pastiche.inspect.Tags', + 'ephox.pastiche.list.stage.Handler', + 'ephox.pastiche.list.stage.Handlers', + 'ephox.pastiche.list.state.Spans', + 'ephox.pastiche.list.state.Transitions', + 'ephox.peanut.Fun' + ], + + function (Markers, Tags, Handler, Handlers, Spans, Transitions, Fun) { + var run = function (closeSpansState) { + return Handlers('Spacer', [ + Handler(Markers.isEnd, Spans.popThen(closeSpansState), 'end marker'), + Handler(Tags.isEnd, Transitions.setNext(closeSpansState), 'end tag') + ], Fun.noop); + }; + + return { + run: run + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.list.emit.Emission', + + [ + 'ephox.scullion.Struct' + ], + + function (Struct) { + var result = Struct.immutable('state', 'result'); + var value = Struct.immutable('state', 'value'); + var state = Struct.immutable('level', 'type', 'types', 'items'); + + return { + state: state, + value: value, + result: result + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.list.emit.ItemStack', + + [ + 'ephox.pastiche.list.emit.Emission', + 'ephox.perhaps.Option' + ], + + function (Emission, Option) { + var finish = function (state) { + var stack = state.items().slice(0); + if (stack.length > 0 && stack[stack.length - 1] !== 'P') { + var item = stack[stack.length - 1]; + stack[stack.length - 1] = 'P'; + var newState = Emission.state(state.level(), state.type(), state.types(), stack); + return Emission.value(newState, Option.some(item)); + } else { + return Emission.value(state, Option.none()); + } + }; + + var start = function (state, tag) { + var stack = state.items().slice(0); + var value = tag !== undefined && tag !== 'P' ? Option.some(tag) : Option.none(); + + value.fold(function () { + stack.push('P'); + }, function (v) { + stack.push(v); + }); + + var newState = Emission.state(state.level(), state.type(), state.types(), stack); + return Emission.value(newState, value); + }; + + return { + start: start, + finish: finish + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.list.emit.ListLevels', + + [ + 'ephox.pastiche.list.emit.Emission' + ], + + function (Emission) { + var moveUntil = function (state, predicate, f) { + var tokens = []; + + var current = state; + while (predicate(current)) { + var acc = f(current); + current = acc.state(); + tokens = tokens.concat(acc.result()); + } + return Emission.result(current, tokens); + }; + + var moveRight = function (state, level, open) { + var predicate = function (s) { + return s.level() < level; + }; + + return moveUntil(state, predicate, open); + }; + + var moveLeft = function (state, level, close) { + var predicate = function (state) { + return state.level() > level; + }; + + return moveUntil(state, predicate, close); + }; + + return { + moveRight: moveRight, + moveLeft: moveLeft, + moveUntil: moveUntil + }; + } +); +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.list.emit.ListItemStyles', + + [ + 'ephox.pastiche.engine.TokenUtil' + ], + + function (TokenUtil) { + + var unsafeFrom = function (token) { + var leftMargin = TokenUtil.getStyle(token, 'margin-left'); + return leftMargin !== undefined && leftMargin !== '0px' ? { 'margin-left': leftMargin } : {}; + }; + + var from = function (token) { + var noToken = { + 'list-style-type': 'none' + }; + + return !token ? noToken : unsafeFrom(token); + }; + + return { + from: from + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.list.emit.SkippedTokens', + + [ + 'ephox.pastiche.engine.Token', + 'ephox.peanut.Fun' + ], + + function (Token, Fun) { + var para = function (doc) { + return [ + Fun.curry(Token.createStartElement, 'P', {}, {}), + Fun.curry(Token.createText, '\u00A0'), + Fun.curry(Token.createEndElement, 'P') + ]; + }; + + return { + para: para + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.list.emit.ListTokens', + + [ + 'ephox.pastiche.cleanup.Cleaners', + 'ephox.pastiche.engine.Token', + 'ephox.pastiche.list.detect.ListTypes', + 'ephox.pastiche.list.emit.Emission', + 'ephox.pastiche.list.emit.ItemStack', + 'ephox.pastiche.list.emit.ListItemStyles', + 'ephox.pastiche.list.emit.SkippedTokens', + 'ephox.peanut.Fun' + ], + + function (Cleaners, Token, ListTypes, Emission, ItemStack, ListItemStyles, SkippedTokens, Fun) { + var open = function(state, type, style) { + var attributes = type.start && type.start > 1 ? { start: type.start } : {}; + var level = state.level() + 1; + var listType = type; + var listTypes = state.types().concat([type]); + var result = [ Fun.curry(Token.createStartElement, type.tag, attributes, style) ]; + var newState = Emission.state(level, listType, listTypes, state.items()); + return Emission.result(newState, result); + }; + + var close = function(state) { + var listTypes = state.types().slice(0); + var result = [ Fun.curry(Token.createEndElement, listTypes.pop().tag) ]; + var level = state.level() - 1; + var listType = listTypes[listTypes.length - 1]; + var newState = Emission.state(level, listType, listTypes, state.items()); + return Emission.result(newState, result); + }; + + var shuffle = function (state, type, skippedPara) { + var e1 = close(state); + var extra = skippedPara ? SkippedTokens.para() : []; + var e2 = open(e1.state(), type, type.type ? { 'list-style-type': type.type } : {}); + return Emission.result(e2.state(), e1.result().concat(extra).concat(e2.result())); + }; + + var openItem = function(state, paragraphToken, type, skippedPara) { + var attributes = {}; + var style = ListItemStyles.from(paragraphToken); + + var e1 = state.type() && !ListTypes.eqListType(state.type(), type) ? + shuffle(state, type, skippedPara) : + Emission.result(state, []); + var tokens = [ Fun.curry(Token.createStartElement, 'LI', attributes, style) ]; + + var e2 = ItemStack.start(e1.state(), paragraphToken && paragraphToken.tag()); + var moreTokens = e2.value().map(function (v) { + Cleaners.styleDom(paragraphToken.getNode(), Fun.constant(true)); + return [ Fun.constant(paragraphToken) ]; + }).getOr([]); + + return Emission.result(e2.state(), e1.result().concat(tokens).concat(moreTokens)); + }; + + var closeItem = function(state) { + var li = Fun.curry(Token.createEndElement, 'LI'); + var e1 = ItemStack.finish(state); + var r = e1.value().fold(function () { + return [ li ]; + }, function (item) { + return [ Fun.curry(Token.createEndElement, item), li ]; + }); + return Emission.result(e1.state(), r); + }; + + return { + open: open, + openItem: openItem, + close: close, + closeItem: closeItem + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.list.emit.ListModel', + + [ + 'ephox.compass.Arr', + 'ephox.pastiche.engine.Token', + 'ephox.pastiche.list.emit.Emission', + 'ephox.pastiche.list.emit.ItemStack', + 'ephox.pastiche.list.emit.ListLevels', + 'ephox.pastiche.list.emit.ListTokens', + 'ephox.peanut.Fun', + 'ephox.perhaps.Option' + ], + + function (Arr, Token, Emission, ItemStack, ListLevels, ListTokens, Fun, Option) { + var compose = function (emissions) { + if (emissions.length === 0) throw 'Compose must have at least one element in the list'; + var last = emissions[emissions.length - 1]; + var tokens = Arr.bind(emissions, function (emission) { + return emission.result(); + }); + return Emission.result(last.state(), tokens); + }; + + var closeLevel = function (state) { + var e1 = ListTokens.closeItem(state); + var e2 = ListTokens.close(e1.state()); + return compose([ e1, e2 ]); + }; + + var openLevel = function (state, type, level, paragraphToken) { + var style = state.level() === level - 1 && type.type ? { 'list-style-type': type.type } : {}; + var e1 = ListTokens.open(state, type, style); + var e2 = ListTokens.openItem(e1.state(), e1.state().level() == level ? paragraphToken : undefined, type); + return compose([ e1, e2 ]); + }; + + var sameLevel = function (state, type, paragraphToken, skippedPara) { + var e1 = state.level() > 0 ? ListTokens.closeItem(state) : Emission.result(state, []); + var e2 = ListTokens.openItem(e1.state(), paragraphToken, type, skippedPara); + return compose([ e1, e2 ]); + }; + + var openLevels = function (state, type, level, paragraphToken) { + return ListLevels.moveRight(state, level, function (s) { + return openLevel(s, type, level, paragraphToken); + }); + }; + + var closeLevels = function (state, level) { + return ListLevels.moveLeft(state, level, closeLevel); + }; + + var jumpToLevel = function (state, type, level, paragraphToken) { + var e1 = level > 1 ? ItemStack.finish(state) : Emission.value(state, Option.none()); + var tokens = e1.value().map(function (tag) { + return [ Fun.curry(Token.createEndElement, tag) ]; + }).getOr([]); + + var numLevels = level - e1.state().level(); + var e2 = openLevels(e1.state(), type, level, paragraphToken); + return Emission.result(e2.state(), tokens.concat(e2.result())); + }; + + var openItem = function(state, level, paragraphToken, type, skippedPara) { + var e1 = state.level() > level ? closeLevels(state, level) : Emission.result(state, []); + var e2 = e1.state().level() === level ? + sameLevel(e1.state(), type, paragraphToken, skippedPara) : + jumpToLevel(e1.state(), type, level, paragraphToken); + return compose([ e1, e2 ]); + }; + + var closeAllLists = closeLevels; + + return { + openItem: openItem, + closeAllLists: closeAllLists + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.list.emit.Emitter', + + [ + 'ephox.compass.Arr', + 'ephox.pastiche.list.emit.Emission', + 'ephox.pastiche.list.emit.ListModel' + ], + + function (Arr, Emission, ListModel) { + var impliedULatLevel = [ 'disc', 'circle', 'square' ]; + + var removeImpliedListType = function(type, level) { + if (type.tag === 'UL') { + if (impliedULatLevel[level - 1] === type.type) { + type = { tag: 'UL' }; + } + } + return type; + }; + + return function (api, doc) { + + var state = Emission.state(0, undefined, [], []); + + var emit = function (emission) { + Arr.each(emission.result(), function (x) { + var token = x(doc); + api.emit(token); + }); + }; + + var closeAllLists = function() { + var e1 = ListModel.closeAllLists(state, 0); + state = e1.state(); + emit(e1); + api.commit(); + }; + + var openItem = function(level, paragraphToken, type, skippedPara) { + var style = {}, token; + if (!type) return; + var cleanType = removeImpliedListType(type, level); + var e1 = ListModel.openItem(state, level, paragraphToken, cleanType, skippedPara); + state = e1.state(); + emit(e1); + }; + + var getCurrentLevel = function() { + return state.level(); + }; + var getCurrentListType = function() { + return state.type(); + }; + + return { + closeAllLists: closeAllLists, + openItem: openItem, + getCurrentListType: getCurrentListType, + getCurrentLevel: getCurrentLevel + }; + }; + + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.list.indent.ListIndent', + + [ + 'ephox.compass.Arr', + 'ephox.pastiche.engine.TokenUtil', + 'ephox.violin.Strings', + 'global!Math' + ], + + function (Arr, TokenUtil, Strings, Math) { + var getLeftOffset = function(node, paragraph) { + var parent, child, offset = 0; + parent = node.parentNode; + while (parent !== null && parent !== paragraph.parentNode) { + offset += parent.offsetLeft; + parent = parent.offsetParent; + } + return offset; + }; + + var ephoxGetComputedStyle = function(node) { + if (node.ownerDocument.defaultView) { + return node.ownerDocument.defaultView.getComputedStyle(node, null); + } + return node.currentStyle || {}; + }; + + + /** A simplified memoize function which only supports one or two function parameters. + * + * @param fn + * @param param the funtion p + * @returns + */ + var memoize2 = function(fn) { + var cache = {}; + return function(param1, param2) { + var result, key = param1 + "," + param2; + if (cache.hasOwnProperty(key)) { + return cache[key]; + } + result = fn.call(null, param1, param2); + cache[key] = result; + return result; + }; + }; + + var findStyles = memoize2(function(css, className) { + var results, matcher = /([^{]+){([^}]+)}/g, match, el, computedStyle; + matcher.lastIndex = 0; // Firefox Mac reuses the same regex so we need to reset it. + while ((results = matcher.exec(css)) !== null && !match) { + Arr.each(results[1].split(','), function(selector) { + var dotIndex = selector.indexOf('.'); + if (dotIndex >= 0 && Strings.trim(selector.substring(dotIndex + 1)) === className) { + match = results[2]; + return false; + } + }); + } + if (match) { + el = document.createElement('p'); + el.setAttribute("style", match); + computedStyle = ephoxGetComputedStyle(el); + return computedStyle ? "" + computedStyle.marginLeft : false; + } + return false; + }); + + var indentGuesser = function() { + + var listIndentAdjust; + var listIndentAmount; + var guessIndentLevel = function(currentToken, token, styles, bulletInfo) { + var indentAmount, itemIndent, el, level = 1; + + if (bulletInfo && /^([0-9]+\.)+[0-9]+\.?$/.test(bulletInfo.text)) { + // Outline list type so we can just count the number of sections. + return bulletInfo.text.replace(/([0-9]+|\.$)/g, '').length + 1; + } + indentAmount = listIndentAmount || parseInt(findStyles(styles, TokenUtil.getAttribute(token, 'class'))); + + itemIndent = getLeftOffset(currentToken.getNode(), token.getNode()); + if (!indentAmount) { + indentAmount = 48; + } else { + // We might get a 0 item indent if the list CSS code wasn't pasted as happens on Windows. + if (listIndentAdjust) { + itemIndent += listIndentAdjust; + } else if (itemIndent === 0) { + listIndentAdjust = indentAmount; + itemIndent += indentAmount; + } + } + listIndentAmount = indentAmount = Math.min(itemIndent, indentAmount); + level = Math.max(1, Math.floor(itemIndent / indentAmount)) || 1; + return level; + }; + return { + guessIndentLevel: guessIndentLevel + }; + }; + + return { + indentGuesser: indentGuesser + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.list.state.ListStyles', + + [ + 'ephox.pastiche.engine.Token' + ], + + function (Token) { + return function () { + var inStyle = false; + var styles = ""; + var check = function(token) { + if (inStyle && token.type() === Token.TEXT_TYPE) { + styles += token.text(); + return true; + } else if (token.type() === Token.START_ELEMENT_TYPE && token.tag() === 'STYLE') { + inStyle = true; + return true; + } else if (token.type() === Token.END_ELEMENT_TYPE && token.tag() === 'STYLE') { + inStyle = false; + return true; + } + return false; + }; + return { + check: check + }; + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.scullion.Cell', + + [ + ], + + function () { + var Cell = function (initial) { + var value = initial; + + var get = function () { + return value; + }; + + var set = function (v) { + value = v; + }; + + var clone = function () { + return Cell(get()); + }; + + return { + get: get, + set: set, + clone: clone + }; + }; + + return Cell; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.list.state.ListState', + + [ + 'ephox.pastiche.list.emit.Emitter', + 'ephox.pastiche.list.indent.ListIndent', + 'ephox.pastiche.list.state.ListStyles', + 'ephox.peanut.Fun', + 'ephox.scullion.Cell' + ], + + function (Emitter, ListIndent, ListStyles, Fun, Cell) { + + var indentGuesser = ListIndent.indentGuesser(); + var styles = ListStyles(); + + + var emitter = { + getCurrentListType: function () { + return lazyEmitter().getCurrentListType(); + }, + getCurrentLevel: function () { + return lazyEmitter().getCurrentLevel(); + }, + closeAllLists: function () { + return lazyEmitter().closeAllLists.apply(undefined, arguments); + }, + openItem: function () { + return lazyEmitter().openItem.apply(undefined, arguments); + } + }; + + var lazyEmitter = function () { + return { + getCurrentListType: Fun.constant({}), + getCurrentLevel: Fun.constant(1), + closeAllLists: Fun.identity, + openItem: Fun.identity + }; + }; + + return function (initialState) { + var nextFilter = Cell(initialState); + var itemLevel = Cell(0); + var originalToken = Cell(null); + var commentMode = Cell(false); + var openedTag = Cell(null); + var symbolFont = Cell(false); + var listType = Cell(null); + var spanCount = Cell([]); + var skippedPara = Cell(false); + var styleLevelAdjust = Cell(0); + var bulletInfo = Cell(undefined); + var logger = Cell([]); + + var reset = function (api) { + nextFilter.set(initialState); + itemLevel.set(0); + originalToken.set(null); + commentMode.set(false); + openedTag.set(null); + symbolFont.set(false); + listType.set(null); + spanCount.set([]); + skippedPara.set(false); + styleLevelAdjust.set(0); + bulletInfo.set(undefined); + logger.set([]); + + // ASSUMPTION: I think this approach in the past also papered over the stack needing resetting in the emitter. + _emitter = Emitter(api, api.document); + lazyEmitter = Fun.constant(_emitter); + }; + + return { + reset: reset, + nextFilter: nextFilter, + itemLevel: itemLevel, + originalToken: originalToken, + commentMode: commentMode, + openedTag: openedTag, + symbolFont: symbolFont, + listType: listType, + spanCount: spanCount, + skippedPara: skippedPara, + styleLevelAdjust: styleLevelAdjust, + bulletInfo: bulletInfo, + logger: logger, + + emitter: emitter, + styles: styles, + indentGuesser: indentGuesser + }; + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.pastiche.filter.Lists', + + [ + 'ephox.pastiche.engine.Filter', + 'ephox.pastiche.list.detect.ListTypes', + 'ephox.pastiche.list.stage.AfterListState', + 'ephox.pastiche.list.stage.AfterNoBulletListState', + 'ephox.pastiche.list.stage.BeforeSpacerState', + 'ephox.pastiche.list.stage.CloseSpansState', + 'ephox.pastiche.list.stage.FindListTypeState', + 'ephox.pastiche.list.stage.ItemContentState', + 'ephox.pastiche.list.stage.ListStartState', + 'ephox.pastiche.list.stage.NoListState', + 'ephox.pastiche.list.stage.SkipEmptyParaState', + 'ephox.pastiche.list.stage.SpacerState', + 'ephox.pastiche.list.state.ListState', + 'ephox.pastiche.list.state.Transitions' + ], + + function (Filter, ListTypes, AfterListState, AfterNoBulletListState, BeforeSpacerState, CloseSpansState, FindListTypeState, ItemContentState, ListStartState, NoListState, SkipEmptyParaState, SpacerState, ListState, Transitions) { + var unexpectedToken = function(api, token) { + var info = 'Type: ' + token.type() + ', Tag: ' + token.tag() + ' Text: ' + token.text(); + console.log('Unexpected token in list conversion: ' + info, activeState.nextFilter.get()); + api.rollback(); + }; + + var noListState = NoListState.run(function () { + return listStartState; + }); + var skipEmptyParaState = SkipEmptyParaState.run(noListState, function () { + return afterListState; + }); + var afterListState = AfterListState.run(skipEmptyParaState, noListState); + var itemContentState = ItemContentState.run(afterListState); + var closeSpansState = CloseSpansState.run(itemContentState, unexpectedToken); + var spacerState = SpacerState.run(closeSpansState); + var beforeSpacerState = BeforeSpacerState.run(spacerState, closeSpansState, unexpectedToken); + var findListTypeState = FindListTypeState.run(beforeSpacerState, unexpectedToken); + var afterNoBulletListState = AfterNoBulletListState.run(afterListState); + var listStartState = ListStartState.run(findListTypeState, afterNoBulletListState, unexpectedToken); + + var activeState = ListState(noListState); + + var receive = function(api, token) { + if (activeState.styles && activeState.styles.check(token)) { + return; + } + + activeState.symbolFont.set(ListTypes.checkFont(token, activeState.symbolFont.get())); + Transitions.go(api, activeState, token); + }; + + return Filter.createFilter(receive, activeState.reset, 'lists'); + + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.limbo.process.Strategies', + + [ + 'ephox.pastiche.api.HtmlPatterns', + 'ephox.pastiche.api.HybridAction', + 'ephox.pastiche.api.RuleConditions', + 'ephox.pastiche.api.RuleMutations', + 'ephox.pastiche.filter.Lists', + 'ephox.peanut.Fun', + 'ephox.sugar.api.Class', + 'ephox.sugar.api.Css', + 'ephox.violin.StringMatch' + ], + + function (HtmlPatterns, HybridAction, RuleConditions, RuleMutations, Lists, Fun, Class, Css, StringMatch) { + // This will UNWRAP! tags such as and + // Context: Word copy and paste. + var unwrapWordTags = HybridAction.unwrapper({ + tags: [ + { name: StringMatch.pattern(/^([OVWXP]|U[0-9]+|ST[0-9]+):/i) } + ] + }); + + // This will try and turn p tags into ol,ul and li tags where appropriate + // Context: Word copy and paste. + var parseLists = HybridAction.pipeline([ Lists ]); + + // This will remove attributes matching: v:.., href with #_toc|#_mso, xmlns:, align + // and type on lists. + // Context: Word copy and paste. + var removeWordAttributes = HybridAction.removal({ + attributes: [ + { name: StringMatch.pattern(/^v:/) }, + { name: StringMatch.exact('href'), value: StringMatch.contains('#_toc') }, + { name: StringMatch.exact('href'), value: StringMatch.contains('#_mso') }, + { name: StringMatch.pattern(/^xmlns(:|$)/) }, + { name: StringMatch.exact('align') }, + { name: StringMatch.exact('type'), condition: RuleConditions.isList } + ] + }); + + // This will remove script,meta,link,empty-style tags and on,id,name,lang attributes + // or styles containing OLE_LINK + // Context: All + var removeExcess = HybridAction.removal({ + tags: [ + { name: StringMatch.exact('script') }, + { name: StringMatch.exact('meta') }, + { name: StringMatch.exact('link') }, + { name: StringMatch.exact('style'), condition: RuleConditions.isEmpty } + ], + attributes: [ + { name: StringMatch.starts('on') }, + { name: StringMatch.exact('"') }, + { name: StringMatch.exact('id') }, + { name: StringMatch.exact('name') }, + { name: StringMatch.exact('lang') }, + { name: StringMatch.exact('language') } + // INVESTIGATE: Should language go here as well ? + ], + styles: [ + { name: StringMatch.all(), value: StringMatch.pattern(/OLE_LINK/i) } + ] + }); + + var isNotTransformed = function (element) { + return !Class.has(element, 'ephox-limbo-transform'); + }; + + // This will remove any styles that are not list-style-type for all tags, and keep the width and height + // styles only for images. + // Context: Clean copy and paste. + var cleanStyles = HybridAction.removal({ + styles: [ + { + name: StringMatch.not( + StringMatch.pattern(/width|height|list-style-type/) + ), + condition: isNotTransformed + }, + { name: StringMatch.pattern(/width|height/), condition: RuleConditions.isNotImage } + ] + }); + + // This will remove all classes that are not 'rtf-data-image' + // Context: Clean copy and paste. + var cleanClasses = HybridAction.removal({ + classes: [ + { + name: StringMatch.not( + StringMatch.exact('rtf-data-image') + ) + } + ] + }); + + // This will remove all styles that are not considered valid. + // Context: Merge copy and paste. + var mergeStyles = HybridAction.removal({ + styles: [ + { name: StringMatch.pattern(HtmlPatterns.validStyles()) } + ] + }); + + // This will remove all classes that have mso in them. + // Context: Merge copy and paste. + var mergeClasses = HybridAction.removal({ + classes: [ + { name: StringMatch.pattern(/mso/i) } + ] + }); + + // This will remove (unwrap) all images that have a file protocol + // Context: Copy and paste with images. + var removeLocalImages = HybridAction.unwrapper({ + tags: [ + { name: StringMatch.exact('img'), condition: RuleConditions.isLocal }, + // OLE_LINK exact part. + { name: StringMatch.exact('a'), condition: RuleConditions.hasNoAttributes } + ] + }); + + // This will unwrap any tags that have no attributes (i.e. are essentially useless) + // Context: Any + var removeVacantLinks = HybridAction.unwrapper({ + tags: [ + { name: StringMatch.exact('a'), condition: RuleConditions.hasNoAttributes } + ] + }); + + // This will remove any style attribute that has no content. + // Context: Any + var removeEmptyStyle = HybridAction.removal({ + attributes: [ + { name: StringMatch.exact('style'), value: StringMatch.exact(''), debug: true } + ] + }); + + // This will remove any style attribute that has no content. + // Context: Any + var removeEmptyClass = HybridAction.removal({ + attributes: [ + { name: StringMatch.exact('class'), value: StringMatch.exact(''), debug: true } + ] + }); + + // This will remove any inline elements that no longer serve a purpose: + // Fancy inline elements: contain no content + // Span inline elements: have no attributes + // Context: Any + var pruneInlineTags = HybridAction.unwrapper({ + tags: [ + { + name: StringMatch.pattern(HtmlPatterns.specialInline()), + condition: Fun.not(RuleConditions.hasContent) + } + ] + }); + + var addPlaceholders = HybridAction.transformer({ + tags: [ + { name: StringMatch.exact('p'), mutate: RuleMutations.addBrTag } + ] + }); + + var toUnderline = function (element) { + var span = RuleMutations.changeTag('span', element); + Class.add(span, 'ephox-limbo-transform'); + Css.set(span, 'text-decoration', 'underline'); + }; + + var nestedListFixes = HybridAction.transformer({ + tags: [ + { name: StringMatch.pattern(/ol|ul/), mutate: RuleMutations.properlyNest } + ] + }); + + var inlineTagFixes = HybridAction.transformer({ + tags: [ + { name: StringMatch.exact('b'), mutate: Fun.curry(RuleMutations.changeTag, 'strong') }, + { name: StringMatch.exact('i'), mutate: Fun.curry(RuleMutations.changeTag, 'em') }, + { name: StringMatch.exact('u'), mutate: toUnderline }, + { name: StringMatch.exact('s'), mutate: Fun.curry(RuleMutations.changeTag, 'strike') }, + { name: StringMatch.exact('font'), mutate: RuleMutations.fontToSpan, debug: true } + ] + }); + + // This will remove all classes that were put in to preserve transformations. + // Context: Any + var cleanupFlags = HybridAction.removal({ + classes: [ + { name: StringMatch.exact('ephox-limbo-transform') } + ] + }); + + // This will remove any href attributes of a tags that are local. + // Context: Any + var removeLocalLinks = HybridAction.removal({ + attributes: [ + { name: StringMatch.exact('href'), value: StringMatch.starts('file:///'), debug: true } + ] + }); + + return { + unwrapWordTags: unwrapWordTags, + removeWordAttributes: removeWordAttributes, + parseLists: parseLists, + removeExcess: removeExcess, + cleanStyles: cleanStyles, + cleanClasses: cleanClasses, + mergeStyles: mergeStyles, + mergeClasses: mergeClasses, + removeLocalImages: removeLocalImages, + removeVacantLinks: removeVacantLinks, + removeEmptyStyle: removeEmptyStyle, + removeEmptyClass: removeEmptyClass, + pruneInlineTags: pruneInlineTags, + addPlaceholders: addPlaceholders, + nestedListFixes: nestedListFixes, + inlineTagFixes: inlineTagFixes, + cleanupFlags: cleanupFlags, + removeLocalLinks: removeLocalLinks, + none: Fun.noop + }; + } +); +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.limbo.process.PasteFilters', + + [ + 'ephox.compass.Arr', + 'ephox.limbo.api.RtfImage', + 'ephox.limbo.process.Strategies', + 'ephox.pastiche.api.HybridAction', + 'ephox.pastiche.engine.Filter', + 'ephox.pastiche.engine.Token', + 'ephox.sugar.api.Element' + ], + + function (Arr, RtfImage, Strategies, HybridAction, Filter, Token, Element) { + var isIE11 = function (platform) { + return platform.browser.isIE() && platform.browser.version.major >= 11; + }; + + var transform = function (f) { + // TODO: Move this to API in pastiche or change how this works. + // I think the reason I want to keep it in the tokenizer is because + // it needs to access comments. + return Filter.createFilter(function (api, token) { + var next = f(Element.fromDom(token.getNode())).fold(function () { + return token; + }, function (sugared) { + var node = sugared.dom(); + return Token.token(node, token.type() === Token.END_ELEMENT_TYPE, {}); + }); + api.emit(next); + }); + }; + + var images = function (isWord, merging, platform) { + var searcher = platform.browser.isFirefox() ? RtfImage.local : RtfImage.vshape; + var transformer = isIE11(platform) ? Strategies.none : HybridAction.pipeline([ transform(searcher) ]); + var local = searcher === RtfImage.local ? Strategies.none : Strategies.removeLocalImages; + var annotate = isWord ? transformer : Strategies.none; + + return { + annotate: [ annotate ], + local: [ local ] + }; + }; + + var styling = function (isWord, merging, platform) { + var merge = [ Strategies.mergeStyles, Strategies.mergeClasses ]; + var clean = [ Strategies.cleanStyles, Strategies.cleanClasses ]; + return merging ? merge : clean; + }; + + var word = function (isWord, merging, platform) { + if (!isWord) return Strategies.none; + var base = [ Strategies.unwrapWordTags ]; + var lists = isIE11(platform) ? [] : Strategies.parseLists; + return base.concat(lists); + }; + + var derive = function (isWord, merging, platform) { + var imageFilters = images(isWord, merging, platform); + + return Arr.flatten([ + imageFilters.annotate, + [ Strategies.inlineTagFixes ], + word(isWord, merging, platform), + [ Strategies.nestedListFixes ], + [ Strategies.removeExcess ], + imageFilters.local, + styling(isWord, merging, platform), + [ Strategies.removeLocalLinks, Strategies.removeVacantLinks ], + [ Strategies.removeEmptyStyle ], + [ Strategies.removeEmptyClass ], + [ Strategies.pruneInlineTags ], + [ Strategies.addPlaceholders ], + [ Strategies.cleanupFlags ] + ]); + }; + + return { + derive: derive + }; + } +); +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.boss.common.TagBoundaries', + + [ + + ], + + function () { + // TODO: We need to consolidate this list. I think when we get rid of boss/universe, we can do it then. + return [ + 'body', + 'p', + 'div', + 'article', + 'aside', + 'figcaption', + 'figure', + 'footer', + 'header', + 'nav', + 'section', + 'ol', + 'ul', + 'li', + 'table', + 'thead', + 'tbody', + 'caption', + 'tr', + 'td', + 'th', + 'h1', + 'h2', + 'h3', + 'h4', + 'h5', + 'h6', + 'blockquote', + 'pre', + 'address' + ]; + } +); +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.sugar.api.Text', + + [ + 'ephox.sugar.api.Node', + 'ephox.sugar.impl.NodeValue' + ], + + function (Node, NodeValue) { + var api = NodeValue(Node.isText, 'text'); + + var get = function (element) { + return api.get(element); + }; + + var getOption = function (element) { + return api.getOption(element); + }; + + var set = function (element, value) { + api.set(element, value); + }; + + return { + get: get, + getOption: getOption, + set: set + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.boss.api.DomUniverse', + + [ + 'ephox.boss.common.TagBoundaries', + 'ephox.compass.Arr', + 'ephox.peanut.Fun', + 'ephox.sugar.api.Attr', + 'ephox.sugar.api.Compare', + 'ephox.sugar.api.Css', + 'ephox.sugar.api.Element', + 'ephox.sugar.api.Insert', + 'ephox.sugar.api.InsertAll', + 'ephox.sugar.api.Node', + 'ephox.sugar.api.PredicateFilter', + 'ephox.sugar.api.PredicateFind', + 'ephox.sugar.api.Remove', + 'ephox.sugar.api.SelectorFilter', + 'ephox.sugar.api.SelectorFind', + 'ephox.sugar.api.Text', + 'ephox.sugar.api.Traverse' + ], + + function (TagBoundaries, Arr, Fun, Attr, Compare, Css, Element, Insert, InsertAll, Node, PredicateFilter, PredicateFind, Remove, SelectorFilter, SelectorFind, Text, Traverse) { + return function () { + var clone = function (element) { + return Element.fromDom(element.dom().cloneNode(false)); + }; + + var isBoundary = function (element) { + if (!Node.isElement(element)) return false; + if (Node.name(element) === 'body') return true; + var display = Css.get(element, 'display'); + // When the read display value is empty, we need to check the node name. + return display !== undefined && display.length > 0 ? + Arr.contains(['block', 'table-cell', 'table-row', 'table', 'list-item'], display) : + Arr.contains(TagBoundaries, Node.name(element)); + }; + + var isEmptyTag = function (element) { + if (!Node.isElement(element)) return false; + return Arr.contains(['br', 'img', 'hr'], Node.name(element)); + }; + + var comparePosition = function (element, other) { + return element.dom().compareDocumentPosition(other.dom()); + }; + + var copyAttributesTo = function (source, destination) { + var as = Attr.clone(source); + Attr.setAll(destination, as); + }; + + return { + up: Fun.constant({ + selector: SelectorFind.ancestor, + closest: SelectorFind.closest, + predicate: PredicateFind.ancestor, + all: Traverse.parents + }), + down: Fun.constant({ + selector: SelectorFilter.descendants, + predicate: PredicateFilter.descendants + }), + styles: Fun.constant({ + get: Css.get, + set: Css.set, + remove: Css.remove + }), + attrs: Fun.constant({ + get: Attr.get, + set: Attr.set, + remove: Attr.remove, + copyTo: copyAttributesTo + }), + insert: Fun.constant({ + before: Insert.before, + after: Insert.after, + afterAll: InsertAll.after, + append: Insert.append, + appendAll: InsertAll.append, + prepend: Insert.prepend, + wrap: Insert.wrap + }), + remove: Fun.constant({ + unwrap: Remove.unwrap, + remove: Remove.remove + }), + create: Fun.constant({ + nu: Element.fromTag, + clone: clone, + text: Element.fromText + }), + query: Fun.constant({ + comparePosition: comparePosition, + prevSibling: Traverse.prevSibling, + nextSibling: Traverse.nextSibling + }), + property: Fun.constant({ + children: Traverse.children, + name: Node.name, + parent: Traverse.parent, + isText: Node.isText, + isElement: Node.isElement, + getText: Text.get, + setText: Text.set, + isBoundary: isBoundary, + isEmptyTag: isEmptyTag + }), + eq: Compare.eq, + is: Compare.is + }; + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.phoenix.api.data.NamedPattern', + + [ + 'ephox.scullion.Struct' + ], + + function (Struct) { + return Struct.immutable('word', 'pattern'); + } +); +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.phoenix.api.data.Spot', + + [ + 'ephox.scullion.Struct' + ], + + function (Struct) { + var point = Struct.immutable('element', 'offset'); + var delta = Struct.immutable('element', 'deltaOffset'); + var range = Struct.immutable('element', 'start', 'finish'); + var points = Struct.immutable('begin', 'end'); + var text = Struct.immutable('element', 'text'); + + return { + point: point, + delta: delta, + range: range, + points: points, + text: text + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.phoenix.extract.TypedItem', + + [ + 'ephox.peanut.Fun', + 'ephox.perhaps.Option' + ], + + /** + * Church encoded ADT representing whether an element is: + * - boundary (block tag or inline tag with block CSS display) + * - empty + * - text + */ + function (Fun, Option) { + var no = Fun.constant(false); + var yes = Fun.constant(true); + + var boundary = function (item, universe) { + return folder(function (b, e, t) { + return b(item, universe); + }); + }; + + var empty = function (item, universe) { + return folder(function (b, e, t) { + return e(item, universe); + }); + }; + + var text = function (item, universe) { + return folder(function (b, e, t) { + return t(item, universe); + }); + }; + + var folder = function (fold) { + var isBoundary = function () { + return fold(yes, no, no); + }; + + var toText = function () { + return fold(Option.none, Option.none, function (item, universe) { + return Option.some(item); + }); + }; + + var is = function (other) { + return fold(no, no, function (item, universe) { + return universe.eq(item, other); + }); + }; + + var len = function () { + return fold(Fun.constant(0), Fun.constant(1), function (item, universe) { + return universe.property().getText(item).length; + }); + }; + + return { + isBoundary: isBoundary, + fold: fold, + toText: toText, + is: is, + len: len + }; + }; + + return { + text: text, + boundary: boundary, + empty: empty + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.polaris.array.Boundaries', + + [ + 'ephox.compass.Arr', + 'ephox.peanut.Fun' + ], + + function (Arr, Fun) { + var boundAt = function (xs, left, right, comparator) { + var leftIndex = Arr.findIndex(xs, Fun.curry(comparator, left)); + var first = leftIndex > -1 ? leftIndex : 0; + var rightIndex = Arr.findIndex(xs, Fun.curry(comparator, right)); + var last = rightIndex > -1 ? rightIndex + 1 : xs.length; + return xs.slice(first, last); + }; + + return { + boundAt: boundAt + }; + } +); +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.polaris.array.Slice', + + [ + 'ephox.compass.Arr' + ], + + function (Arr) { + /** + * Slice an array at the first item matched by the predicate + */ + var sliceby = function (list, pred) { + var index = Arr.findIndex(list, pred); + return list.slice(0, index); + }; + + return { + sliceby: sliceby + }; + + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.polaris.array.Split', + + [ + 'ephox.compass.Arr' + ], + + function (Arr) { + /** + * Split an array into chunks matched by the predicate + */ + var splitby = function (xs, pred) { + var r = []; + var part = []; + Arr.each(xs, function (x) { + if (pred(x)) { + r.push(part); + part = []; + } else { + part.push(x); + } + }); + + if (part.length > 0) r.push(part); + return r; + }; + + return { + splitby: splitby + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.polaris.api.Arrays', + + [ + 'ephox.polaris.array.Boundaries', + 'ephox.polaris.array.Slice', + 'ephox.polaris.array.Split' + ], + + /** + * Documentation is in the actual implementations. + */ + function (Boundaries, Slice, Split) { + var boundAt = function (xs, left, right, comparator) { + return Boundaries.boundAt(xs, left, right, comparator); + }; + + var splitby = function (array, predicate) { + return Split.splitby(array, predicate); + }; + + var sliceby = function (array, predicate) { + return Slice.sliceby(array, predicate); + }; + + return { + splitby: splitby, + sliceby: sliceby, + boundAt: boundAt + }; + + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.phoenix.extract.TypedList', + + [ + 'ephox.compass.Arr', + 'ephox.peanut.Fun', + 'ephox.perhaps.Option', + 'ephox.phoenix.api.data.Spot', + 'ephox.polaris.api.Arrays' + ], + + /** + * Extracts various information from a list of TypedItem + */ + function (Arr, Fun, Option, Spot, Arrays) { + + var count = function (parray) { + return Arr.foldr(parray, function (b, a) { + return a.len() + b; + }, 0); + }; + + var dropUntil = function (parray, target) { + return Arrays.sliceby(parray, function (x) { + return x.is(target); + }); + }; + + /** + * Transform a TypedItem into a range representing that item from the start position. + * + * The generation function for making a PositionArray out of a list of TypedItems. + */ + var gen = function (unit, start) { + return unit.fold(Option.none, function (e) { + return Option.some(Spot.range(e, start, start + 1)); + }, function (t) { + return Option.some(Spot.range(t, start, start + unit.len())); + }); + }; + + var justText = function (parray) { + return Arr.bind(parray, function (x) { + return x.fold(Fun.constant([]), Fun.constant([]), Fun.identity); + }); + }; + + return { + count: count, + dropUntil: dropUntil, + gen: gen, + justText: justText + }; + + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.phoenix.extract.Extract', + + [ + 'ephox.compass.Arr', + 'ephox.phoenix.api.data.Spot', + 'ephox.phoenix.extract.TypedItem', + 'ephox.phoenix.extract.TypedList' + ], + + function (Arr, Spot, TypedItem, TypedList) { + /** + * Flattens the item tree into TypedItem representations. + * + * Boundaries are returned twice, before and after their children. + */ + var typed = function (universe, item, optimise) { + if (universe.property().isText(item)) { + return [ TypedItem.text(item, universe) ]; + } else if (universe.property().isEmptyTag(item)) { + return [ TypedItem.empty(item, universe) ]; + } else if (universe.property().isElement(item)) { + var children = universe.property().children(item); + var boundary = universe.property().isBoundary(item) ? [TypedItem.boundary(item, universe)] : []; + var rest = optimise !== undefined && optimise(item) ? [] : Arr.bind(children, function (child) { + return typed(universe, child, optimise); + }); + return boundary.concat(rest).concat(boundary); + } else { + return []; + } + }; + + /** + * Returns just the actual elements from a call to typed(). + */ + var items = function (universe, item, optimise) { + var typedItemList = typed(universe, item, optimise); + + var raw = function (item, universe) { return item; }; + + return Arr.map(typedItemList, function (typedItem) { + return typedItem.fold(raw, raw, raw); + }); + }; + + var extractToElem = function (universe, child, offset, item, optimise) { + var extractions = typed(universe, item, optimise); + var prior = TypedList.dropUntil(extractions, child); + var count = TypedList.count(prior); + return Spot.point(item, count + offset); + }; + + /** + * Generates an absolute point in the child's parent + * that can be used to reference the offset into child later. + * + * To find the exact reference later, use Find. + */ + var extract = function (universe, child, offset, optimise) { + return universe.property().parent(child).fold(function () { + return Spot.point(child, offset); + }, function (parent) { + return extractToElem(universe, child, offset, parent, optimise); + }); + }; + + /** + * Generates an absolute point that can be used to reference the offset into child later. + * This absolute point will be relative to a parent node (specified by predicate). + * + * To find the exact reference later, use Find. + */ + var extractTo = function (universe, child, offset, pred, optimise) { + return universe.up().predicate(child, pred).fold(function () { + return Spot.point(child, offset); + }, function (v) { + return extractToElem(universe, child, offset, v, optimise); + }); + }; + + return { + typed: typed, + items: items, + extractTo: extractTo, + extract: extract + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.phoenix.extract.ExtractText', + + [ + 'ephox.compass.Arr', + 'ephox.peanut.Fun', + 'ephox.phoenix.extract.Extract' + ], + + function (Arr, Fun, Extract) { + var newline = '\n'; + var space = ' '; + + var onEmpty = function (item, universe) { + return universe.property().name(item) === 'img' ? space : newline; + }; + + var from = function (universe, item, optimise) { + var typed = Extract.typed(universe, item, optimise); + return Arr.map(typed, function (t) { + return t.fold(Fun.constant(newline), onEmpty, universe.property().getText); + }).join(''); + }; + + return { + from: from + }; + } +); +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.polaris.parray.Generator', + + [ + 'ephox.compass.Arr', + 'ephox.peanut.Fun' + ], + + function (Arr, Fun) { + + /** + * Generate a PositionArray + * + * xs: list of thing + * f: thing -> Optional unit + * _start: sets the start position to search at + */ + var make = function (xs, f, _start) { + + var init = { + len: _start !== undefined ? _start : 0, + list: [] + }; + + var r = Arr.foldl(xs, function (b, a) { + var value = f(a, b.len); + return value.fold(Fun.constant(b), function (v) { + return { + len: v.finish(), + list: b.list.concat([v]) + }; + }); + }, init); + + return r.list; + }; + + return { + make: make + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.polaris.parray.Query', + + [ + 'ephox.compass.Arr', + 'ephox.perhaps.Option' + ], + + function (Arr, Option) { + + /** + * Simple "is position within unit" utility function + */ + var inUnit = function (unit, position) { + return position >= unit.start() && position <= unit.finish(); + }; + + /** + * Finds the unit in the PositionArray that contains this offset (if there is one) + */ + var get = function (parray, offset) { + var unit = Arr.find(parray, function (x) { + return inUnit(x, offset); + }); + + return Option.from(unit); + }; + + var startindex = function (parray, offset) { + return Arr.findIndex(parray, function (unit) { + return unit.start() === offset; + }); + }; + + var tryend = function (parray, finish) { + var finishes = parray[parray.length - 1] && parray[parray.length - 1].finish() === finish; + return finishes ? parray.length + 1 : -1; + }; + + + /** + * Extracts the pieces of the PositionArray that are bounded *exactly* on the start and finish offsets + */ + var sublist = function (parray, start, finish) { + var first = startindex(parray, start); + var rawlast = startindex(parray, finish); + var last = rawlast > -1 ? rawlast : tryend(parray, finish); + + return first > -1 && last > -1 ? parray.slice(first, last) : []; + }; + + var find = function (parray, pred) { + return Option.from(Arr.find(parray, pred)); + }; + + return { + get: get, + find: find, + inUnit: inUnit, + sublist: sublist + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.polaris.parray.Translate', + + [ + 'ephox.compass.Arr', + 'ephox.highway.Merger', + 'ephox.peanut.Fun' + ], + + function (Arr, Merger, Fun) { + /** Adjust a PositionArray positions by an offset */ + var translate = function (parray, offset) { + return Arr.map(parray, function (unit) { + return Merger.merge(unit, { + start: Fun.constant(unit.start() + offset), + finish: Fun.constant(unit.finish() + offset) + }); + }); + }; + + return { + translate: translate + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.polaris.parray.Split', + + [ + 'ephox.compass.Arr', + 'ephox.polaris.parray.Query', + 'ephox.polaris.parray.Translate' + ], + + function (Arr, Query, Translate) { + /** + * After subdivide has split the unit, update the resulting PositionArray based on the unit start position. + */ + var divide = function (unit, positions, subdivide) { + var mini = subdivide(unit, positions); + return Translate.translate(mini, unit.start()); + }; + + /** + * Adds extra split points into a PositionArray, using subdivide to split if necessary + */ + var splits = function (parray, positions, subdivide) { + if (positions.length === 0) return parray; + + return Arr.bind(parray, function (unit) { + var relevant = Arr.bind(positions, function (pos) { + return Query.inUnit(unit, pos) ? [ pos - unit.start() ] : []; + }); + + return relevant.length > 0 ? divide(unit, relevant, subdivide) : [ unit ]; + }); + }; + + return { + splits: splits + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.polaris.api.PositionArray', + + [ + 'ephox.polaris.parray.Generator', + 'ephox.polaris.parray.Query', + 'ephox.polaris.parray.Split', + 'ephox.polaris.parray.Translate' + ], + + /** + * Documentation is in the actual implementations. + */ + function (Generator, Query, Split, Translate) { + var generate = function (items, generator, _start) { + return Generator.make(items, generator, _start); + }; + + var get = function (parray, offset) { + return Query.get(parray, offset); + }; + + var find = function (parray, pred) { + return Query.find(parray, pred); + }; + + var splits = function (parray, positions, subdivide) { + return Split.splits(parray, positions, subdivide); + }; + + var translate = function (parray, amount) { + return Translate.translate(parray, amount); + }; + + var sublist = function (parray, start, finish) { + return Query.sublist(parray, start, finish); + }; + + return { + generate: generate, + get: get, + find: find, + splits: splits, + translate: translate, + sublist: sublist + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.phoenix.extract.Find', + + [ + 'ephox.phoenix.api.data.Spot', + 'ephox.phoenix.extract.Extract', + 'ephox.phoenix.extract.TypedList', + 'ephox.polaris.api.PositionArray' + ], + + function (Spot, Extract, TypedList, PositionArray) { + + /** + * Finds an exact reference to a document point generated by Extract + */ + var find = function (universe, parent, offset, optimise) { + var extractions = Extract.typed(universe, parent, optimise); + + var parray = PositionArray.generate(extractions, TypedList.gen); + var spot = PositionArray.get(parray, offset); + return spot.map(function (v) { + return Spot.point(v.element(), offset - v.start()); + }); + }; + + return { + find: find + }; + + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.phoenix.api.general.Extract', + + [ + 'ephox.phoenix.extract.Extract', + 'ephox.phoenix.extract.ExtractText', + 'ephox.phoenix.extract.Find' + ], + + /** + * Documentation is in the actual implementations. + */ + function (Extract, ExtractText, Find) { + + var from = function (universe, item, optimise) { + return Extract.typed(universe, item, optimise); + }; + + var all = function (universe, item, optimise) { + return Extract.items(universe, item, optimise); + }; + + var extract = function (universe, child, offset, optimise) { + return Extract.extract(universe, child, offset, optimise); + }; + + var extractTo = function (universe, child, offset, pred, optimise) { + return Extract.extractTo(universe, child, offset, pred, optimise); + }; + + var find = function (universe, parent, offset, optimise) { + return Find.find(universe, parent, offset, optimise); + }; + + var toText = function (universe, item, optimise) { + return ExtractText.from(universe, item, optimise); + }; + + return { + extract: extract, + extractTo: extractTo, + all: all, + from: from, + find: find, + toText: toText + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.phoenix.family.Group', + + [ + 'ephox.compass.Arr', + 'ephox.phoenix.api.general.Extract', + 'ephox.polaris.api.Arrays' + ], + + function (Arr, Extract, Arrays) { + /** + * Return an array of arrays split by boundaries + */ + var group = function (universe, items, optimise) { + var extractions = Arr.bind(items, function (item) { + return Extract.from(universe, item, optimise); + }); + + var segments = Arrays.splitby(extractions, function (item) { + return item.isBoundary(); + }); + + return Arr.filter(segments, function (x) { return x.length > 0; }); + }; + + return { + group: group + }; + + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.phoenix.family.Parents', + + [ + 'ephox.compass.Arr', + 'ephox.perhaps.Option' + ], + + function (Arr, Option) { + /** + * Search the parents of both items for a common element + */ + var common = function (universe, item1, item2) { + var item1parents = [item1].concat(universe.up().all(item1)); + var item2parents = [item2].concat(universe.up().all(item2)); + + var r = Arr.find(item1parents, function (x) { + return Arr.exists(item2parents, function (y) { + return universe.eq(y, x); + }); + }); + + return Option.from(r); + }; + + return { + common: common + }; + + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.phoenix.wrap.OrphanText', + + [ + 'ephox.compass.Arr' + ], + + function (Arr) { + // Textnodes cannot be children of these tags + var textBlacklist = [ 'table', 'tbody', 'thead', 'tfoot', 'tr', 'ul', 'ol' ]; + + return function (universe) { + var domUtils = universe.property(); + var validateParent = function (node, blacklist) { + return domUtils.parent(node).map(domUtils.name).map(function (name) { + return !Arr.contains(blacklist, name); + }).getOr(false); + }; + + var validateText = function (textNode) { + return domUtils.isText(textNode) && validateParent(textNode, textBlacklist); + }; + + return { + validateText: validateText + }; + }; + } +); +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.phoenix.family.Range', + + [ + 'ephox.compass.Arr', + 'ephox.peanut.Fun', + 'ephox.phoenix.api.general.Extract', + 'ephox.phoenix.family.Parents', + 'ephox.phoenix.wrap.OrphanText' + ], + + function (Arr, Fun, Extract, Parents, OrphanText) { + var index = function (universe, items, item) { + return Arr.findIndex(items, Fun.curry(universe.eq, item)); + }; + + var order = function (items, a, delta1, b, delta2) { + return a < b ? items.slice(a + delta1, b + delta2) : items.slice(b + delta2, a + delta1); + }; + + /** + * Returns a flat array of text nodes between two defined nodes. + * + * Deltas are a broken concept. They control whether the item passed is included in the result. + */ + var range = function (universe, item1, delta1, item2, delta2) { + if (universe.eq(item1, item2)) return [item1]; + + return Parents.common(universe, item1, item2).fold(function () { + return []; // no common parent, therefore no intervening path. How does this clash with Path in robin? + }, function (parent) { + var items = [ parent ].concat(Extract.all(universe, parent, Fun.constant(false))); + var start = index(universe, items, item1); + var finish = index(universe, items, item2); + var result = start > -1 && finish > -1 ? order(items, start, delta1, finish, delta2) : []; + var orphanText = OrphanText(universe); + return Arr.filter(result, orphanText.validateText); + }); + }; + + return { + range: range + }; + + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.phoenix.api.general.Family', + + [ + 'ephox.phoenix.family.Group', + 'ephox.phoenix.family.Range' + ], + + /** + * Documentation is in the actual implementations. + */ + function (Group, Range) { + var range = function (universe, start, startDelta, finish, finishDelta) { + return Range.range(universe, start, startDelta, finish, finishDelta); + }; + + var group = function (universe, items, optimise) { + return Group.group(universe, items, optimise); + }; + + return { + range: range, + group: group + }; + + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.polaris.string.Sanitise', + + [ + + ], + + function () { + /** + * Sanitises a string for use in a CSS class name + */ + var css = function (str) { + // special case; the first character must a letter. More strict than CSS, but easier to implement. + var r = /^[a-zA-Z]/.test(str) ? '' : 'e'; + + // any non-word character becomes a hyphen + var sanitised = str.replace(/[^\w]/gi, '-'); + + return r + sanitised; + }; + + return { + css: css + }; + } +); +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.polaris.string.Split', + + [ + 'ephox.compass.Arr' + ], + + function (Arr) { + /** + * Splits a string into multiple chunks + */ + var splits = function (value, indices) { + if (indices.length === 0) return [value]; + + var divisions = Arr.foldl(indices, function (acc, x) { + if (x === 0) return acc; + + var part = value.substring(acc.prev, x); + return { + prev: x, + values: acc.values.concat([part]) + }; + }, { prev: 0, values: [] }); + + var lastPoint = indices[indices.length - 1]; + return lastPoint < value.length ? divisions.values.concat(value.substring(lastPoint)) : divisions.values; + }; + + return { + splits: splits + }; + + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.polaris.api.Strings', + + [ + 'ephox.polaris.string.Sanitise', + 'ephox.polaris.string.Split' + ], + + /** + * Documentation is in the actual implementations. + */ + function (Sanitise, Split) { + var splits = function (text, points) { + return Split.splits(text, points); + }; + + var cssSanitise = function (str) { + return Sanitise.css(str); + }; + + return { + cssSanitise: cssSanitise, + splits: splits + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.phoenix.search.Splitter', + + [ + 'ephox.compass.Arr', + 'ephox.perhaps.Option', + 'ephox.phoenix.api.data.Spot', + 'ephox.polaris.api.PositionArray', + 'ephox.polaris.api.Strings' + ], + + function (Arr, Option, Spot, PositionArray, Strings) { + + /** + * Re-generates an item's text nodes, split as defined by the positions array. + * + * Returns a PositionArray of the result. + */ + var subdivide = function (universe, item, positions) { + var text = universe.property().getText(item); + var pieces = Arr.filter(Strings.splits(text, positions), function (section) { + return section.length > 0; + }); + + if (pieces.length <= 1) return [ Spot.range(item, 0, text.length) ]; + universe.property().setText(item, pieces[0]); + + var others = PositionArray.generate(pieces.slice(1), function (a, start) { + var nu = universe.create().text(a); + var result = Spot.range(nu, start, start + a.length); + return Option.some(result); + }, pieces[0].length); + + var otherElements = Arr.map(others, function (a) { return a.element(); }); + universe.insert().afterAll(item, otherElements); + + return [ Spot.range(item, 0, pieces[0].length) ].concat(others); + }; + + return { + subdivide: subdivide + }; + + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.phoenix.search.MatchSplitter', + + [ + 'ephox.compass.Arr', + 'ephox.peanut.Fun', + 'ephox.phoenix.search.Splitter', + 'ephox.polaris.api.PositionArray' + ], + + function (Arr, Fun, Splitter, PositionArray) { + /** + * Split each text node in the list using the match endpoints. + * + * Each match is then mapped to the word it matched and the elements that make up the word. + */ + var separate = function (universe, list, matches) { + var allPositions = Arr.bind(matches, function (match) { + return [ match.start(), match.finish() ]; + }); + + var subdivide = function (unit, positions) { + return Splitter.subdivide(universe, unit.element(), positions); + }; + + var structure = PositionArray.splits(list, allPositions, subdivide); + + var collate = function (match) { + var sub = PositionArray.sublist(structure, match.start(), match.finish()); + + var elements = Arr.map(sub, function (unit) { return unit.element(); }); + + var exact = Arr.map(elements, universe.property().getText).join(''); + return { + elements: Fun.constant(elements), + word: match.word, + exact: Fun.constant(exact) + }; + }; + + return Arr.map(matches, collate); + }; + + return { + separate: separate + }; + + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.bud.Unicode', + + [ + ], + + function () { + // \u200B needs to be removed manually as it is not considered whitespace when trimming + // \uFEFF does not need to be removed manually. It is considered whitespace when trimming + var zeroWidth = function () { + return '\u200B'; + }; + + // Note, we are separating these out so that we are accounting for the subtle differences + // between them. Eventually, we'll want to combine them again. + var trimNative = function (str) { + return str.replace(/\u200B/, '').trim(); + }; + + var trimWithRegex = function (str) { + return str.replace(/^\s+|\s+$/g, '').replace(/\u200B/, ''); + }; + + return { + zeroWidth: zeroWidth, + trimNative: trimNative, + trimWithRegex: trimWithRegex + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.polaris.pattern.Chars', + + [ + 'ephox.bud.Unicode', + 'ephox.peanut.Fun' + ], + + function (Unicode, Fun) { + // \w is a word character + // \' is an apostrophe + // '-' is a hyphen + // \u00C0 - \u00FF are various language characters + // \u2018 and \u2019 are the smart quote characters + var chars = '\\w' + '\'' + '\\-' + '\\u00C0-\\u00FF' + Unicode.zeroWidth() + '\\u2018\\u2019'; + var wordbreak = '[^' + chars + ']'; + var wordchar = '[' + chars + ']'; + + return { + chars: Fun.constant(chars), + wordbreak: Fun.constant(wordbreak), + wordchar: Fun.constant(wordchar) + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.polaris.pattern.Custom', + + [ + 'global!RegExp' + ], + + function (RegExp) { + return function (regex, prefix, suffix, flags) { + var term = function () { + return new RegExp(regex, flags.getOr('g')); + }; + + return { + term: term, + prefix: prefix, + suffix: suffix + }; + }; + } +); +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.polaris.pattern.Unsafe', + + [ + 'ephox.peanut.Fun', + 'ephox.perhaps.Option', + 'ephox.polaris.pattern.Chars', + 'ephox.polaris.pattern.Custom' + ], + + function (Fun, Option, Chars, Custom) { + + /** + * Tokens have no prefix or suffix + */ + var token = function (input) { + return Custom(input, Fun.constant(0), Fun.constant(0), Option.none()); + }; + + /** + * Words have complex rules as to what a "word break" actually is. + * + * These are consumed by the regex and then excluded by prefix/suffix lengths. + */ + var word = function (input) { + var regex = '((?:^\'?)|(?:' + Chars.wordbreak() + '+\'?))' + input + '((?:\'?$)|(?:\'?' + Chars.wordbreak() + '+))'; + + // ASSUMPTION: There are no groups in their input + var prefix = function (match) { + return match.length > 1 ? match[1].length : 0; + }; + + var suffix = function (match) { + return match.length > 2 ? match[2].length : 0; + }; + + return Custom(regex, prefix, suffix, Option.none()); + }; + + return { + token: token, + word: word + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.polaris.pattern.Safe', + + [ + 'ephox.polaris.pattern.Unsafe' + ], + + /** Sanitises all inputs to Unsafe */ + function (Unsafe) { + /** Escapes regex characters in a string */ + var sanitise = function (input) { + return input.replace(/[-\[\]{}()*+?.,\\\^$|#\s]/g, '\\$&'); + }; + + var word = function (input) { + var value = sanitise(input); + return Unsafe.word(value); + }; + + var token = function (input) { + var value = sanitise(input); + return Unsafe.token(value); + }; + + return { + sanitise: sanitise, + word: word, + token: token + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.polaris.api.Pattern', + + [ + 'ephox.polaris.pattern.Chars', + 'ephox.polaris.pattern.Custom', + 'ephox.polaris.pattern.Safe', + 'ephox.polaris.pattern.Unsafe' + ], + + /** + * Documentation is in the actual implementations. + */ + function (Chars, Custom, Safe, Unsafe) { + var safeword = function (input) { + return Safe.word(input); + }; + + var safetoken = function (input) { + return Safe.token(input); + }; + + var custom = function (input, prefix, suffix, flags) { + return Custom(input, prefix, suffix, flags); + }; + + var unsafeword = function (input) { + return Unsafe.word(input); + }; + + var unsafetoken = function (input) { + return Unsafe.token(input); + }; + + var sanitise = function (input) { + return Safe.sanitise(input); + }; + + var chars = function () { + return Chars.chars(); + }; + + var wordbreak = function () { + return Chars.wordbreak(); + }; + + var wordchar = function () { + return Chars.wordchar(); + }; + + return { + safeword: safeword, + safetoken: safetoken, + custom: custom, + unsafeword: unsafeword, + unsafetoken: unsafetoken, + sanitise: sanitise, + chars: chars, + wordbreak: wordbreak, + wordchar: wordchar + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.polaris.search.Find', + + [ + 'ephox.peanut.Fun' + ], + + function (Fun) { + + /** + * Returns the offset pairs of all matches of pattern on the input string, adjusting for prefix and suffix offsets + */ + var all = function (input, pattern) { + var term = pattern.term(); + var r = []; + var match = term.exec(input); + while (match) { + var start = match.index + pattern.prefix(match); + var length = match[0].length - pattern.prefix(match) - pattern.suffix(match); + r.push({ + start: Fun.constant(start), + finish: Fun.constant(start + length) + }); + term.lastIndex = start + length; + match = term.exec(input); + } + return r; + }; + + return { + all: all + }; + + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.polaris.search.Sleuth', + + [ + 'ephox.compass.Arr', + 'ephox.highway.Merger', + 'ephox.polaris.search.Find', + 'global!Array' + ], + + function (Arr, Merger, Find, Array) { + var sort = function (array) { + var r = Array.prototype.slice.call(array, 0); + r.sort(function (a, b) { + if (a.start() < b.start()) return -1; + else if (b.start() < a.start()) return 1; + else return 0; + }); + return r; + }; + + /** + * For each target (pattern, ....), find the matching text (if there is any) and record the start and end offsets. + * + * Then sort the result by start point. + */ + var search = function (text, targets) { + var unsorted = Arr.bind(targets, function (t) { + var results = Find.all(text, t.pattern()); + return Arr.map(results, function (r) { + return Merger.merge(t, { + start: r.start, + finish: r.finish + }); + }); + }); + + return sort(unsorted); + }; + + return { + search: search + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.polaris.api.Search', + + [ + 'ephox.polaris.search.Find', + 'ephox.polaris.search.Sleuth' + ], + + /** + * Documentation is in the actual implementations. + */ + function (Find, Sleuth) { + var findall = function (input, pattern) { + return Find.all(input, pattern); + }; + + var findmany = function (input, targets) { + return Sleuth.search(input, targets); + }; + + return { + findall: findall, + findmany: findmany + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.phoenix.search.Searcher', + + [ + 'ephox.compass.Arr', + 'ephox.perhaps.Option', + 'ephox.phoenix.api.data.NamedPattern', + 'ephox.phoenix.api.data.Spot', + 'ephox.phoenix.api.general.Family', + 'ephox.phoenix.extract.TypedList', + 'ephox.phoenix.search.MatchSplitter', + 'ephox.polaris.api.Pattern', + 'ephox.polaris.api.PositionArray', + 'ephox.polaris.api.Search' + ], + + function (Arr, Option, NamedPattern, Spot, Family, TypedList, MatchSplitter, Pattern, PositionArray, Search) { + var gen = function (universe, input) { + return PositionArray.generate(input, function (unit, offset) { + var finish = offset + universe.property().getText(unit).length; + return Option.from(Spot.range(unit, offset, finish)); + }); + }; + + /** + * Extracts groups of elements separated by boundaries. + * + * For each group, search the text for pattern matches. + * + * Returns a list of matches. + */ + var run = function (universe, elements, patterns, optimise) { + var sections = Family.group(universe, elements, optimise); + var result = Arr.bind(sections, function (x) { + var input = TypedList.justText(x); + var text = Arr.map(input, universe.property().getText).join(''); + + var matches = Search.findmany(text, patterns); + var plist = gen(universe, input); + + return MatchSplitter.separate(universe, plist, matches); + }); + + return result; + }; + + + /** + * Runs a search for one or more words + */ + var safeWords = function (universe, elements, words, optimise) { + var patterns = Arr.map(words, function (word) { + var pattern = Pattern.safeword(word); + return NamedPattern(word, pattern); + }); + return run(universe, elements, patterns, optimise); + }; + + + /** + * Runs a search for a single token + */ + var safeToken = function (universe, elements, token, optimise) { + var pattern = NamedPattern(token, Pattern.safetoken(token)); + return run(universe, elements, [pattern], optimise); + }; + + return { + safeWords: safeWords, + safeToken: safeToken, + run: run + }; + + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.phoenix.api.general.Search', + + [ + 'ephox.phoenix.search.Searcher' + ], + + /** + * Documentation is in the actual implementations. + */ + function (Searcher) { + var run = function (universe, items, patterns, optimise) { + return Searcher.run(universe, items, patterns, optimise); + }; + + var safeWords = function (universe, items, words, optimise) { + return Searcher.safeWords(universe, items, words, optimise); + }; + + var safeToken = function (universe, items, token, optimise) { + return Searcher.safeToken(universe, items, token, optimise); + }; + + return { + safeWords: safeWords, + safeToken: safeToken, + run: run + }; + + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.phoenix.api.dom.DomSearch', + + [ + 'ephox.boss.api.DomUniverse', + 'ephox.phoenix.api.general.Search' + ], + + /** + * Documentation is in the actual implementations. + */ + function (DomUniverse, Search) { + var universe = DomUniverse(); + + var run = function (elements, patterns, optimise) { + return Search.run(universe, elements, patterns, optimise); + }; + + var safeWords = function (elements, words, optimise) { + return Search.safeWords(universe, elements, words, optimise); + }; + + var safeToken = function (elements, token, optimise) { + return Search.safeToken(universe, elements, token, optimise); + }; + + return { + safeWords: safeWords, + safeToken: safeToken, + run: run + }; + + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.sugar.api.SelectorExists', + + [ + 'ephox.sugar.api.SelectorFind' + ], + + function (SelectorFind) { + var any = function (selector) { + return SelectorFind.first(selector).isSome(); + }; + + var ancestor = function (scope, selector, isRoot) { + return SelectorFind.ancestor(scope, selector, isRoot).isSome(); + }; + + var sibling = function (scope, selector) { + return SelectorFind.sibling(scope, selector).isSome(); + }; + + var child = function (scope, selector) { + return SelectorFind.child(scope, selector).isSome(); + }; + + var descendant = function (scope, selector) { + return SelectorFind.descendant(scope, selector).isSome(); + }; + + var closest = function (scope, selector, isRoot) { + return SelectorFind.closest(scope, selector, isRoot).isSome(); + }; + + return { + any: any, + ancestor: ancestor, + sibling: sibling, + child: child, + descendant: descendant, + closest: closest + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.limbo.process.Preprocessor', + + [ + 'ephox.compass.Arr', + 'ephox.perhaps.Option', + 'ephox.phoenix.api.dom.DomSearch', + 'ephox.polaris.api.Pattern', + 'ephox.scullion.Struct', + 'ephox.sugar.api.Attr', + 'ephox.sugar.api.Css', + 'ephox.sugar.api.Element', + 'ephox.sugar.api.Html', + 'ephox.sugar.api.Insert', + 'ephox.sugar.api.InsertAll', + 'ephox.sugar.api.Node', + 'ephox.sugar.api.SelectorExists' + ], + + function (Arr, Option, DomSearch, Pattern, Struct, Attr, Css, Element, Html, Insert, InsertAll, Node, SelectorExists) { + //the big fat holy grail of URL pattern matching.. + var regex = '((([A-Za-z]{3,9}:(?:\\/\\/)?)(?:[\\-;:&=\\+\\$,\\w]+@)?[A-Za-z0-9\\.\\-]+|(?:www\\.|[\\-;:&=\\+\\$,\\w]+@)[A-Za-z0-9\\.\\-]+)(:[0-9]+)?((?:\\/[\\+~%\\/\\.\\w\\-_]*)?\\??(?:[\\-\\+=&;%@\\.\\w_]*)#?(?:[\\.\\!\\/\\\\\\w]*))?)'; + + var findLinks = function (elements) { + var data = Struct.immutable('word', 'pattern'); + var term = Pattern.unsafetoken(regex); + var pattern = data('__INTERNAL__', term); + return DomSearch.run(elements, [pattern]); + }; + + var notInLink = function (element) { + // return true; + return !SelectorExists.closest(element, 'a'); + }; + + var wrap = function (elements) { + return Option.from(elements[0]).filter(notInLink).map(function (first) { + var tag = Element.fromTag('a'); + Insert.before(first, tag); + InsertAll.append(tag, elements); + Attr.set(tag, 'href', Html.get(tag)); + return tag; + }); + }; + + var links = function (elements) { + var matches = findLinks(elements); + Arr.each(matches, function (match) { + // TBIO-2444 Do not wrap anything with @ symbol, it could be an email + if(match.exact().indexOf('@') < 0) wrap(match.elements()); + }); + }; + + var position = function (elements) { + Arr.each(elements, function (elem) { + if (Node.isElement(elem)) Css.remove(elem, 'position'); + }); + }; + + return { + links: links, + position: position + }; + } +); +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.limbo.api.RunPaste', + + [ + 'ephox.compass.Arr', + 'ephox.limbo.process.PasteFilters', + 'ephox.limbo.process.Preprocessor', + 'ephox.pastiche.api.HybridAction', + 'ephox.sugar.api.Html', + 'ephox.sugar.api.Traverse' + ], + + function (Arr, PasteFilters, Preprocessor, HybridAction, Html, Traverse) { + var preprocess = function (platform, container) { + var children = Traverse.children(container); + Arr.each([ Preprocessor.links, Preprocessor.position ], function (f) { + f(children); + }); + }; + + var go = function (doc, platform, container, merging, isWord) { + preprocess(platform, container); + var html = Html.get(container); + var filters = PasteFilters.derive(isWord, merging, platform); + return HybridAction.go(doc, html, filters); + }; + + return { + go: go + }; + } +); +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.limbo.api.Sources', + + [ + 'ephox.pastiche.api.HybridAction', + 'ephox.sugar.api.Attr', + 'ephox.sugar.api.Html', + 'ephox.sugar.api.PredicateExists' + ], + + function (HybridAction, Attr, Html, PredicateExists) { + var ie11 = function (container) { + // This looks expensive. Using grep on corpus, + // string searching for " -1 : false; + }); + }; + + var other = function (container) { + var html = Html.get(container); + return HybridAction.isWordContent(html); + }; + + var isWord = function (platform, container) { + var browser = platform.browser; + var detector = browser.isIE() && browser.version.major >= 11 ? ie11 : other; + return detector(container); + }; + + return { + isWord: isWord + }; + } +); +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.sloth.data.Range', + + [ + 'ephox.peanut.Fun', + 'ephox.sugar.api.Compare' + ], + + function (Fun, Compare) { + return function (startContainer, startOffset, endContainer, endOffset) { + var collapsed = Compare.eq(startContainer, endContainer) && startOffset === endOffset; + + return { + startContainer: Fun.constant(startContainer), + startOffset: Fun.constant(startOffset), + endContainer: Fun.constant(endContainer), + endOffset: Fun.constant(endOffset), + collapsed: Fun.constant(collapsed) + }; + }; + + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.sloth.api.BodySwitch', + + [ + 'ephox.sloth.data.Range', + 'ephox.sugar.api.Element', + 'ephox.sugar.api.Insert', + 'ephox.sugar.api.Remove', + 'ephox.sugar.api.Traverse' + ], + + function (Range, Element, Insert, Remove, Traverse) { + return function (selection) { + + var placeholder = Element.fromTag('br'); + + var toOn = function (element, offscreen) { + element.dom().focus(); + }; + + var getWin = function (offscreen) { + var doc = Traverse.owner(offscreen); + return doc.dom().defaultView; + }; + + var toOff = function (element, offscreen) { + var win = getWin(offscreen); + win.focus(); + Insert.append(offscreen, placeholder); + selection.set(win, Range(placeholder, 0, placeholder, 0)); + }; + + var cleanup = function () { + Remove.remove(placeholder); + }; + + return { + cleanup: cleanup, + toOn: toOn, + toOff: toOff + }; + }; + + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.sloth.api.DivSwitch', + + [ + 'ephox.peanut.Fun' + ], + + function (Fun) { + return function () { + var toOn = function (element, offscreen) { + element.dom().focus(); + }; + + var toOff = function (element, offscreen) { + offscreen.dom().focus(); + }; + + var cleanup = Fun.identity; + + return { + toOn: toOn, + toOff: toOff, + cleanup: cleanup + }; + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.plumber.tap.control.BlockControl', + + [ + ], + + function () { + var create = function () { + var blocked = false; + var isBlocked = function () { return blocked; }; + var block = function () { blocked = true; }; + var unblock = function () { blocked = false; }; + + return { + isBlocked: isBlocked, + block: block, + unblock: unblock + } + }; + + return { + create: create + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.plumber.tap.wrap.Tapped', + + [ + ], + + function () { + var create = function (control, instance) { + return { + control: control, + instance: instance + } + }; + + return { + create: create + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.plumber.tap.function.BlockTap', + + [ + 'ephox.plumber.tap.control.BlockControl', + 'ephox.plumber.tap.wrap.Tapped' + ], + + function (BlockControl, Tapped) { + var tap = function (fn) { + var control = BlockControl.create(); + + var instance = function () { + if (!control.isBlocked()) + fn.apply(null, arguments); + }; + + return Tapped.create(control, instance); + }; + + return { + tap: tap + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.sloth.api.Paste', + + [ + 'ephox.fred.PlatformDetection', + 'ephox.peanut.Fun', + 'global!setTimeout' + ], + + function (PlatformDetection, Fun, setTimeout) { + var detection = PlatformDetection.detect(); + + var ie10 = function (doc, tap, postpaste) { + // Block the tap, and fire a paste. + tap.control.block(); + doc.dom().execCommand('paste'); + postpaste(); + tap.control.unblock(); + }; + + var others = function (doc, tap, postpaste) { + setTimeout(postpaste, 1); + }; + + // Most browsers can just let the paste event continue. + // on IE10, the paste event must be cancelled and done manually + var willBlock = detection.browser.isIE() && detection.browser.version.major <= 10; + + var runner = willBlock ? ie10 : others; + + var run = function (doc, tap, postpaste) { + return runner(doc, tap, postpaste); + }; + + return { + willBlock: Fun.constant(willBlock), + run: run + }; + } +); +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.sloth.engine.Consolidator', + + [ + 'ephox.compass.Arr', + 'ephox.sugar.api.Element', + 'ephox.sugar.api.Insert', + 'ephox.sugar.api.InsertAll', + 'ephox.sugar.api.Remove', + 'ephox.sugar.api.Traverse' + ], + + function (Arr, Element, Insert, InsertAll, Remove, Traverse) { + // TBIO-2440. In some situations on Windows 7 Chrome, pasting into the offscreen div + // actually splits the div in two. The purpose of this function is to incorporate + // any of the split divs into the main one. + var consolidate = function (offscreen, isOffscreen) { + Traverse.nextSibling(offscreen).filter(isOffscreen).each(function (other) { + var children = Traverse.children(other); + InsertAll.append(offscreen, children); + Remove.remove(other); + }); + oneChild(offscreen, isOffscreen); + }; + // TBIO-3010: In Chrome (reproducible in both Windows and Mac) when pasting from notepad the offscreen div + // generates multiple sloth divs, causing the content to be not pasted correctly. This function + // runs across the children of the offscreen div and if it is a sloth element then it extract + // the content and wraps it in a normal div. + var cleanChild = function (child, offscreen) { + var children = Traverse.children(child); + var wrapper = Element.fromTag('div', Traverse.owner(child).dom()); + InsertAll.append(wrapper, children); + Insert.before(child, wrapper); + Remove.remove(child); + }; + + var oneChild = function (offscreen, isOffscreen) { + var children = Traverse.children(offscreen); + Arr.each(children, function (child) { + if (isOffscreen(child)) cleanChild(child, offscreen); + }); + }; + + return { + consolidate: consolidate + }; + } +); +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.sloth.engine.Offscreen', + + [ + 'ephox.epithet.Id', + 'ephox.scullion.Struct', + 'ephox.sloth.engine.Consolidator', + 'ephox.sugar.api.Attr', + 'ephox.sugar.api.Class', + 'ephox.sugar.api.Css', + 'ephox.sugar.api.Element', + 'ephox.sugar.api.Html', + 'ephox.sugar.api.Insert', + 'ephox.sugar.api.Remove', + 'ephox.sugar.api.SelectorFind', + 'ephox.sugar.api.Traverse' + ], + + function (Id, Struct, Consolidator, Attr, Class, Css, Element, Html, Insert, Remove, SelectorFind, Traverse) { + var hash = Id.generate('ephox-sloth-bin'); + + return function (switcher) { + var offscreen = Element.fromTag('div'); + Attr.set(offscreen, 'contenteditable', 'true'); + Class.add(offscreen, hash); + Css.setAll(offscreen, { + position: 'absolute', + left: '0px', + top: '0px', + width: '0px', + height: '0px', + overflow: 'hidden' + }); + + var attach = function (target) { + Remove.empty(offscreen); + Insert.append(target, offscreen); + }; + + var focus = function () { + var body = SelectorFind.ancestor(offscreen, 'body'); + body.each(function (b) { + switcher.toOff(b, offscreen); + }); + }; + + var isOffscreen = function (other) { + return Class.has(other, hash); + }; + + var contents = function () { + Consolidator.consolidate(offscreen, isOffscreen); + var data = Struct.immutable('elements', 'html', 'container'); + var elements = Traverse.children(offscreen); + var html = Html.get(offscreen); + return data(elements, html, offscreen); + }; + + var detach = function () { + Remove.remove(offscreen); + }; + + var container = function () { + return offscreen; + }; + + return { + attach: attach, + focus: focus, + contents: contents, + container: container, + detach: detach + }; + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.sloth.api.ProxyPaste', + + [ + 'ephox.peanut.Fun', + 'ephox.plumber.tap.function.BlockTap', + 'ephox.porkbun.Event', + 'ephox.porkbun.Events', + 'ephox.sloth.api.Paste', + 'ephox.sloth.engine.Offscreen', + 'ephox.sugar.api.Traverse' + ], + + function (Fun, BlockTap, Event, Events, Paste, Offscreen, Traverse) { + return function (switcher, element) { + var offscreen = Offscreen(switcher); + + var postpaste = function () { + switcher.cleanup(); + var contents = offscreen.contents(); + offscreen.detach(); + events.trigger.after(contents.elements(), contents.html(), offscreen.container()); + }; + + var tap = BlockTap.tap(function () { + events.trigger.before(); + offscreen.attach(element); + offscreen.focus(); + Paste.run(Traverse.owner(element), tap, postpaste); + }); + + var handler = function () { + tap.instance(); + }; + + var events = Events.create({ + before: Event([]), + after: Event(['elements', 'html', 'container']) + }); + + var destroy = Fun.noop; + + return { + instance: Fun.constant(handler), + destroy: destroy, + events: events.registry + }; + }; + + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.cement.pastiche.Pastiche', + + [ + 'ephox.cement.api.CementConstants', + 'ephox.cement.pastiche.IeBlob', + 'ephox.compass.Arr', + 'ephox.fred.PlatformDetection', + 'ephox.fussy.api.WindowSelection', + 'ephox.limbo.api.RunPaste', + 'ephox.limbo.api.Sources', + 'ephox.peanut.Fun', + 'ephox.perhaps.Option', + 'ephox.porkbun.Event', + 'ephox.porkbun.Events', + 'ephox.sloth.api.BodySwitch', + 'ephox.sloth.api.DivSwitch', + 'ephox.sloth.api.ProxyPaste', + 'ephox.sugar.api.Class', + 'ephox.sugar.api.Elements', + 'ephox.sugar.api.Node', + 'ephox.sugar.api.Remove', + 'ephox.sugar.api.Traverse', + 'global!console', + 'global!setTimeout' + ], + + function (CementConstants, IeBlob, Arr, PlatformDetection, WindowSelection, RunPaste, Sources, Fun, Option, Event, Events, BodySwitch, DivSwitch, ProxyPaste, Class, Elements, Node, Remove, Traverse, console, setTimeout) { + var platform = PlatformDetection.detect(); + + return function (prePasteFilter, body, mergeSettings, intraFlag) { + // Temporary hack until we restructure in TBIO-1515 + var findClipboardTags = function (container, isWord) { + return (intraFlag !== undefined && !isWord) ? intraFlag.findClipboardTags(Traverse.children(container)) : Option.none(); + }; + + + var events = Events.create({ + paste: Event(['elements', 'assets']), + error: Event(['message']) + }); + + var fakeSelecton = { + // dupe from hare.selection.Selection + set: function (win, range) { + WindowSelection.setExact(win, range.startContainer(), range.startOffset(), range.endContainer(), range.endOffset()); + } + }; + + // TBIO-2019: scrollbar lock on paste. + // When using DivSwitch for inline editing, FF & webkit browsers will lock the scrollbar after paste + // This is because the the offscreen div was not used and hence no filtration was run and the scrollbar unlock code never got called + // To verify this paste formatted html and see the formatting unchanged test + // DivSwitch calls focus on the offscreen div, FF & Webkit do not set selection on focus, + // so inserting into offscreen div fails, bypassing the rest of the past process. + // It works in IE because amazingly IE sets selection on focus. + // Calling BodySwitch with IE inline mode paste fails altogether, the cause of the failure is unknown + var switchF = platform.browser.isIE() && Node.name(body) !== 'body' ? DivSwitch: BodySwitch; + var switcher = switchF(fakeSelecton); + var documentElement = Traverse.owner(body); + var proxyPaste = ProxyPaste(switcher, body); + var backgroundAssets = Option.none(); + + proxyPaste.events.after.bind(function (event) { + var container = event.container(); + switcher.toOn(body, container); + + // Run a paste filter over the off-screen div. + prePasteFilter(container); + + Class.add(container, CementConstants.binStyle()); + var isWord = Sources.isWord(platform, container); + + var pasteImpl = function (pasteSettings) { + var merging = (isWord && pasteSettings.mergeOfficeStyles) === true || (!isWord && pasteSettings.mergeHtmlStyles === true); + + try { + var dump = RunPaste.go(documentElement, platform, container, merging, isWord); + if (dump !== undefined && dump !== null && dump.length > 0) { + var elements = Elements.fromHtml(dump); + + backgroundAssets.fold(function () { + events.trigger.paste(elements, []); + }, function (future) { + future.get(function (assets) { + events.trigger.paste(elements, assets); + }); + }); + backgroundAssets = Option.none(); + } else { + // This is required to stop the scroll blocking. (TBIO-2440) + events.trigger.paste([], []); + } + } catch (e) { + console.error(e); + events.trigger.error('errors.paste.process.failure'); + } + }; + + // This potentially prompts the user, so it needs to be a callback + var normalPaste = Fun.curry(mergeSettings.get, isWord, pasteImpl); + + // Temporary hack until we restructure in TBIO-1515 + findClipboardTags(container, isWord).fold(normalPaste, function (tags) { + Arr.each(tags, Remove.remove); + // making sure it's asynchronous in both scenarios + setTimeout(function () { + // No need to call mergeSettings.get, we're just hard coding true + pasteImpl({ mergeHtmlStyles: true }); + }, 0); + }); + }); + + var destroy = function () { + proxyPaste.destroy(); + }; + + var handler = function (raw) { + try { + backgroundAssets = IeBlob.convert(raw); + var instance = proxyPaste.instance(); + instance(); + } catch (e) { + console.error(e); + events.trigger.error('errors.paste.process.failure'); + } + }; + + return { + handler: handler, + isSupported: Fun.constant(true), + events: events.registry, + destroy: destroy + }; + }; + } +); +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.cement.smartpaste.PasteHandlers', + + [ + 'ephox.cement.html.HtmlPaste', + 'ephox.cement.images.ImagePaste', + 'ephox.cement.pastiche.Pastiche', + 'ephox.porkbun.Event', + 'ephox.porkbun.Events', + 'ephox.scullion.Struct', + 'ephox.violin.Strings' + ], + + function (HtmlPaste, ImagePaste, Pastiche, Event, Events, Struct, Strings) { + var result = Struct.immutable('captured'); + + var dataContainsMicrosoftOfficeUrn = function (data) { + // copied from ELJ, this logic doesn't exist in Tord and Pastiche's version isn't good enough + return Strings.contains(data, ' SourceEvent + */ + return function (fields, source) { + var mine = Event(fields); + var numHandlers = 0; + + var triggerer = function(evt) { + // yay! Let's unbox this event, convert it to a varargs, so it can be re-boxed! + var args = Arr.map(fields, function (field) { + return evt[field](); + }); + mine.trigger.apply(null, args); + }; + + var bind = function (handler) { + mine.bind(handler); + numHandlers++; + if (numHandlers === 1) { + source.bind(triggerer); + } + }; + + var unbind = function (handler) { + mine.unbind(handler); + numHandlers--; + if (numHandlers === 0) { + source.unbind(triggerer); + } + }; + + return { + bind: bind, + unbind: unbind, + trigger: Fun.die("Cannot trigger a source event.") + }; + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.cement.api.Cement', + + [ + 'ephox.cement.flash.Flash', + 'ephox.cement.smartpaste.MergeSettings', + 'ephox.cement.smartpaste.PasteBroker', + 'ephox.limbo.api.RtfImage', + 'ephox.plumber.tap.function.BlockTap', + 'ephox.porkbun.Event', + 'ephox.porkbun.Events', + 'ephox.porkbun.SourceEvent', + 'ephox.sloth.api.Paste', + 'ephox.sugar.api.Element', + 'ephox.sugar.api.InsertAll' + ], + + function (Flash, MergeSettings, PasteBroker, RtfImage, BlockTap, Event, Events, SourceEvent, Paste, Element, InsertAll) { + return function (body, createDialog, prePasteFilter, cementConfig) { + var flash = Flash(createDialog, cementConfig); + var mergeSettings = MergeSettings(createDialog, cementConfig); + var pasteSettings = { baseUrl: cementConfig.baseUrl, allowLocalImages: cementConfig.allowLocalImages, intraFlag: cementConfig.intraFlag }; + var pasteBroker = PasteBroker(prePasteFilter, body, mergeSettings, pasteSettings); + + var events = Events.create({ + cancel: SourceEvent([], mergeSettings.events.cancel), // only merge settings can cancel paste, not flash + error: Event(['message']), + insert: Event(['elements', 'assets']) + }); + + var insert = function (event) { + pasteTap.control.unblock(); + events.trigger.insert(event.elements(), event.assets()); + }; + + flash.events.insert.bind(insert); + + var pasteTap = BlockTap.tap(function (nativeEvent) { + if (Paste.willBlock()) { + /* + On IE10, a second paste is required. That happens synchronously, before we can + return anything that says "block the tap". + In order to make this code reentrant, we need to eagerly block. + */ + pasteTap.control.block(); + + /* + We then need to cancel the native event, because due to reentrancy the "is blocked" + check below actually returns false. If we don't prevent default here, we allow the + default paste to complete on the initial paste event. + */ + nativeEvent.preventDefault(); + } + + pasteBroker.handlePaste(nativeEvent); + + // If dialogs are opened, we set the block and need to prevent default + if (pasteTap.control.isBlocked()) nativeEvent.preventDefault(); + }); + + // block the broker from receiving paste events while the merge window is open. + mergeSettings.events.open.bind(pasteTap.control.block); + mergeSettings.events.close.bind(pasteTap.control.unblock); + + pasteBroker.events.paste.bind(function (event) { + var elements = event.elements(); + var content = Element.fromTag('div'); + InsertAll.append(content, elements); + + if (RtfImage.exists(content)) { + // block the broker from receiving paste events while the flash window is open. + pasteTap.control.block(); + flash.gordon(content, event.assets()); + } else { + insert(event); + } + }); + + var destroy = function () { + pasteBroker.destroy(); + }; + + var passThroughError = function (event) { + pasteTap.control.unblock(); + events.trigger.error(event.message()); + }; + flash.events.error.bind(passThroughError); + pasteBroker.events.error.bind(passThroughError); + + return { + paste: pasteTap.instance, + isBlocked: pasteTap.control.isBlocked, + destroy: destroy, + events: events.registry + }; + }; + } +); +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.powerpaste.settings.Defaults', + + [ + + ], + + function() { + return { + officeStyles: 'prompt', + htmlStyles: 'clean' + }; + } +); +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.powerpaste.styles.Styles', + + [ + 'ephox.sugar.api.Attr', + 'ephox.sugar.api.Element', + 'ephox.sugar.api.Insert', + 'ephox.sugar.api.Remove', + 'ephox.sugar.api.SelectorExists', + 'ephox.sugar.api.SelectorFind', + 'global!document' + ], + + function(Attr, Element, Insert, Remove, SelectorExists, SelectorFind, document) { + var styleid = 'powerpaste-styles'; + var styleidselector = '#' + styleid; + + var injectStyles = function(url) { + if (!SelectorExists.any(styleidselector)){ + var htmlString = + ''; + + var style = Element.fromHtml(htmlString); + Attr.set(style, 'type', 'text/css'); + Attr.set(style, 'id', styleid); + + var head = SelectorFind.first('head').getOrDie('Head element could not be found.'); + + Insert.append(head, style); + + } + }; + + var removeStyles = function() { + if (SelectorExists.any(styleidselector)) { + + var head = SelectorFind.first('head').getOrDie('Head element could not be found.'); + var style = SelectorFind.descendant(head, styleidselector).getOrDie('The style element could not be removed'); + + Remove.remove(style); + + } + }; + + return { + injectStyles: injectStyles, + removeStyles: removeStyles + }; + } +); +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.powerpaste.tinymce.ModernTinyDialog', + + [ + 'ephox.porkbun.Event', + 'ephox.porkbun.Events', + 'ephox.powerpaste.util.NodeUtil', + 'ephox.sugar.api.Attr', + 'ephox.sugar.api.Element', + 'ephox.sugar.api.Insert', + 'ephox.sugar.api.Remove', + 'ephox.sugar.api.SelectorFind' + ], + + function(Event, Events, NodeUtil, Attr, Element, Insert, Remove, SelectorFind) { + return function(editor) { + var createDialog = function() { + var win, title = "", content = "", controls = [], dialogContent = null; + + var events = Events.create({ + close: Event([]) + }); + + var setTitle = function(label) { + title = label; + }; + + var setContent = function(c) { + if (tinymce.Env.safari) { + + } + var contentString = NodeUtil.nodeToString(c.dom()); + content = [{ + type: 'container', + html: contentString + }]; + dialogContent = c; + }; + + var setButtons = function(buttons) { + var tinyButtons = []; + + buttons.forEach(function(element, index, array){ + //Convert cement buttons into tiny buttons + tinyButtons.push({ + text: element.text, + onclick: element.click + }); + }); + + controls = tinyButtons; + + }; + + var winCloseEvent = function(e) { + events.trigger.close(); + }; + + var programmaticWinClose = function() { + //Unbind the close event, as the dialog close event has already triggered and doesn't need to be triggered again + win.off('close', winCloseEvent); + win.close('close'); + }; + + var show = function() { + //If we don't have any buttons, we need to add one (even if it just closes the dialog) + if (controls.length === 0) { + //This gives us back the capability to hit esc to close the dialog & the dialog doesn't take focus away from the editor + controls = [{ + text: 'Close', + onclick: function() { + win.close(); + } + }]; + } + + var winSettings = { + title: title, + spacing: 10, + padding: 10, + items: content, + buttons: controls + }; + + win = editor.windowManager.open(winSettings); + + var tinyWindow = Element.fromDom(win.getEl()); + var proxy = SelectorFind.descendant(tinyWindow, '.' + Attr.get(dialogContent, 'class')).getOrDie('We must find this element or we cannot continue'); + Insert.before(proxy, dialogContent); + Remove.remove(proxy); + + win.on('close', winCloseEvent); + + }; + + var hide = function() { + programmaticWinClose(); + }; + + var destroy = function() { + programmaticWinClose(); + }; + + var reflow = function() { + //(this doesn't work, reflow doesn't calc based on what's actually there, it works it out based on what's in the container on tiny's side) + //So we could update the items, but for now the dialog sizes match so... + }; + + return { + events: events.registry, + setTitle: setTitle, + setContent: setContent, + setButtons: setButtons, + show: show, + hide: hide, + destroy: destroy, + reflow: reflow + }; + }; + + return { + createDialog: createDialog + }; + }; + + } +); +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.powerpaste.tinymce.ModernPowerPaste', + [ + 'ephox.cement.api.Cement', + 'ephox.compass.Arr', + 'ephox.peanut.Fun', + 'ephox.powerpaste.i18n.I18n', + 'ephox.powerpaste.settings.Defaults', + 'ephox.powerpaste.styles.Styles', + 'ephox.powerpaste.tinymce.ErrorDialog', + 'ephox.powerpaste.tinymce.ModernTinyDialog', + 'ephox.powerpaste.util.NodeUtil', + 'ephox.sugar.api.DomEvent', + 'ephox.sugar.api.Element', + 'global!setTimeout', + 'global!tinymce' + ], + function (Cement, Arr, Fun, I18n, Defaults, Styles, ErrorDialog, ModernTinyDialog, NodeUtil, DomEvent, Element, setTimeout, tinymce) { + return function (editor, url, settings, uploader) { + + var bm, swfUrl, imgUrl, cssUrl, jsUrl; + + jsUrl = (settings ? settings.swfUrl : url) + '/js'; + swfUrl = (settings ? settings.swfUrl : url) + '/flash/textboxpaste.swf'; + imgUrl = (settings ? settings.imgUrl : url) + '/img/spinner_96.gif'; + cssUrl = (settings ? settings.cssUrl : url) + '/css/editorcss.css'; + + editor.on('init', function(e) { + //Inject the styles for our dialog into the page + Styles.injectStyles(imgUrl); + + //Inject css into editor + editor.dom.loadCSS(cssUrl); + + var cementSettings = { + baseUrl: jsUrl, + swf: swfUrl, + officeStyles: editor.settings.powerpaste_word_import || Defaults.officeStyles, + htmlStyles: editor.settings.powerpaste_html_import || Defaults.htmlStyles, + translations: I18n.translate, + allowLocalImages: editor.settings.powerpaste_allow_local_images + }; + + var tinyDialog = ModernTinyDialog(editor); + var ed = Element.fromDom(editor.getBody()); + var cement = Cement(ed, tinyDialog.createDialog, Fun.noop, cementSettings); + + cement.events.cancel.bind(function() { + bm = null; + }); + + cement.events.error.bind(function(event) { + + bm = null; + + ErrorDialog.showDialog(editor, + I18n.translate( + event.message() + ) + ); + }); + + cement.events.insert.bind(function(event) { + + var stringHTML = Arr.map(event.elements(), function (element) { + return NodeUtil.nodeToString(element.dom()); + }).join(''); + + //This code was taken from tiny4 + if (editor.hasEventListeners('PastePostProcess')) { + // We need to attach the element to the DOM so Sizzle selectors work on the contents + var tempBody = editor.dom.add(editor.getBody(), 'div', {style: 'display:none'}, stringHTML); + stringHTML = editor.fire('PastePostProcess', {node: tempBody}).node.innerHTML; + editor.dom.remove(tempBody); + } + + //Ensure the editor has focus + editor.focus(); + + //Wait for focus to come back (ie10) + setTimeout(function(){ + + //Once we've got the html we want to insert and have performed post processing, return the + editor.selection.moveToBookmark(bm); //the selection to where it was + + //Delete the bookmark reference so we can do it all again + bm = null; + + editor.undoManager.transact(function(){ + //Content insertion + editor.insertContent(stringHTML, {merge: editor.settings.paste_merge_formats !== false}); + + uploader.prepareImages(event.assets()); + }); + + uploader.uploadImages(event.assets()); + + }, 1); + + + }); + + DomEvent.bind(ed, 'paste', function (e) { + //We need to bookmark the selection before we paste the content + //So that it knows where to place it back in to the editor when we insert from cement. + + if (!bm) { + //Since ie pastes twice, we need to get the bookmark once and ignore the second + bm = editor.selection.getBookmark(); + } + + cement.paste(e.raw()); + + //IE appears to require that we blur the iframe + setTimeout(function() { + if (editor.windowManager.windows[0]) { + editor.windowManager.windows[0].getEl().focus(); + } + }, 1); + }); + + }); + + editor.on('remove', function(e) { + //When we're removing the last editor, we need to remove our injected styles + if (tinymce.editors.length === 1) { + Styles.removeStyles(); + } + }); + }; + } +); +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.powerpaste.tinymce.TinyPowerPaste', + [ + 'ephox.powerpaste.imageupload.UploaderFactory', + 'ephox.powerpaste.tinymce.LegacyPowerPaste', + 'ephox.powerpaste.tinymce.ModernPowerDrop', + 'ephox.powerpaste.tinymce.ModernPowerPaste', + 'global!tinymce' + ], + + function (UploaderFactory, LegacyPowerPaste, ModernPowerDrop, ModernPowerPaste, tinymce) { + /*jshint jquery:true */ + return function (settings) { + + return function (editor, url) { + + var setupModern = function () { + var uploader = UploaderFactory(editor); + + ModernPowerPaste(editor, url, settings, uploader); + + if (!editor.settings.powerpaste_block_drop) { + ModernPowerDrop(editor, url, settings, uploader); + } + }; + + var setupLegacy = function () { + LegacyPowerPaste(editor, settings); + }; + + if (tinymce.Env.ie && tinymce.Env.ie < 10) { + setupLegacy(); + } else { + setupModern(); + } + + var blockDragEvents = function (element) { + editor.dom.bind(element, 'drop dragstart dragend dragover dragenter dragleave dragdrop draggesture', function(e) { + return tinymce.dom.Event.cancel(e); + }); + }; + + if (editor.settings.powerpaste_block_drop) { + editor.on('init', function(e) { + blockDragEvents(editor.getBody()); + blockDragEvents(editor.getDoc()); + }); + } + + if (editor.settings.paste_postprocess) { + editor.on('PastePostProcess', function(e) { + editor.settings.paste_postprocess.call(this, this, e); + }); + } + }; + }; + } +); + +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +(function (define, require, demand) { +define( + 'ephox.powerpaste.PowerPastePlugin', + [ + 'ephox.powerpaste.tinymce.TinyPowerPaste', + 'global!tinymce' + ], + function(TinyPowerPaste, tinymce) { + return function(settings) { + tinymce.PluginManager.requireLangPack('powerpaste', 'ar,ca,cs,da,de,el,es,fa,fi,fr_FR,he_IL,hr,hu_HU,it,ja,kk,ko_KR,nb_NO,nl,pl,pt_BR,pt_PT,ro,ru,sk,sl_SI,sv_SE,th_TH,tr,uk,zh_CN,zh_TW'); + tinymce.PluginManager.add('powerpaste', TinyPowerPaste(settings)); + + }; + } +); +})(ephox.bolt.module.api.define, ephox.bolt.module.api.require, ephox.bolt.module.api.demand); + +dem('ephox.powerpaste.PowerPastePlugin')(); + if (this.ephox && this.ephox.bolt) + this.ephox.bolt = old; +})(); diff --git a/static/tinymce1.3/plugins/powerpaste/plugin.min.js b/static/tinymce1.3/plugins/powerpaste/plugin.min.js new file mode 100644 index 00000000..a6f2107a --- /dev/null +++ b/static/tinymce1.3/plugins/powerpaste/plugin.min.js @@ -0,0 +1,23 @@ +; +/* Ephox Fluffy plugin + * + * Copyright 2010-2016 Ephox Corporation. All rights reserved. + * + * Version: 1.0.0-3 + */ + +!function(){var a={},b=function(b){for(var c=a[b],e=c.deps,f=c.defn,g=e.length,h=new Array(g),i=0;ih&&(b(i),f())},g)};return{waitFor:d}}),h("4",window),h("c",document),g("8",["b","4","c"],function(a,b,c){var d=function(a,c){var d=a.currentStyle?a.currentStyle[c]:b.getComputedStyle(a,null)[c];return d?d:""},e=function(a){return function(){var b=d(a,"position").toLowerCase();return"absolute"===b||"fixed"===b}},f=function(){var a=c.createElement("div");return a.style.display="none",a.className="mce-floatpanel",a},g=function(a){a.parentNode.removeChild(a)},h=function(b,d){var h=f();c.body.appendChild(h),a.waitFor(e(h),function(){g(h),b()},function(){g(h),d()},10,5e3)};return{waitForSkinLoaded:h}}),h("9",alert),g("6",["8","9"],function(a,b){var c=function(a,b){a.notificationManager?a.notificationManager.open({text:b,type:"warning",timeout:0,icon:""}):a.windowManager.alert(b)},d=function(d){d.EditorManager.on("AddEditor",function(d){var e=d.editor,f=e.settings.service_message;f&&a.waitForSkinLoaded(function(){c(e,e.settings.service_message)},function(){b(f)})})};return{error:c,register:d}}),g("2",["5","1","6","4"],function(a,b,c,d){var e=function(b){var c,e,f=a.resolve(d,"tinymce.util.URI");c=b.base_url,c&&(this.baseURL=new f(this.documentBaseURL).toAbsolute(c.replace(/\/+$/,"")),this.baseURI=new f(this.baseURL)),e=b.suffix,b.suffix&&(this.suffix=e),this.defaultSettings=b},f=function(b){var c=a.resolve(d,"tinymce.util.Tools");return[c.extend({},this.defaultSettings,b)]},g=function(a){return"function"!=typeof a.overrideDefaults},h=function(a){c.register(a),a.overrideDefaults=e,a.EditorManager.init=b.before(a.EditorManager.init,f)};return{patch:b.nu(g,h)}}),g("a",[],function(){var a=0,b=1,c=-1,d=function(a){return parseInt(a,10)},e=function(a){return function(){return a}},f=function(a,b,c){return{major:e(a),minor:e(b),patch:e(c)}},g=function(a){var b=/([0-9]+)\.([0-9]+)\.([0-9]+)(?:(\-.+)?)/.exec(a);return b?f(d(b[1]),d(b[2]),d(b[3])):f(0,0,0)},h=function(d,e){var f=d-e;return 0===f?a:f>0?b:c},i=function(b,c){var d=h(b.major(),c.major());if(d!==a)return d;var e=h(b.minor(),c.minor());if(e!==a)return e;var f=h(b.patch(),c.patch());return f!==a?f:a};return{nu:f,parse:g,compare:i}}),g("7",["a"],function(a){var b=function(a){var b=[a.majorVersion,a.minorVersion].join(".");return b.split(".").slice(0,3).join(".")},c=function(c){return c?a.parse(b(c)):null},d=function(b,d){return a.compare(c(b),a.parse(d))<0};return{getVersion:c,isLessThan:d}}),g("3",["7","1"],function(a,b){var c=function(a){return function(b){var c=b.plugin_base_urls;for(var d in c)a.PluginManager.urls[d]=c[d]}},d=function(b){return a.isLessThan(b,"4.5.0")},e=function(a){a.overrideDefaults=b.before(a.overrideDefaults,c(a))};return{patch:b.nu(d,e)}}),g("0",["1","2","3","4"],function(a,b,c,d){var e=function(d){a.applyPatches(d,[b.patch,c.patch])};return e(d.tinymce),function(){return{applyPatches:e}}}),d("0")()}();; + +/* Ephox PowerPaste plugin + * + * Copyright 2010-2016 Ephox Corporation. All rights reserved. + * + * Version: 2.1.10-115 + */ + +!function(){var a={},b=function(b){for(var c=a[b],e=c.deps,f=c.defn,g=e.length,h=new Array(g),i=0;i-1},f=function(a,b){return r(a,b)>-1},g=function(a,b){for(var c=[],d=0;dMore information on paste for Safari':b()},d=function(){return'Safari does not support direct paste of images. More information on image pasting for Safari'},e={"cement.dialog.paste.title":"Paste Formatting Options","cement.dialog.paste.instructions":"Choose to keep or remove formatting in the pasted content.","cement.dialog.paste.merge":"Keep Formatting","cement.dialog.paste.clean":"Remove Formatting","cement.dialog.flash.title":"Additional step needed to paste images","cement.dialog.flash.trigger-paste":"Your browser requires you to take one more action to paste the images in your content. Please press the below keys to complete the image paste:","cement.dialog.flash.missing":'Adobe Flash is required to import images from Microsoft Office. Install the Adobe Flash Player.',"cement.dialog.flash.press-escape":'Press "Close" to paste your content without images.',"loading.wait":"Please wait...","flash.clipboard.no.rtf":c(),"safari.imagepaste":d(),"webview.imagepaste":d(),"error.code.images.not.found":"The images service was not found: (","error.imageupload":"Image failed to upload: (","error.full.stop":").","errors.local.images.disallowed":"Local image paste has been disabled. Local images have been removed from pasted content.","flash.crashed":"Images have not been imported as Adobe Flash appears to have crashed. This may be caused by pasting large documents.","errors.imageimport.failed":"Some images failed to import.","errors.imageimport.unsupported":"Unsupported image type.","errors.imageimport.invalid":"Image is invalid."},f=function(a){return e[a]},g=function(b){return a.translate(f(b))};return{translate:g}}),g("s",[],function(){return{showDialog:function(a,b){var c=function(){win.close()},d=[{text:"Ok",onclick:c}],e={title:"Error",spacing:10,padding:10,items:[{type:"container",html:b}],buttons:d};win=a.windowManager.open(e)}}}),g("15",["y","d","s"],function(a,b,c){return function(d,e){var f=function(){return b.translate("error.code.images.not.found")+e+b.translate("error.full.stop")},g=function(){return b.translate("error.imageupload")+e+b.translate("error.full.stop")},h=function(a){var b=a.status(),e=0===b||b>=400||b<500,h=e?f:g;c.showDialog(d,h())},i=function(){return a(h)};return{instance:i}}}),g("3g",["g"],function(a){var b=function(b){var e=c(b),f=function(b){var c=b.split(" "),f=a.map(c,function(a){return d(e,a)});return f.join(" ")};return{resolve:f}},c=function(a){return a.replace(/\./g,"-")},d=function(a,b){return a+"-"+b};return{create:b,cssNamespace:c,cssClass:d}}),g("2d",["3g"],function(a){var b=a.create("ephox-salmon");return{resolve:b.resolve}}),g("26",["p","2d"],function(a,b){var c=b.resolve("upload-image-in-progress"),d="data-"+b.resolve("image-blob");return{uploadInProgress:a.constant(c),blobId:a.constant(d)}}),g("3h",[],function(){return function(a,b,c){var d=c||!1,e=function(){b(),d=!0},f=function(){a(),d=!1},g=function(){var a=d?f:e;a()},h=function(){return d};return{on:e,off:f,toggle:g,isOn:h}}}),g("1b",["12","13"],function(a,b){var c=function(c){if(null===c)return"null";var d=typeof c;return"object"===d&&a.prototype.isPrototypeOf(c)?"array":"object"===d&&b.prototype.isPrototypeOf(c)?"string":d},d=function(a){return function(b){return c(b)===a}};return{isString:d("string"),isObject:d("object"),isArray:d("array"),isNull:d("null"),isBoolean:d("boolean"),isUndefined:d("undefined"),isFunction:d("function"),isNumber:d("number")}}),g("1c",["14"],function(a){var b=function(){var b=a.keys,c=function(a){var b=[];for(var c in a)a.hasOwnProperty(c)&&b.push(c);return b};return void 0===b?c:b}(),c=function(a,c){for(var d=b(a),e=0,f=d.length;e0?b.set(d,e,g.join(" ")):b.remove(d,e)};return{read:c,add:d,remove:e}}),g("3i",["g","5z"],function(a,b){var c=function(a){return void 0!==a.dom().classList},d=function(a){return b.read(a,"class")},e=function(a,c){return b.add(a,"class",c)},f=function(a,c){return b.remove(a,"class",c)},g=function(b,c){a.contains(d(b),c)?f(b,c):e(b,c)};return{get:d,add:e,remove:f,toggle:g,supports:c}}),g("27",["3h","j","3i"],function(a,b,c){var d=function(a,b){c.supports(a)?a.dom().classList.add(b):c.add(a,b)},e=function(a){var d=c.supports(a)?a.dom().classList:c.get(a);0===d.length&&b.remove(a,"class")},f=function(a,b){if(c.supports(a)){var d=a.dom().classList;d.remove(b)}else c.remove(a,b);e(a)},g=function(a,b){return c.supports(a)?a.dom().classList.toggle(b):c.toggle(a,b)},h=function(b,d){var e=c.supports(b),f=b.dom().classList,g=function(){e?f.remove(d):c.remove(b,d)},h=function(){e?f.add(d):c.add(b,d)};return a(g,h,i(b,d))},i=function(a,b){return c.supports(a)&&a.dom().classList.contains(b)};return{add:d,remove:f,toggle:g,toggler:h,has:i}}),h("1g",document),g("k",["p","1e","1f","1g"],function(a,b,c,d){var e=function(a,b){var e=b||d,f=e.createElement("div");if(f.innerHTML=a,!f.hasChildNodes()||f.childNodes.length>1)throw c.error("HTML does not have a single root node",a),"HTML must have a single root node";return h(f.childNodes[0])},f=function(a,b){var c=b||d,e=c.createElement(a);return h(e)},g=function(a,b){var c=b||d,e=c.createTextNode(a);return h(e)},h=function(c){if(null===c||void 0===c)throw new b("Node cannot be null or undefined");return{dom:a.constant(c)}};return{fromHtml:e,fromTag:f,fromText:g,fromDom:h}}),g("3k",["g","1c","p","12"],function(a,b,c,d){var e=function(e,f){var g=function(){for(var b=new d(arguments.length),f=0;f0&&e.unsuppMessage(m);var n={};return a.each(g,function(a){n[a]=c.constant(j[a])}),a.each(h,function(a){n[a]=c.constant(f.prototype.hasOwnProperty.call(j,a)?d.some(j[a]):d.none())}),n}}}),g("2c",["3j","3k","3l"],function(a,b,c){return{immutable:a,immutable2:b,immutableBag:c}}),g("3m",[],function(){var a=function(a,b){var c=[],d=function(a){return c.push(a),b(a)},e=b(a);do e=e.bind(d);while(e.isSome());return c};return{toArray:a}}),g("4j",["p"],function(a){return function(b,c,d){var e=b.isiOS()&&/ipad/i.test(d)===!0,f=b.isiOS()&&!e,g=b.isAndroid()&&3===b.version.major,h=b.isAndroid()&&4===b.version.major,i=e||g||h&&/mobile/i.test(d)===!0,j=b.isiOS()||b.isAndroid(),k=j&&!i,l=c.isSafari()&&b.isiOS()&&/safari/i.test(d)===!1;return{isiPad:a.constant(e),isiPhone:a.constant(f),isTablet:a.constant(i),isPhone:a.constant(k),isTouch:a.constant(j),isAndroid:b.isAndroid,isiOS:b.isiOS,isWebView:a.constant(l)}}}),g("4k",[],function(){var a=function(a,b,c){return{browser:{current:a,version:b},os:{current:c}}};return{create:a}}),g("61",[],function(){var a=function(a){return function(){return a}},b=function(b,c,d){for(var e=0;e=e?c:b(c,F(d,e-f))}},H=G(function(a,b){return b+a}),I=G(function(a,b){return a+b});return{supplant:c,startsWith:e,startsWithIgnoringCase:f,endsWith:g,endsWithIgnoringCase:h,first:i,last:j,removeLeading:l,removeTrailing:m,ensureLeading:q,ensureTrailing:r,trim:s,lTrim:t,rTrim:u,contains:v,containsIgnoringCase:w,htmlEncodeDoubleQuotes:x,equals:y,equalsIgnoringCase:z,head:A,repead:F,padLeft:H,padRight:I,toe:B,tail:C,torso:D,capitalize:E}}),g("4m",["37"],function(a){var b=a.contains,c=function(a){return function(c){return b(c,a)}},d=function(){try{var a=new ActiveXObject("ChromeTab.ChromeFrame");return!!a}catch(b){return!1}},e=/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,f=function(a){var d=[{name:"Spartan",versionRegexes:[/.*?edge\/ ?([0-9]+)\.([0-9]+)$/],search:function(a){var c=b(a,"edge/")&&b(a,"chrome")&&b(a,"safari")&&b(a,"applewebkit");return c}},{name:"ChromeFrame",versionRegexes:[/.*?chromeframe\/([0-9]+)\.([0-9]+).*/,e],search:function(c){return!!b(c,"chromeframe")&&a()}},{name:"Chrome",versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/,e],search:function(a){return b(a,"chrome")&&!b(a,"chromeframe")}},{name:"IE",versionRegexes:[/.*?msie\ ?([0-9]+)\.([0-9]+).*/,/.*?rv:([0-9]+)\.([0-9]+).*/],search:function(c){var d=b(c,"msie")||b(c,"trident"),e=b(c,"chromeframe");return e?d&&!a():d}},{name:"Opera",versionRegexes:[e,/.*?opera\/([0-9]+)\.([0-9]+).*/],search:c("opera")},{name:"Firefox",versionRegexes:[/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/],search:c("firefox")},{name:"Safari",versionRegexes:[e,/.*?cpu os ([0-9]+)_([0-9]+).*/],search:function(a){return(b(a,"safari")||b(a,"mobile/"))&&b(a,"applewebkit")}},{name:"Envjs",versionRegexes:[/.*?envjs\/\ ?([0-9]+)\.([0-9]+).*/],search:c("envjs")}],f=[{name:"Windows",search:c("win"),versionRegexes:[/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/]},{name:"iOS",search:function(a){return b(a,"iphone")||b(a,"ipad")},versionRegexes:[/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,/.*cpu os ([0-9]+)_([0-9]+).*/,/.*cpu iphone os ([0-9]+)_([0-9]+).*/]},{name:"Android",search:c("android"),versionRegexes:[/.*?android\ ?([0-9]+)\.([0-9]+).*/]},{name:"OSX",search:c("os x"),versionRegexes:[/.*?os\ x\ ?([0-9]+)_([0-9]+).*/]},{name:"Linux",search:c("linux")},{name:"Solaris",search:c("sunos")},{name:"FreeBSD",search:c("freebsd")}];return{browsers:d,oses:f}};return{create:f,chromeFrameChecker:d}}),g("4n",[],function(){var a=function(a,b){var c=typeof a;if("boolean"===c)return!!a;if("object"===c){var d=a.minimum;return b.major>d.major||b.major===d.major&&b.minor>=d.minor}throw"invalid spec"};return{meetsSpec:a}}),g("66",[],function(){var a=function(a,b,c){for(var d=0;d-1?d.some(f):d.none()})},n=function(b,d){for(var e=a.isFunction(d)?d:c.constant(!1),f=b.dom(),g=[];null!==f.parentNode&&void 0!==f.parentNode;){var i=f.parentNode,j=h.fromDom(i);if(g.push(j),e(j)===!0)break;f=i}return g},o=function(a){var c=function(c){return b.filter(c,function(b){return!g.eq(a,b)})};return l(a).map(u).map(c).getOr([])},p=function(a){var b=a.dom();return d.from(b.offsetParent).map(h.fromDom)},q=function(a){var b=a.dom();return d.from(b.previousSibling).map(h.fromDom)},r=function(a){var b=a.dom();return d.from(b.nextSibling).map(h.fromDom)},s=function(a){return b.reverse(f.toArray(a,q))},t=function(a){return f.toArray(a,r)},u=function(a){var c=a.dom();return b.map(c.childNodes,h.fromDom)},v=function(a,b){var c=a.dom().childNodes;return d.from(c[b]).map(h.fromDom)},w=function(a){return v(a,0)},x=function(a){return v(a,a.dom().childNodes.length-1)},y=e.immutable("element","offset"),z=function(a,b){var c=u(a);return c.length>0&&b0},q=function(c){return a.contains(b,c)};return{findById:i,findAll:j,register:k, +report:n,inProgress:p,isActive:q,events:g.registry}}}),g("1l",["1b","12"],function(a,b){var c=function(a,b){return b},d=function(b,c){var d=a.isObject(b)&&a.isObject(c);return d?f(b,c):c},e=function(a){return function(){for(var c=new b(arguments.length),d=0;d=c.length&&b(d)}};0===c.length?b([]):a.each(c,function(a,b){a.get(f(b))})})},e=function(b,c){return d(a.map(b,c))},f=function(a,c,d){return b(function(b){var e=!1,f=!1,g=void 0,h=void 0,i=function(){if(e&&f){var a=d(g,h);b(a)}};a.get(function(a){g=a,e=!0,i()}),c.get(function(a){h=a,f=!0,i()})})},g=function(a,b){return function(c){return b(c).bind(a)}};return{nu:b,pure:c,par:d,mapM:e,lift2:f,compose:g}}}),g("o",["1u","1v","1w"],function(a,b,c){var d=function(c){var e=function(b){c(a.bounce(b))};return b(d,e)};return c(d)}),g("2u",["3p"],function(a){return function(){var b=a.getOrDie("FileReader");return new b}}),g("73",["o","2u"],function(a,b){return function(c){return a.nu(function(a){var d=b();d.onload=function(b){var c=b.target;a(c.result)},d.readAsText(c)})}}),g("74",["3p"],function(a){return function(){var b=a.getOrDie("XMLHttpRequest");return new b}}),g("69",["1b","1c","1l","73","o","74","n","2f","37","1f"],function(a,b,c,d,e,f,g,h,i,j){var k={"*":"*/*",text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},l=function(l,m,n,o){var p={url:l,contentType:"application/json",processData:!1,type:"GET"},q=c.merge(p,o),r=f();r.open(q.type.toUpperCase(),q.url,!0),"blob"===q.responseType&&(r.responseType=q.responseType),a.isString(q.contentType)&&r.setRequestHeader("Content-Type",q.contentType);var s=q.dataType,t=a.isString(s)&&"*"!==s?k[s]+", "+k["*"]+"; q=0.01":k["*"];r.setRequestHeader("Accept",t),void 0!==q.xhrFields&&q.xhrFields.withCredentials===!0&&(r.withCredentials=!0),a.isObject(q.headers)&&b.each(q.headers,function(b,c){a.isString(c)||a.isString(b)?r.setRequestHeader(c,b):j.error("Request header data was not a string: ",c," -> ",b)});var u=function(a,b,c){m(a)},v=function(){return"blob"===q.responseType?g.from(r.response).map(d).getOr(e.pure("no response content")):e.pure(r.responseText)},w=function(){v().get(function(a){0===r.status?n("Unknown HTTP error (possible cross-domain request)",r.status,a):n('Could not load url "'+l+'": '+r.statusText,r.status,a)})},x=function(){try{return h.value(JSON.parse(r.response))}catch(a){return h.error({status:r.status,statusText:"Response was not JSON",responseText:r.responseText})}},y=function(){var a="json"===s?x(r):h.value(r.response);a.fold(w,function(a){u(a,r.statusText,r)})},z=function(){0===r.status?i.startsWith(q.url,"file:")?y():w():r.status<100||r.status>=400?w():y()};r.onerror=w,r.onload=z,void 0===q.data?r.send():r.send(q.data)};return{ajax:l}}),g("3u",["3p"],function(a){var b=function(){return a.getOrDie("JSON")},c=function(a){return b().parse(a)},d=function(a,c,d){return b().stringify(a,c,d)};return{parse:c,stringify:d}}),g("3t",["1l","69","3u"],function(a,b,c){var d=function(c,d,e,f){b.ajax(c,d,e,a.merge({dataType:"text",type:"GET"},f))},e=function(d,e,f,g,h){b.ajax(d,f,g,a.merge({dataType:"text",data:c.stringify(e),type:"POST"},h))};return{get:d,post:e}}),g("6a",[],function(){var a=function(a){var b="";return""!==a.protocol&&(b+=a.protocol,b+=":"),""!==a.authority&&(b+="//",b+=a.authority),b+=a.path,""!==a.query&&(b+="?",b+=a.query),""!==a.anchor&&(b+="#",b+=a.anchor),b};return{recompose:a}}),g("75",["1l"],function(a){var b={strictMode:!1,key:["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],q:{name:"queryKey",parser:/(?:^|&)([^&=]*)=?([^&]*)/g},parser:{strict:/^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@\/]*)(?::([^:@\/]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,loose:/^(?:(?![^:@\/]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@\/]*)(?::([^:@\/]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/}},c=function(a,b){for(var c=b,d=c.parser[c.strictMode?"strict":"loose"].exec(a),e={},f=14;f--;)e[c.key[f]]=d[f]||"";return e[c.q.name]={},e[c.key[12]].replace(c.q.parser,function(a,b,d){b&&(e[c.q.name][b]=d)}),e},d=function(d,e){var f=a.merge(b,e);return c(d,f)};return{parse:d}}),g("76",["37"],function(a){var b=function(b){return a.removeTrailing(b,d(b))},c=function(a){return a.match(/(^\/?.*?)(\/|$)/)[1]},d=function(a){return a.substring(a.lastIndexOf("/"))},e=function(d){for(var e=d,f="";""!==e;)if(a.startsWith(e,"../"))e=a.removeLeading(e,"../");else if(a.startsWith(e,"./"))e=a.removeLeading(e,"./");else if(a.startsWith(e,"/./"))e="/"+a.removeLeading(e,"/./");else if("/."===e)e="/";else if(a.startsWith(e,"/../"))e="/"+a.removeLeading(e,"/../"),f=b(f);else if("/.."===e)e="/",f=b(f);else if("."===e||".."===e)e="";else{var g=c(e);e=a.removeLeading(e,g),f+=g}return f};return{remove:e}}),g("77",["37"],function(a){var b=function(b,c,d){if(""!==d&&""===b)return"/"+c;var e=b.substring(b.lastIndexOf("/")+1);return a.removeTrailing(b,e)+c};return{merge:b}}),g("6b",["37","75","76","77"],function(a,b,c,d){var e=function(e,f){var g={strictMode:!0},h=b.parse(e,g),i=b.parse(f,g),j={};return""!==i.protocol?(j.protocol=i.protocol,j.authority=i.authority,j.path=c.remove(i.path),j.query=i.query):(""!==i.authority?(j.authority=i.authority,j.path=c.remove(i.path),j.query=i.query):(""===i.path?(j.path=h.path,""!==i.query?j.query=i.query:j.query=h.query):(a.startsWith(i.path,"/")?j.path=c.remove(i.path):(j.path=d.merge(h.path,i.path,e.authority),j.path=c.remove(j.path)),j.query=i.query),j.authority=h.authority),j.protocol=h.protocol),j.anchor=i.anchor,j};return{transform:e}}),g("3v",["6a","6b"],function(a,b){var c=function(c,d){var e=b.transform(c,d);return a.recompose(e)};return{resolve:c}}),g("2k",["1b","1l","3t","3u","2f","2j","37","3v"],function(a,b,c,d,e,f,g,h){return function(i){var j=function(){var a=i.url,b=a.lastIndexOf("/"),c=b>0?a.substr(0,b):a,d=void 0===i.basePath?c:i.basePath;return g.endsWith(d,"/")?d:d+"/"},k=j(),l=function(a,b){var c=a.split(/\s+/),d=1===c.length&&""!==c[0]?c[0]:b;return h.resolve(k,d)},m=function(g,h,j){var k=g.blob(),m=function(a,b,c){j(e.error(f.failureObject(a,b,c)))},n=f.getFilename(k,h),o=i.credentials!==!0?{}:{xhrFields:{withCredentials:!0}},p=b.merge(o,f.buildExtra("image",k,n)),q=function(b){var c;try{var f=d.parse(b);if(!a.isString(f.location))return void m("JSON response did not contain a string location",500,b);c=f.location}catch(g){c=b}var h=l(c,n);j(e.value({location:h}))};c.post(i.url,{},q,m,p)};return{upload:m}}}),h("x",setTimeout),g("2l",["1b","2f","2j","2c","1f","x"],function(a,b,c,d,e,f){var g=d.immutable("id","filename","blob","base64");return function(d){var h=function(h,i,j){var k=function(a){j(b.error(a))},l=function(c){a.isString(c)?j(b.value({location:c})):(e.error("Image upload result was not a string"),k(""))},m=c.getFilename(h.blob(),i),n=g(i,m,h.blob(),h.data().result);f(function(){d(n,l,k)},0)};return{upload:h}}}),g("1a",["2j","2k","2l"],function(a,b,c){var d=function(a){return b(a)},e=function(a){return c(a)},f=function(b,c,d){return a.failureObject(b,c,d)},g=function(b,c){return a.getFilename(b,c)},h=function(b,c,d){return a.buildExtra(b,c,d)};return{direct:d,custom:e,failureObject:f,getFilename:g,buildExtra:h}}),g("b",["g","p","n","c","15","16","17","18","19","1a","j","k"],function(a,b,c,d,e,f,g,h,i,j,k,l){var m=function(d,m){var n=g(),o=h(),p=(e(),e(d,m.url)),q=j.direct(m),r=function(){return l.fromDom(d.getBody())},s=function(b,c,e){a.each(c,function(a){k.set(a,"data-mce-src",b.location)}),f.resrcHistory(d,e,b)};o.events.complete.bind(function(a){f.unwrapHistory(d)});var t=function(a,b,c){i.handleUpload(q,o,n,r(),a,b,function(a){a.fold(function(a){c(a)},s)})},u=function(a,b){i.prepareForUpload(o,a.blobInfo().id(),a.image()).each(function(c){t(c,a.blobInfo(),b)})},v=function(b){var c=p.instance(),d=i.registerAssets(n,r(),b);a.each(d,function(a){a.fold(function(a){console.error(a)},function(a){u(a,c)})})},w=function(){var b=p.instance(),d=i.findBlobs(o,n,r());a.each(d,function(a){a.fold(function(a){o.report(a,c.none(),!1)},function(a){u(a,b)})})},x=function(a){w(),v(a)},y=function(a,b,c,d){return c};return{uploadImages:x,prepareImages:b.noop,getLocalURL:y}},n=function(a){var c=d(a);return{uploadImages:b.noop,prepareImages:c.prepareImages,getLocalURL:c.getLocalURL}};return function(a,b){return b?m(a,b):n(a)}}),g("3",["b","c"],function(a,b){return function(c){var d=!c.uploadImages&&c.settings.images_upload_url?{url:c.settings.images_upload_url,basePath:c.settings.images_upload_base_path,credentials:c.settings.images_upload_credentials}:null;return c.uploadImages?b(c):a(c,d)}}),g("1h",[],function(){var a=function(a,b){return function(){return a.apply(b,arguments)}},b=function(a){return a.ownerDocument.defaultView?a.ownerDocument.defaultView.getComputedStyle(a,null):a.currentStyle||{}},c=function(a){"undefined"!=typeof console&&console.log&&console.log(a)},d=function(a){var b=Array.prototype.slice.call(a).reverse();return function(a){for(var c=a,d=0;d/i),p=null===o?n:o[0];return c(p)}if(!l.get("_mcePaste")){if(f=l.add(m,"div",{id:"_mcePaste","class":"mcePaste"},'\ufeff
'),i=m!=b.getDoc().body?l.getPos(b.selection.getStart(),m).y:m.scrollTop,l.setStyles(f,{position:"absolute",left:-1e4,top:i,width:1,height:1,overflow:"hidden"}),tinymce.isIE)return h=l.doc.body.createTextRange(),h.moveToElementText(f),h.execCommand("Paste"),l.remove(f),"\ufeff"===f.innerHTML?(b.execCommand("mcePasteWord"),void e.preventDefault()):(c(j?f.innerText:f.innerHTML),tinymce.dom.Event.cancel(e));var q=function(a){a.preventDefault()};l.bind(b.getDoc(),"mousedown",q),l.bind(b.getDoc(),"keydown",q),tinymce.isGecko&&(h=b.selection.getRng(!0),h.startContainer==h.endContainer&&3==h.startContainer.nodeType&&(nodes=l.select("p,h1,h2,h3,h4,h5,h6,pre",f),1==nodes.length&&l.remove(nodes.reverse(),!0))),g=b.selection.getRng(),f=f.firstChild,h=b.getDoc().createRange(),h.setStart(f,0),h.setEnd(f,1),k.setRng(h),window.setTimeout(function(){var d="",e=l.select("div.mcePaste");a.each(e,function(b){var c=b.firstChild;c&&"DIV"==c.nodeName&&c.style.marginTop&&c.style.backgroundColor&&l.remove(c,1),a.each(l.select("div.mcePaste",b),function(a){l.remove(a,1)}),a.each(l.select("span.Apple-style-span",b),function(a){l.remove(a,1)}),a.each(l.select("br[_mce_bogus]",b),function(a){l.remove(a)}),d+=b.innerHTML}),a.each(e,function(a){l.remove(a)}),g&&k.setRng(g),c(d),l.unbind(b.getDoc(),"mousedown",q),l.unbind(b.getDoc(),"keydown",q)},0)}}),c=function(a,c,d){return function(e){b(a,c,d,e)}},d=function(a,c,d){return function(e){(tinymce.isOpera||navigator.userAgent.indexOf("Firefox/2")>0)&&((tinymce.isMac?e.metaKey:e.ctrlKey)&&86==e.keyCode||e.shiftKey&&45==e.keyCode)&&b(a,c,d,e)}};return{getOnPasteFunction:c,getOnKeyDownFunction:d}}),g("1i",[],function(){var a=function(a,b){var c,d=b.getDoc(),e="ephoxInsertMarker",f=b.selection,g=b.dom;f.setContent(' '),c=g.get(e);for(var h=d.createDocumentFragment();a.firstChild&&!g.isBlock(a.firstChild);)h.appendChild(a.firstChild);for(var i=d.createDocumentFragment();a.lastChild&&!g.isBlock(a.lastChild);)i.appendChild(a.lastChild);if(c.parentNode.insertBefore(h,c),g.insertAfter(i,c),a.firstChild){if(g.isBlock(a.firstChild)){for(;!g.isBlock(c.parentNode)&&c.parentNode!==g.getRoot();)c=g.split(c.parentNode,c);g.is(c.parentNode,"td,th")||c.parentNode===g.getRoot()||(c=g.split(c.parentNode,c))}g.replace(a,c)}else g.remove(c)};return{insert:a}}),g("1j",["1h"],function(a){var b={strip_class_attributes:"all",retain_style_properties:"none"},c={strip_class_attributes:"none",retain_style_properties:"valid"},d=function(a,d){if(a&&"string"!=typeof a)return a;switch(a){case"clean":return b;case"merge":return c;default:return d}},e=function(b,c,e){var f=d(b,c);return f=a.extend(f,{base_64_images:e})},f=function(a,d,f){var g=e(a,b,f),h=e(d,c,f),i=h,j=function(a){i=a?g:h},k=function(a){return i[a]};return{setWordContent:j,get:k}};return{create:f}}),g("6c",["1h"],function(a){var b=function(a){return a.specified!==!1||"name"===a.nodeName&&""!==a.value},c=function(a,b){return a&&b?function(c,d){return b(c,a(c,d))}:a||b},d=function(d){var e,f,g=0,h=function(){return e},i=function(){return f()};f=function(){return e={},g=0,a.each(d.attributes,function(a){var c=a.nodeName,d=a.value;b(a)&&null!==d&&void 0!==d&&(e[c]=d,g++)}),void 0===e.style&&d.style.cssText&&(e.style=d.style.cssText,g++),f=h,e};var j,k,l=function(){return f(),g},m=function(a){j||(k=f),j=c(j,a),f=function(){return f=k,o(function(a,b){var c=j(a,b);null===c?(d.removeAttribute(a),delete e[a],g--):c!==b&&("class"===a?d.className=c:d.setAttribute(a,c),e[a]=c)}),f=h,e}},n=function(a){return f()[a]},o=function(b){a.each(f(),function(a,c){b(c,a)})};return{get:n,each:o,filter:m,getAttributes:i,getAttributeCount:l}};return{manager:d}}),g("3w",["6c","1h"],function(a,b,c){var d="startElement",e="endElement",f="text",g="comment",h=a.manager,i=function(a){return a.replace(/-(.)/g,function(a,b){return b.toUpperCase()})},j=function(a){return a.replace(/([A-Z])/g,function(a,b){return"-"+b.toLowerCase()})},k=!1,l=function(a,c,d){var e,f,g;a.style.length;g=c||a.getAttribute("style"),void 0!==g&&null!==g&&g.split||(g=a.style.cssText),b.each(g.split(";"),function(a){var c=a.indexOf(":");c>0&&(e=b.trim(a.substring(0,c)),e.toUpperCase()===e&&(e=e.toLowerCase()),e=j(e),f=b.trim(a.substring(c+1)),k||(k=0===e.indexOf("mso-")),d(e,f))}),k||(f=a.style["mso-list"],f&&d("mso-list",f))},m=function(a,c,j){var k,m,n,o,p;switch(a.nodeType){case 1:c?k=e:(k=d,o=h(a),p={},l(a,j,function(a,b){p[a]=b})),m="HTML"!==a.scopeName&&a.scopeName&&a.tagName&&a.tagName.indexOf(":")<=0?(a.scopeName+":"+a.tagName).toUpperCase():a.tagName;break;case 3:k=f,n=a.nodeValue;break;case 8:k=g,n=a.nodeValue;break;default:b.log("WARNING: Unsupported node type encountered: "+a.nodeType)}var q=function(){return o&&o.getAttributes(),a},r=function(){return m},s=function(){return k},t=function(){return n},u=function(){return"Type: "+k+", Tag: "+m+" Text: "+n},v=function(a){return o.get(a.toLowerCase())},w=function(a){k===d&&o.filter(a)},x=function(c){if(s()===d){var e="";b.each(p,function(b,d){var f=c(d,b);null===f?(a.style.removeProperty?a.style.removeProperty(i(d)):a.style.removeAttribute(i(d)),delete p[d]):(e+=d+": "+f+"; ",p[d]=f)}),e=e?e:null,w(function(a,b){return"style"===a?e:b}),a.style.cssText=e}},y=function(){return o.getAttributeCount()},z=function(a){o.each(a)},A=function(a){return p[a]},B=function(a){b.each(p,function(b,c){a(c,b)})},C=function(){return b.ephoxGetComputedStyle(a)},D=function(){return k===f&&/^[\s\u00A0]*$/.test(n)};return{getNode:q,tag:r,type:s,text:t,toString:u,getAttribute:v,filterAttributes:w,filterStyles:x,getAttributeCount:y,attributes:z,getStyle:A,styles:B,getComputedStyle:C,isWhitespace:D}},n=function(a,c,d,e){var f=e.createElement(a),g="";return b.each(c,function(a,b){f.setAttribute(b,a)}),b.each(d,function(a,b){g+=b+":"+a+";",f.style[i(b)]=a}),m(f,!1,""!==g?g:null)},o=function(a,b){return m(b.createElement(a),!0)},p=function(a,b){return m(b.createComment(a),!1)},q=function(a,b){return m(b.createTextNode(a))},r=o("HTML",window.document);return{START_ELEMENT_TYPE:d,END_ELEMENT_TYPE:e,TEXT_TYPE:f,COMMENT_TYPE:g,FINISHED:r,token:m,createStartElement:n,createEndElement:o,createComment:p,createText:q}}),g("2m",["3w"],function(a){var b=function(b){var c=b.createDocumentFragment(),d=c,e=function(a){g(a),c=a},f=function(){c=c.parentNode},g=function(a){c.appendChild(a)},h=function(c){var d=function(a){var b=a.getNode().cloneNode(!1);e(b)},h=function(a,c){var d=b.createTextNode(a.text());g(d)};switch(c.type()){case a.START_ELEMENT_TYPE:d(c);break;case a.TEXT_TYPE:h(c);break;case a.END_ELEMENT_TYPE:f();break;case a.COMMENT_TYPE:break;default:throw{message:"Unsupported token type: "+c.type()}}};return{dom:d,receive:h}};return{create:b}}),g("2n",["3w"],function(a){var b=function(b,c){var d;c=c||window.document,d=c.createElement("div"),c.body.appendChild(d),d.style.position="absolute",d.style.left="-10000px",d.innerHTML=b,nextNode=d.firstChild||a.FINISHED;var e=[];endNode=!1;var f=function(b,c){return b===a.FINISHED?b:b?a.token(b,c):void 0},g=function(){var b=nextNode,g=endNode;return!endNode&&nextNode.firstChild?(e.push(nextNode),nextNode=nextNode.firstChild):endNode||1!==nextNode.nodeType?nextNode.nextSibling?(nextNode=nextNode.nextSibling,endNode=!1):(nextNode=e.pop(),endNode=!0):endNode=!0,b===a.FINISHED||nextNode||(c.body.removeChild(d),nextNode=a.FINISHED),f(b,g)},h=function(){return void 0!==nextNode};return{hasNext:h,next:g}};return{tokenize:b}}),g("3x",["3w","1h"],function(a,b){var c=function(c,d){var e=function(e,f,g){var h,i,j,k=!1,l=function(){d&&d(w),k=!1,i=[],j=[]},m=function(a){b.each(a,function(a){e.receive(a)})},n=function(a){k?j.push(a):e.receive(a)},o=function(b){d&&i.push(b),c(w,b),b===a.FINISHED&&r()},p=function(){k=!0},q=function(){m(i),l()},r=function(){u(),m(j),l()},s=function(a){h=h||[],h.push(a)},t=function(){return h&&h.length>0},u=function(){b.each(h,function(a){n(a)}),v()},v=function(){h=[]},w={document:g||window.document,settings:f||{},emit:n,receive:o,startTransaction:p,rollback:q,commit:r,defer:s,hasDeferred:t,emitDeferred:u,dropDeferred:v};return l(),w};return e},d=function(a){return c(function(c,d){d.filterAttributes(b.bind(a,c)),c.emit(d)})};return{createFilter:c,createAttributeFilter:d}}),g("2o",["3x","3w"],function(a,b){var c=/^(P|H[1-6]|T[DH]|LI|DIV|BLOCKQUOTE|PRE|ADDRESS|FIELDSET|DD|DT|CENTER)$/,d=function(a){return c.test(a.tag())},e=function(){return null},f=!1;return a.createFilter(function(a,c){var g=function(){f||(a.emit(b.createStartElement("P",{},{},a.document)),f=!0)};switch(c.type()){case b.TEXT_TYPE:g(),a.emit(c);break;case b.END_ELEMENT_TYPE:f&&(d(c)||c===b.FINISHED)?(a.emit(b.createEndElement("P",a.document)),f=!1):"BR"===c.tag()&&a.emit(c);break;case b.START_ELEMENT_TYPE:"BR"===c.tag()?(c.filterAttributes(e),c.filterStyles(e),a.emit(c)):"IMG"===c.tag()&&c.getAttribute("alt")&&(g(),a.emit(b.createText(c.getAttribute("alt"),a.document)))}c===b.FINISHED&&a.emit(c)})}),g("3y",["3w"],function(a){var b=function(){if(navigator.userAgent.indexOf("Gecko")>0&&navigator.userAgent.indexOf("WebKit")<0)return!1;var b=document.createElement("div");try{b.innerHTML='

 

'}catch(c){return!1}return"Ignore"===a.token(b.firstChild).getStyle("mso-list")},c=b(),d=function(a){return"A"===a.tag()||"SPAN"===a.tag()},e=function(a){var b=a.getStyle("mso-list");return b&&"skip"!==b},f=function(b,c){return b.type()===a.START_ELEMENT_TYPE?0===b.getAttributeCount()||c&&1===b.getAttributeCount()&&null!==b.getAttribute("style")&&void 0!==b.getAttribute("style"):b.type()===a.END_ELEMENT_TYPE};return{hasNoAttributes:f,supportsCustomStyles:c,spanOrA:d,hasMsoListStyle:e}}),g("42",["3w","1h"],function(a,b){var c=[{regex:/^\(?[dc][\.\)]$/,type:{tag:"OL",type:"lower-alpha"}},{regex:/^\(?[DC][\.\)]$/,type:{tag:"OL",type:"upper-alpha"}},{regex:/^\(?M*(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})[\.\)]$/,type:{tag:"OL",type:"upper-roman"}},{regex:/^\(?m*(cm|cd|d?c{0,3})(xc|xl|l?x{0,3})(ix|iv|v?i{0,3})[\.\)]$/,type:{tag:"OL",type:"lower-roman"}},{regex:/^\(?[0-9]+[\.\)]$/,type:{tag:"OL"}},{regex:/^([0-9]+\.)*[0-9]+\.?$/,type:{tag:"OL",variant:"outline"}},{regex:/^\(?[a-z]+[\.\)]$/,type:{tag:"OL",type:"lower-alpha"}},{regex:/^\(?[A-Z]+[\.\)]$/,type:{tag:"OL",type:"upper-alpha"}}],d={"\u2022":{tag:"UL",type:"disc"},"\xb7":{tag:"UL",type:"disc"},"\xa7":{tag:"UL",type:"square"}},e={o:{tag:"UL",type:"circle"},"-":{tag:"UL",type:"disc"},"\u25cf":{tag:"UL",type:"disc"}},f=function(a,b){var c={tag:a.tag,type:a.type,variant:b};return a.start&&(c.start=a.start),a.type||delete c.type,c},g=function(a,g,i){var j,k,l,m=null;return a&&(j=a.text,k=a.symbolFont),j=b.trim(j),m=e[j],m?m=f(m,j):k?(m=d[j],m=m?f(m,j):{tag:"UL",variant:j}):(b.each(c,function(a){if(a.regex.test(j)){if(g&&h(a.type,g,!0))return m=a.type,m.start=parseInt(j),!1;m||(m=a.type),m.start=parseInt(j)}}),m&&!m.variant&&(l="("===j.charAt(0)?"()":")"===j.charAt(j.length-1)?")":".",m=f(m,l))),m&&"OL"===m.tag&&i&&("P"!==i.tag()||/^MsoHeading/.test(i.getAttribute("class")))&&(m=null),m},h=function(a,b,c){return a===b||a&&b&&a.tag===b.tag&&a.type===b.type&&(c||a.variant===b.variant)},i=function(b,c){return b.type()==a.START_ELEMENT_TYPE&&(font=b.getStyle("font-family"),font?c="Wingdings"===font||"Symbol"===font:/^(P|H[1-6]|DIV)$/.test(b.tag())&&(c=!1)),c};return{guessListType:g,eqListType:h,checkFont:i}}),g("3z",["3w","42","1h"],function(a,b,c){var d=function(d,e){var f,g,h,i=!1,j=function(a){var b=a.style.fontFamily;b&&(i="Wingdings"===b||"Symbol"===b)};if(d.type()===a.START_ELEMENT_TYPE&&e.openedTag&&"SPAN"===d.tag()){for(f=e.openedTag.getNode(),j(f),f.childNodes.length>1&&"A"===f.firstChild.tagName&&""===f.firstChild.textContent&&(f=f.childNodes[1]);f.firstChild&&("SPAN"===f.firstChild.tagName||"A"===f.firstChild.tagName);)f=f.firstChild,j(f);if(f=f.firstChild,!f||3!==f.nodeType)return f&&"IMG"===f.tagName;if(g=f.value,c.trim(g)||(f=f.parentNode.nextSibling,g=f?f.value:""),!f||c.trim(f.parentNode.textContent)!=g)return!1;if(h=b.guessListType({text:g,symbolFont:i},null,e.originalToken))return f.nextSibling&&"SPAN"===f.nextSibling.tagName&&/^[\u00A0\s]/.test(f.nextSibling.firstChild.value)&&("P"===e.openedTag.tag()||"UL"===h.tag)}return!1},e=function(a,b){var c,d=0;for(c=a.parentNode;null!==c&&void 0!==c&&c!==b.parentNode;)d+=c.offsetLeft,c=c.offsetParent;return d},f=function(a){var b={};return function(c,d){var e,f=c+","+d;return b.hasOwnProperty(f)?b[f]:(e=a.call(null,c,d),b[f]=e,e)}},g=function(a){var b=a.indexOf(".");if(b>=0&&c.trim(a.substring(b+1))===className)return match=results[2],!1},h=f(function(a,b){var d,e,f,h,i=/([^{]+){([^}]+)}/g;for(i.lastIndex=0;null!==(d=i.exec(a))&&!e;)c.each(d[1].split(","),g(selector));return!!e&&(f=document.createElement("p"),f.setAttribute("style",e),h=c.ephoxGetComputedStyle(f),!!h&&""+h.marginLeft)}),i=function(){var a,b,c=function(c,d,f,g){var i,j,k=1;return g&&/^([0-9]+\.)+[0-9]+\.?$/.test(g.text)?g.text.replace(/([0-9]+|\.$)/g,"").length+1:(i=b||parseInt(h(f,d.getAttribute("class"))),j=e(c.getNode(),d.getNode()),i?a?j+=a:0===j&&(a=i,j+=i):i=48,b=i=Math.min(j,i),k=Math.max(1,Math.floor(j/i))||1)};return{guessIndentLevel:c}},j=function(){var b=!1,c="",d=function(d){return b&&d.type()===a.TEXT_TYPE?(c+=d.text(),!0):d.type()===a.START_ELEMENT_TYPE&&"STYLE"===d.tag()?(b=!0,!0):d.type()===a.END_ELEMENT_TYPE&&"STYLE"===d.tag()&&(b=!1,!0)};return{check:d}};return{isListWithoutCommentsOrStyles:d,indentGuesser:i,styles:j}}),g("40",["3w","42"],function(a,b){var c=["disc","circle","square"],d=function(a,b){return"UL"===a.tag&&c[b-1]===a.type&&(a={tag:"UL"}),a};return function(c,e){var f,g=[],h=[],i=0,j=function(b,d){var h={},j={};i++,d&&b.type&&(h={"list-style-type":b.type}),b.start&&b.start>1&&(j={start:b.start}),g.push(b),c.emit(a.createStartElement(b.tag,j,h,e)),f=b},k=function(){c.emit(a.createEndElement(g.pop().tag,e)),i--,f=g[g.length-1]},l=function(){for(;i>0;)m(),k();c.commit()},m=function(){var b=h?h.pop():"P";"P"!=b&&c.emit(a.createEndElement(b,e)),c.emit(a.createEndElement("LI",e))},n=function(d,g,i){var l={};if(d){var m=d.getStyle("margin-left");void 0!==m&&(l["margin-left"]=m)}else l["list-style-type"]="none";f&&!b.eqListType(f,g)&&(k(),i&&(c.emit(a.createStartElement("P",{},{},e)),c.emit(a.createText("\xa0",e)),c.emit(a.createEndElement("P",e))),j(g,!0)),c.emit(a.createStartElement("LI",{},l,e)),d&&"P"!=d.tag()?(h.push(d.tag()),d.filterStyles(function(){return null}),c.emit(d)):h.push("P")},o=function(b,f,g,l){if(g){for(i||(i=0);i>b;)m(),k();if(g=d(g,b),i==b)m(),n(f,g,l);else for(b>1&&h.length>0&&"P"!==h[h.length-1]&&(c.emit(a.createEndElement(h[h.length-1],e)),h[h.length-1]="P");i0;)c.emit(h.spanCount.shift());a&&c.emit(i)}else e.log("Unknown list type: "+h.bulletInfo.text+" Symbol font? "+h.bulletInfo.symbolFont),c.rollback()};i.type()===b.TEXT_TYPE||i.type()===b.START_ELEMENT_TYPE?j(!0):i.type()===b.COMMENT_TYPE?j("[endif]"!==i.text()):i.type()===b.END_ELEMENT_TYPE?a.spanOrA(i)&&h.spanCount.pop():f(c,i)},q=function(a,c,d){d.type()===b.END_ELEMENT_TYPE&&d.tag()===c.originalToken.tag()?(c.nextFilter=h,c.skippedPara=!1):a.emit(d)},r=j;return{initial:r}}),g("2p",["3x","3y","3w","3z","40","41","42","1h"],function(a,b,c,d,e,f,g,h){var i={},j=function(a){i.nextFilter=f.initial,i.itemLevel=0,i.originalToken=null,i.commentMode=!1,i.openedTag=null,i.symbolFont=!1,i.listType=null,i.indentGuesser=d.indentGuesser(),i.emitter=e(a,a.document),i.styles=d.styles(),i.spanCount=[],i.skippedPara=!1,i.styleLevelAdjust=0,i.bulletInfo=void 0};j({});var k=function(a){j(a)},l=function(a,b){i.styles.check(b)||(i.symbolFont=g.checkFont(b,i.symbolFont),i.nextFilter(a,i,b))};return a.createFilter(l,k)}),g("2q",["1h"],function(a){var b=function(a){var b=a,c=65279===b.charCodeAt(b.length-1);return c?b.substring(0,b.length-1):a},c=function(a){return/<(h[1-6r]|p|div|address|pre|form|table|tbody|thead|tfoot|th|tr|td|li|ol|ul|caption|blockquote|center|dl|dt|dd|dir|fieldset)/.test(a)?a.replace(/(?:
 [\s\r\n]+|
)*(<\/?(h[1-6r]|p|div|address|pre|form|table|tbody|thead|tfoot|th|tr|td|li|ol|ul|caption|blockquote|center|dl|dt|dd|dir|fieldset)[^>]*>)(?:
 [\s\r\n]+|
)*/g,"$1"):a},d=function(a){return a.replace(/

/g,"

")},e=function(a){return a.replace(/
/g," ")},f=function(a){return a.replace(/

/g,"
")},g=[b],h=tinymce.isIE&&document.documentMode>=9?[f,e,d,c].concat(g):g,i=a.compose(h);return{all:i,textOnly:b}}),g("43",["3x"],function(a){var b=/^(mso-.*|tab-stops|tab-interval|language|text-underline|text-effect|text-line-through|font-color|horiz-align|list-image-[0-9]+|separator-image|table-border-color-(dark|light)|vert-align|vnd\..*)$/,c=function(a){return function(c,d){var e=!1;switch(a){case"all":case"*":e=!0;break;case"valid":e=!b.test(c);break;case void 0:case"none":e="list-style-type"===c;break;default:e=(","+a+",").indexOf(","+c+",")>=0}return e?d:null}};return a.createFilter(function(a,b){var d=a.settings.get("retain_style_properties");b.filterStyles(c(d)),a.emit(b)})}),g("44",["3x","3w"],function(a,b){return a.createFilter(function(a,c){a.seenList?a.emit(c):a.inferring?("LI"===c.tag()&&(c.type()===b.START_ELEMENT_TYPE?a.inferring++:(a.inferring--,a.inferring||(a.needsClosing=!0))),a.emit(c)):("OL"===c.tag()||"UL"===c.tag()?a.seenList=!0:"LI"===c.tag()&&(a.inferring=1,a.needsClosing||a.emit(b.createStartElement("UL",{},{},a.document))),!a.needsClosing||a.inferring||c.isWhitespace()||(a.needsClosing=!1,a.emit(b.createEndElement("UL",a.document))),a.emit(c))})}),g("45",["3x"],function(a){return a.createAttributeFilter(function(a,b){return"name"===a||"id"===a?null:b})}),g("46",["3x"],function(a){return a.createAttributeFilter(function(a,b){var c;if("class"===a)switch(c=this.settings.get("strip_class_attributes")){case"mso":return 0===b.indexOf("Mso")?null:b;case"none":return b;default:return null}return b})}),g("47",["3x","3y","3w"],function(a,b,c){var d=[],e=[],f=!1,g=function(a,b){var e,f,g=1;for(e=b+1;e=0&&b.hasNoAttributes(a,!0))};0===d.length?e.type()===c.START_ELEMENT_TYPE?h(e)?a.emit(e):i(a,e):a.emit(e):(f||(f=h(e)),i(a,e))})}),g("48",["3x"],function(a){return a.createAttributeFilter(function(a,b){return"style"===a&&""===b?null:b})}),g("49",["3x"],function(a){return a.createAttributeFilter(function(a,b){return"lang"===a?null:b})}),g("4a",["3x","3w"],function(a,b){return a.createFilter(function(a,c){if("IMG"===c.tag()){if(c.type()===b.END_ELEMENT_TYPE&&a.skipEnd)return void(a.skipEnd=!1);if(c.type()===b.START_ELEMENT_TYPE){if(/^file:/.test(c.getAttribute("src")))return void(a.skipEnd=!0);if(a.settings.get("base_64_images")&&/^data:image\/.*;base64/.test(c.getAttribute("src")))return void(a.skipEnd=!0)}}a.emit(c)})}),g("4b",["3x"],function(a){return a.createFilter(function(a,b){"META"!==b.tag()&&"LINK"!==b.tag()&&a.emit(b)})}),g("4c",["3x","3y","3w"],function(a,b,c){var d=function(a){return!b.hasNoAttributes(a)&&!/^OLE_LINK/.test(a.getAttribute("name"))},e=[];return a.createFilter(function(a,b){var f;b.type()===c.START_ELEMENT_TYPE&&"A"===b.tag()?(e.push(b),d(b)&&a.defer(b)):b.type()===c.END_ELEMENT_TYPE&&"A"===b.tag()?(f=e.pop(),d(f)&&a.defer(b),0===e.length&&a.emitDeferred()):a.hasDeferred()?a.defer(b):a.emit(b)})}),g("4d",["3x","3w"],function(a,b){var c=!1;return a.createFilter(function(a,d){"SCRIPT"===d.tag()?c=d.type()===b.START_ELEMENT_TYPE:c||(d.filterAttributes(function(a,b){return/^on/.test(a)||"language"===a?null:b}),a.emit(d))})}),g("2r",["43","44","45","46","47","48","49","4a","4b","4c","4d"],function(a,b,c,d,e,f,g,h,i,j,k){return[k,c,h,a,g,f,d,j,e,i,b]}),g("4e",["3x"],function(a){return a.createFilter(function(a,b){b.filterAttributes(function(a,c){return"align"===a?null:"UL"!==b.tag()&&"OL"!==b.tag()||"type"!==a?c:null}),a.emit(b)})}),g("4f",["3x"],function(a){return a.createAttributeFilter(function(a,b){return/^xmlns(:|$)/.test(a)?null:b})}),g("4g",["3x"],function(a){return a.createFilter(function(a,b){b.tag&&/^([OVWXP]|U[0-9]+|ST[0-9]+):/.test(b.tag())||a.emit(b)})}),g("4h",["3x"],function(a){return a.createAttributeFilter(function(a,b){return"href"===a&&(b.indexOf("#_Toc")>=0||b.indexOf("#_mso")>=0)?null:b})}),g("4i",["3x"],function(a){return a.createAttributeFilter(function(a,b){return/^v:/.test(a)?null:b})}),g("2s",["4e","4f","4g","4h","4i","2p"],function(a,b,c,d,e,f){return[c,f,d,e,b,a]}),g("1k",["2m","2n","2o","2p","2q","2r","2s"],function(a,b,c,d,e,f,g){var h=function(a,b,c,d){var e,f=b;for(e=a.length-1;e>=0;e--)f=a[e](f,c,d);return f},i=function(c,d,e,f){var g=a.create(e),i=b.tokenize(c,e);for(pipeline=h(f,g,d,e);i.hasNext();)pipeline.receive(i.next());return g.dom},j=function(a,b,c){var d=e.all(a),h=l(d);b.setWordContent(h);var j=f;return h&&(j=g.concat(f)),i(d,b,c,j)},k=function(a,b,d){var f=e.textOnly(a);return i(f,b,d,[c])},l=function(a){return a.indexOf("")>=0||a.indexOf("p.MsoNormal, li.MsoNormal, div.MsoNormal")>=0||a.indexOf("MsoListParagraphCxSpFirst")>=0||a.indexOf("")>=0};return{filter:j,filterPlainText:k,isWordContent:l}}),g("f",["1i","1j","1k","x"],function(a,b,c,d){return function(e,f){var g=function(g){var h=function(d){var f={content:g};e.fire("PastePreProcess",f);var h=b.create(d||e.settings.powerpaste_word_import,d||e.settings.powerpaste_html_import,!0),i=c.filter(f.content,h,e.getDoc());e.fire("PastePostProcess",i),e.undoManager.transact(function(){a.insert(i,e)})},i=function(a){return"clean"===a||"merge"===a},j=function(){var a,b=function(){a.close(),h("clean")},c=function(){a.close(),h("merge")},g=[{text:f("cement.dialog.paste.clean"),onclick:b},{text:f("cement.dialog.paste.merge"),onclick:c}],i={title:f("cement.dialog.paste.title"),spacing:10,padding:10,items:[{type:"container",html:f("cement.dialog.paste.instructions")}],buttons:g};a=e.windowManager.open(i),d(function(){a&&a.getEl().focus()},1)};c.isWordContent(g)&&!i(e.settings.powerpaste_word_import)?j():i(e.settings.powerpaste_html_import)?h():j()};return{showDialog:g}}}),g("4",["d","e","f"],function(a,b,c){return function(d,e,f){var g,h,i=this,j=c(d,a.translate),k=function(a){return function(b){a(b)}};g=b.getOnPasteFunction(d,j.showDialog,e),d.on("paste",k(g)),h=b.getOnKeyDownFunction(d,j.showDialog,e),d.on("keydown",k(h)),d.addCommand("mceInsertClipboardContent",function(a,b){j.showDialog(b.content||b)}),d.settings.paste_preprocess&&d.on("PastePreProcess",function(a){d.settings.paste_preprocess.call(i,i,a)})}}),g("1s",[],function(){var a=0,b=function(b){var c=new Date,d=c.getTime(),e=Math.floor(1e9*Math.random());return a++,b+"_"+e+a+String(d)};return{generate:b}}),g("1n",["g","1s","2t","h","o","2u","2b","j"],function(a,b,c,d,e,f,g,h){var i=c.detect(),j=function(a){var b=g.createObjectURL(a);return k(a,b)},k=function(a,c){return e.nu(function(e){var g=f();g.onload=function(f){var g=b.generate("image"),h=f.target,i=d.blob(g,a,c,h);e(i)},g.readAsDataURL(a)})},l=function(a){return 0===a.length?e.pure([]):e.mapM(a,j)},m=function(a){return a.raw().target.files||a.raw().dataTransfer.files},n=function(b){return 1===b.length&&a.contains(b,"Files")},o=function(b){return!a.contains(b,"text/_moz_htmlcontext")},p=function(b){return a.contains(b,"Files")},q=function(a){return!0},r=function(){return i.browser.isChrome()||i.browser.isSafari()||i.browser.isOpera()?p:i.browser.isFirefox()?o:i.browser.isIE()?n:q},s=r(),t=function(c){var f=a.map(c,function(a){var c=b.generate("image");return d.url(c,h.get(a,"src"),a)});return e.pure(f)};return{multiple:l,toFiles:m,isFiles:s,fromImages:t,single:j,singleWithUrl:k}}),g("i",["1n"],function(a){var b=function(b){return a.multiple(b)},c=function(b){return a.single(b)},d=function(b,c){return a.singleWithUrl(b,c)};return{multiple:b,single:c,singleWithUrl:d}}),g("5",["g","h","i","j","k","d","f","2"],function(a,b,c,d,e,f,g,h){return function(i,j,k,l){var m,n=/^image\/(jpe?g|png|gif|bmp)$/i;i.on("dragstart dragend",function(a){m="dragstart"===a.type}),i.on("dragover dragend dragleave",function(a){a.preventDefault()});var o=function(a){var b={};if(a){if(a.getData){var c=a.getData("Text");c&&c.length>0&&(b["text/plain"]=c)}if(a.types)for(var d=0;d0},q=function(a){return!r(a)&&(p(a,"text/html")||p(a,"text/plain"))},r=function(a){var b=a["text/plain"];return!!b&&0===b.indexOf("file://")},s=function(b){var c=b.target.files||b.dataTransfer.files;return a.filter(c,function(a){return n.test(a.type)})},t=function(c){return a.map(c,function(a){var c=e.fromTag("img"),f=b.cata(a,l.getLocalURL,function(a,b,c){return b});return d.set(c,"src",f),c.dom().outerHTML}).join("")},u=function(a){c.multiple(a).get(function(a){var b=t(a);i.insertContent(b,{merge:i.settings.paste_merge_formats!==!1}),l.uploadImages(a)})};i.on("drop",function(a){if(!m){if(h.dom.RangeUtils&&h.dom.RangeUtils.getCaretRangeFromPoint){var b=h.dom.RangeUtils.getCaretRangeFromPoint(a.clientX,a.clientY,i.getDoc());b&&i.selection.setRng(b)}var c=s(a);if(c.length>0)return u(c),void a.preventDefault();var d=o(a.dataTransfer);if(q(d)){var e=g(i,f.translate);e.showDialog(d["text/html"]||d["text/plain"]),a.preventDefault()}}})}}),g("4r",["g","2c","1f"],function(a,b,c){var d=["officeStyles","htmlStyles","isWord","proxyBin","isInternal","backgroundAssets"],e=function(b,c){var e={};return a.each(d,function(a){var d=c[a]().or(b[a]());d.each(function(b){e[a]=b})}),f(e)},f=b.immutableBag([],d);return{nu:f,merge:e}}),g("2w",["n","1m"],function(a,b){var c=b.generate([{error:["message"]},{paste:["elements","assets","correlated"]},{cancel:[]},{incomplete:["elements","assets","correlated","message"]}]),d=function(a,b,c,d,e){return a.fold(b,c,d,e)},e=function(b,e){return d(b,a.none,a.none,a.none,function(b,f,g,h){return d(e,a.none,function(b,d,e){return a.some(c.incomplete(b,d,e,h))},a.none,a.none)}).getOr(e)};return{error:c.error,paste:c.paste,cancel:c.cancel,incomplete:c.incomplete,cata:d,carry:e}}),g("4q",["4r","2w","1v","2c"],function(a,b,c,d){var e=d.immutableBag(["response","bundle"],[]),f=function(a){return l(function(b){var c=e(a);b(c)})},g=function(a,b){a(e(b))},h=function(a){return f({response:a.response(),bundle:a.bundle()})},i=function(c){return f({response:b.error(c),bundle:a.nu({})})},j=function(){return f({response:b.cancel(),bundle:a.nu({})})},k=function(){return f({response:b.paste([],[],[]),bundle:a.nu({})})},l=function(a){var b=function(b){a(b)};return c(l,b)};return{call:g,sync:l,pure:f,pass:h,done:e,error:i,initial:k,cancel:j}}),g("23",["n"],function(a){var b=function(a){for(var b=[],c=function(a){b.push(a)},d=0;d0){var j=c.mapM(h,function(a){var c=d.createObjectURL(a);return i.apply(g,[a,"specified",c]),b.singleWithUrl(a,c)});return e.some(j)}return e.none()};return{convert:g}}),g("30",["4u","o","p","n"],function(a,b,c,d){var e=function(){var c=d.none(),e=function(b){c=a.convert(b)},f=function(a){return c.fold(function(){return b.nu(function(a){a([])})},function(a){return a}).get(a)},g=function(){c=d.none()};return{convert:e,listen:f,clear:g}},f=function(){return{convert:d.none,listen:function(a){a([])},clear:c.noop}};return{background:e,ignore:f}}),h("4v",RegExp),g("31",["n","23","4v"],function(a,b,c){var d=function(a){return void 0!==a&&void 0!==a.types&&null!==a.types},e=function(a,c){return b.findMap(a,function(a){return f(c,a)})},f=function(d,e){var f=new c(e,"i");return b.findMap(d,function(b){return null!==b.match(f)?a.some({type:b,flavor:e}):a.none()})};return{isValidData:d,getPreferredFlavor:e,getFlavor:f}}),g("4x",["1l","1m"],function(a,b){var c=b.generate([{none:[]},{error:["message "]},{blob:["blob"]}]),d=function(a,b,c,d){return a.fold(b,c,d)};return a.merge(c,{cata:d})}),g("78",["3p"],function(a){return function(b,c){var d=a.getOrDie("Blob");return new d(b,c)}}),g("79",["3p"],function(a){return function(b){var c=a.getOrDie("Uint8Array");return new c(b)}}),g("7a",["3p"],function(a){var b=function(b){var c=a.getOrDie("requestAnimationFrame");c(b)},c=function(b){var c=a.getOrDie("atob");return c(b)};return{atob:c,requestAnimationFrame:b}}),g("6d",["4x","78","79","7a","n","2f","37","12","62"],function(a,b,c,d,e,f,g,h,i){var j=function(a,e){for(var f=1024,g=d.atob(a),j=g.length,k=i.ceil(j/f),l=new h(k),m=0;m"data:image/".length},l=function(b){if(!k(b))return a.none();var c=b.indexOf(";"),d=b.substr("data:".length,c-"data:".length),e=b.substr(c+";base64,".length);try{var f=a.blob(j(e,d));return f}catch(g){return a.error(g)}};return{convert:l}}),g("4w",["6d"],function(a){var b=function(b){return a.convert(b)};return{toBlob:b}}),g("4y",["2w","g","h","p","2c","j","k","1d","2a","1f"],function(a,b,c,d,e,f,g,h,i,j){var k=e.immutable("asset","image"),l=function(a,e){var g=[];return b.each(a,function(a,b){c.cata(a,function(c,d,h,i){var j=e[b];f.set(j,"src",h),g.push(k(a,j))},d.noop)}),g},m=function(a,e){var g=[],j=b.bind(a,function(a){return"img"===h.name(a)?[a]:i.descendants(a,"img")});return b.each(e,function(a){c.cata(a,function(c,d,e,h){b.each(j,function(b){f.get(b,"src")===e&&g.push(k(a,b))})},d.noop)}),g},n=function(d){var e=[],h=[],i=[];return b.each(d,function(a){return c.cata(a,function(b,c,d,j){var l=g.fromTag("img");f.set(l,"src",d),e.push(l),h.push(a),i.push(k(a,l))},function(a,b,c){j.error("Internal error: Paste operation produced an image URL instead of a Data URI: ",b)})}),a.paste(e,h,i)};return{createImages:n,findImages:m,updateSources:l}}),g("1y",["g","29","3f"],function(a,b,c){var d=function(b){b.dom().textContent="",a.each(c.children(b),function(a){e(a)})},e=function(a){var b=a.dom();null!==b.parentNode&&b.parentNode.removeChild(b)},f=function(a){var d=c.children(a);d.length>0&&b.before(a,d),e(a)};return{empty:d,remove:e,unwrap:f}}),g("32",["4w","4x","4q","4y","2w","g","i","n","2c","j","k","1d","1y","29","2a"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){var p=i.immutable("blob","image"),q=function(c,d){var e=a.toBlob(d);return b.cata(e,h.none,h.none,function(a){return h.some(p(a,c))})},r=function(a){var b=k.fromTag("div");return n.append(b,a),o.descendants(b,"img[src]")},s=function(a){return 0===a.indexOf("data:")&&a.indexOf("base64")>-1},t=function(a){return 0===a.indexOf("blob:")},u=function(a){return s(a)||t(a)},v=function(a){var b=j.get(a,"src");return u(b)},w=function(a){return f.bind(r(a),function(a){var b=j.get(a,"src");return u(b)?q(a,b).toArray():[]})},x=function(a){var b=f.filter(a,function(a){return"img"!==l.name(a)||!v(a)});return e.incomplete(b,[],[],"errors.local.images.disallowed")};return function(a){return function(b,h){return c.sync(function(b){var i=function(){c.call(b,{response:h.response(),bundle:h.bundle()})},j=function(a){var i=w(a),j=f.map(i,function(a){return a.blob()});g.multiple(j).get(function(g){var j=f.map(i,function(a){return a.image()}),k=d.updateSources(g,j);c.call(b,{response:e.paste(a,g,k),bundle:h.bundle()})})},k=function(a){var d=f.filter(r(a),v);f.each(d,m.remove),c.call(b,{response:d.length>0?x(a):h.response(),bundle:h.bundle()})},l=function(b,c,d,e){a.allowLocalImages===!1?k(b):0===c.length?j(b):i()};e.cata(h.response(),i,l,i,l)})}}}),g("4z",["4q","2w","o","1f"],function(a,b,c,d){var e=function(c){var e=function(e,f){return c.proxyBin().fold(function(){return d.error(e),a.pure({response:b.cancel(),bundle:{}})},f)};return{handle:e}},f=function(a){return c.nu(function(b){a.backgroundAssets().fold(function(){b([])},function(a){a.listen(b)})})},g=function(a){var b=j(a);return b&&h(a)||!b&&i(a)},h=function(a){return a.officeStyles().getOr(!0)},i=function(a){return a.htmlStyles().getOr(!1)},j=function(a){return a.isWord().getOr(!1)},k=function(a){return a.isInternal().getOr(!1)};return{proxyBin:e,backgroundAssets:f,merging:g,mergeOffice:h,mergeNormal:i,isWord:j,isInternal:k}}),g("5c",["3g"],function(a){var b=a.create("ephox-cement");return{resolve:b.resolve}}),g("50",["5c","1l","p","n","27","k","28","1x","29"],function(a,b,c,d,e,f,g,h,i){return function(j,k){var l=k.translations,m=function(a,c,e){e(d.some(b.merge(c,{officeStyles:a,htmlStyles:a})))},n=function(b,c){var k=function(){t(),m(!1,b,c)},n=function(){t(),m(!0,b,c)},o=f.fromTag("div");e.add(o,a.resolve("styles-dialog-content"));var p=f.fromTag("p"),q=g.fromHtml(l("cement.dialog.paste.instructions"));i.append(p,q),h.append(o,p);var r={text:l("cement.dialog.paste.clean"),tabindex:0,className:a.resolve("clean-styles"),click:k},s={text:l("cement.dialog.paste.merge"),tabindex:1,className:a.resolve("merge-styles"),click:n},t=function(){v.destroy()},u=function(){c(d.none()),t()},v=j(!0);v.setTitle(l("cement.dialog.paste.title")),v.setContent(o),v.setButtons([r,s]),v.show(),v.events.close.bind(u)},o=function(a,b){var c=a?"officeStyles":"htmlStyles",d=k[c];"clean"===d?m(!1,k,b):"merge"===d?m(!0,k,b):n(k,b)};return{get:o,destroy:c.noop}}}),g("33",["4q","4r","4z","50","2w"],function(a,b,c,d,e){var f=function(f,g){var h=d(f,g);return function(d,f){var g=f.bundle(),i=f.response();return a.sync(function(d){h.get(c.isWord(g),function(c){var g=c.fold(function(){return{response:e.cancel(),bundle:f.bundle()}},function(a){return{response:i,bundle:b.nu({officeStyles:a.officeStyles,htmlStyles:a.htmlStyles})}});a.call(d,g)})})}},g=function(d,e){return function(g,h){return c.isInternal(h.bundle())?a.pure({response:h.response(),bundle:b.nu({officeStyles:!0,htmlStyles:!0})}):f(d,e)(g,h)}},h=function(c,d){return function(e,f){return a.pure({response:f.response(),bundle:b.nu({officeStyles:c,htmlStyles:d})})}};return{fixed:h,fromConfig:f,fromConfigIfExternal:g}}),g("7r",["2t","p","k","1g"],function(a,b,c,d){var e=function(a){for(var b=[];null!==a.nextNode();)b.push(c.fromDom(a.currentNode));return b},f=function(a){try{return e(a)}catch(b){return[]}},g=a.detect().browser,h=g.isIE()||g.isSpartan()?f:e,i=b.constant(b.constant(!0)),j=function(a,b){var c=b.fold(i,function(a){return function(b){return a(b.nodeValue)}});c.acceptNode=c;var e=d.createTreeWalker(a.dom(),NodeFilter.SHOW_COMMENT,c,!1);return h(e)};return{find:j}}),g("7b",["n","7r","37","1g"],function(a,b,c,d){var e=function(d){return b.find(d,a.some(function(a){return c.startsWith(a,"[if gte vml 1]")}))};return{find:e}}),g("6q",[],function(){var a=function(a){return void 0!==a.style};return{isSupported:a}}),h("11",window),g("5d",["1b","g","1c","n","j","5i","k","1d","6q","37","1e","1f","11"],function(a,b,c,d,e,f,g,h,i,j,k,l,m){var n=function(b,c,d){if(!a.isString(d))throw l.error("Invalid call to CSS.set. Property ",c,":: Value ",d,":: Element ",b),new k("CSS value must be a string: "+d);i.isSupported(b)&&b.style.setProperty(c,d)},o=function(a,b){i.isSupported(a)&&a.style.removeProperty(b)},p=function(a,b,c){var d=a.dom();n(d,b,c)},q=function(a,b){var d=a.dom();c.each(b,function(a,b){n(d,b,a)})},r=function(a,b){var d=a.dom();c.each(b,function(a,b){a.fold(function(){o(d,b)},function(a){n(d,b,a)})})},s=function(a,b){var c=a.dom(),d=m.getComputedStyle(c),e=d.getPropertyValue(b),g=""!==e||f.inBody(a)?e:t(c,b);return null===g?void 0:g},t=function(a,b){return i.isSupported(a)?a.style.getPropertyValue(b):""},u=function(a,b){var c=a.dom(),e=t(c,b);return d.from(e).filter(function(a){return a.length>0})},v=function(a,b,c){var d=g.fromTag(a);p(d,b,c);var e=u(d,b);return e.isSome()},w=function(a,b){var c=a.dom();o(c,b),e.has(a,"style")&&""===j.trim(e.get(a,"style"))&&e.remove(a,"style")},x=function(a,b){var c=e.get(a,"style"),d=b(a),f=void 0===c?e.remove:e.set;return f(a,"style",c),d},y=function(a,b){var c=a.dom(),d=b.dom();i.isSupported(c)&&i.isSupported(d)&&(d.style.cssText=c.style.cssText)},z=function(a){return a.dom().offsetWidth},A=function(a,b,c){u(a,c).each(function(a){u(b,c).isNone()&&p(b,c,a)})},B=function(a,c,d){h.isElement(a)&&h.isElement(c)&&b.each(d,function(b){A(a,c,b)})};return{copy:y,set:p,preserve:x,setAll:q,setOptions:r,remove:w,get:s,getRaw:u,isValidValue:v,reflow:z,transfer:B}}),g("6r",["1b","g","p","n","5i","3n","k","2i"],function(a,b,c,d,e,f,g,h){var i=function(a){return n(e.body(),a)},j=function(b,e,f){for(var h=b.dom(),i=a.isFunction(f)?f:c.constant(!1);h.parentNode;){h=h.parentNode;var j=g.fromDom(h);if(e(j))return d.some(j);if(i(j))break}return d.none()},k=function(a,b,c){var d=function(a){return b(a)};return h(d,j,a,b,c)},l=function(a,b){var c=a.dom();return c.parentNode?m(g.fromDom(c.parentNode),function(c){return!f.eq(a,c)&&b(c)}):d.none()},m=function(a,e){var f=b.find(a.dom().childNodes,c.compose(e,g.fromDom));return d.from(f).map(g.fromDom)},n=function(a,b){var c=function(a){for(var e=0;e");return d.dom().innerHTML=c.substr(h+"]>".length),g.descendant(d,function(a){return f.name(a)===b})},l=function(b){return f.isComment(b)?k(b,"v:shape"):a.none()},m=function(a){return l(a).map(function(a){var f=b.get(a,"o:spid"),g=void 0===f?b.get(a,"id"):f,h=e.fromTag("img");return c.add(h,"rtf-data-image"),b.set(h,"data-image-id",g.substr("_x0000_".length)),b.set(h,"data-image-type","code"),d.setAll(h,{width:d.get(a,"width"),height:d.get(a,"height")}),h})},n=function(d){if("img"===f.name(d)){var e=b.get(d,"src");if(void 0!==e&&null!==e&&j.startsWith(e,"file://")){var g=h.shallow(d),i=e.split(/[\/\\]/),k=i[i.length-1];return b.set(g,"data-image-id",k),b.remove(g,"src"),b.set(g,"data-image-type","local"),c.add(g,"rtf-data-image"),a.some(g)}return a.none()}return a.none()},o=function(a){return p(a).length>0},p=function(a){return i.descendants(a,".rtf-data-image")};return{local:n,vshape:m,find:p,exists:o,scour:l}}),g("6e",["7b","g","5a","n","23","2c","j","28","2a","1f"],function(a,b,c,d,e,f,g,h,i,j){var k=f.immutable("img","vshape"),l=function(a){var b=n(a);return b._rawElement=a.dom(),b},m=function(a){var b=n(a);return b._rawElement=a.dom(),b},n=function(a){return g.clone(a)},o=function(d){var f=h.fromHtml(d),g=b.bind(f,function(a){return i.descendants(a,"img")}),j=b.bind(f,a.find),k=e.cat(b.map(j,c.scour)),l=b.map(g,function(a){return p(a,k)});return e.cat(l)},p=function(a,c){var e=g.get(a,"v:shapes"),f=d.from(b.find(c,function(a){return g.get(a,"id")===e}));return f.isNone()&&j.log("WARNING: unable to find data for image",a.dom()),f.map(function(b){return q(a,b)})},q=function(a,b){return k(l(a),m(b))};return{extract:o}}),g("7c",["1b","g","p","n","j","27"],function(a,b,c,d,e,f){var g=function(b,c){var d=c.style;if(e.has(b,"width")&&e.has(b,"height")&&a.isString(d)){var f=d.match(/rotation:([^;]*)/);null===f||"90"!==f[1]&&"-90"!==f[1]||e.setAll(b,{width:e.get(b,"height"),height:e.get(b,"width")})}},h=function(a,b){var c=b["o:spid"],d=void 0===c?b.id:c;g(a,b),f.add(a,"rtf-data-image"),e.set(a,"data-image-id",d.substr("_x0000_".length)),e.set(a,"data-image-type","code")},i=function(a,b,c){return c.img()[a]===b},j=function(a,f,g){var h=e.get(f,g),j=c.curry(i,g,h),k=b.find(a,j);return d.from(k).map(function(a){return e.remove(f,g),a})},k=function(a,c,d){b.each(c,function(b){j(a,b,d).each(function(a){h(b,a.vshape())})})};return{rotateImage:g,insertRtfCorrelation:k}}),g("7s",["2t","n","1e"],function(a,b,c){return function(d,e){var f=function(a){if(!d(a))throw new c("Can only get "+e+" value of a "+e+" node");return j(a).getOr("")},g=function(a){try{return h(a)}catch(c){return b.none()}},h=function(a){ +return d(a)?b.from(a.dom().nodeValue):b.none()},i=a.detect().browser,j=i.isIE()&&10===i.version.major?g:h,k=function(a,b){if(!d(a))throw new c("Can only set raw "+e+" value of a "+e+" node");a.dom().nodeValue=b};return{get:f,getOption:j,set:k}}}),g("7d",["1d","7s"],function(a,b){var c=b(a.isComment,"comment"),d=function(a){return c.get(a)},e=function(a){return c.getOption(a)},f=function(a,b){c.set(a,b)};return{get:d,getOption:e,set:f}}),g("7t",["1x"],function(a){var b=function(b,c,d){b.dom().styleSheet?b.dom().styleSheet.cssText=c:a.append(b,d)};return{setCss:b}}),g("8f",[],function(){var a=function(a){return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")};return{escape:a}}),g("7u",["1c","8f","4v"],function(a,b,c){var d=function(a,d,e){var f=new c("url\\(\\s*['\"]?"+b.escape(d)+"(.*?)['\"]?\\s*\\)","g");return a.replace(f,'url("'+e+'$1")')},e=function(b,c){var e=b;return a.each(c,function(a,b){e=d(e,b,a)}),e};return{replace:d,replaceMany:e}}),g("7e",["j","k","1x","20","7t","7u","12"],function(a,b,c,d,e,f,g){var h=function(c){var d=b.fromTag("style",c.dom());return a.set(d,"type","text/css"),d},i=function(a,c,d){e.setCss(a,c,b.fromText(c,d.dom()))},j=function(a,b,e){var g=h(e),j=void 0===b?a:f.replaceMany(a,b);i(g,j,e);var k=d.descendant(e,"head").getOrDie();c.append(k,g)},k=function(a){var b=a.dom().styleSheets;return g.prototype.slice.call(b)};return{stylesheets:k,inject:j}}),g("7v",["g","2c"],function(a,b){var c=b.immutable("selector","style","raw"),d=function(b){var d=b.cssRules;return a.map(d,function(a){var b=a.selectorText,d=a.style.cssText;if(void 0===d)throw"WARNING: Browser does not support cssText property";return c(b,d,a.style)})},e=function(b){return a.bind(b,d)};return{extract:d,extractAll:e}}),g("7f",["7v"],function(a){var b=function(b){return a.extract(b)},c=function(b){return a.extractAll(b)};return{extract:b,extractAll:c}}),function(a,b,c){a("7g",[],function(){var a=function(){var a,b,c;return a=function(a){var c,d,e,f,g=[];for(c=a.split(","),e=0,f=c.length;e0&&g.push(b(d));return g},b=function(a){var b,c=a,d={a:0,b:0,c:0},e=[],f=/(\[[^\]]+\])/g,g=/(#[^\s\+>~\.\[:]+)/g,h=/(\.[^\s\+>~\.\[:]+)/g,i=/(::[^\s\+>~\.\[:]+|:first-line|:first-letter|:before|:after)/gi,j=/(:[\w-]+\([^\)]*\))/gi,k=/(:[^\s\+>~\.\[:]+)/g,l=/([^\s\+>~\.\[:]+)/g;return b=function(b,f){var g,h,i,j,k,l;if(b.test(c))for(g=c.match(b),h=0,i=g.length;h~]/g," "),c=c.replace(/[#\.]/g," "),b(l,"c"),e.sort(function(a,b){return a.index-b.index}),{selector:a,specificity:"0,"+d.a.toString()+","+d.b.toString()+","+d.c.toString(),specificityArray:[0,d.a,d.b,d.c],parts:e}},c=function(a,c){var d,e,f;if("string"==typeof a){if(a.indexOf(",")!==-1)throw"Invalid CSS selector";d=b(a).specificityArray}else{if(!Array.isArray(a))throw"Invalid CSS selector or specificity array";if(4!==a.filter(function(a){return"number"==typeof a}).length)throw"Invalid specificity array";d=a}if("string"==typeof c){if(c.indexOf(",")!==-1)throw"Invalid CSS selector";e=b(c).specificityArray}else{if(!Array.isArray(c))throw"Invalid CSS selector or specificity array";if(4!==c.filter(function(a){return"number"==typeof a}).length)throw"Invalid specificity array";e=c}for(f=0;f<4;f+=1){if(d[f]e[f])return 1}return 0},{calculate:a,compare:c}}();return"undefined"!=typeof exports&&(exports.calculate=a.calculate,exports.compare=a.compare),a})}(f.bolt.module.api.define,f.bolt.module.api.require,f.bolt.module.api.demand),g("6f",["7c","g","p","2c","j","7d","5d","1y","2a","3f","7e","7f","7g"],function(a,b,c,d,e,f,g,h,i,j,k,l,m){var n=d.immutable("selector","raw"),o=function(b,c,d,e,f){var g=i.descendants(c,"img");t(c),a.insertRtfCorrelation(d,g,e);var h=f.mergeInline()?s:p;h(b,c)},p=c.noop,q=function(a,c){var d={};return b.each(a,function(e){if(void 0!==a[e]){var f=c.dom().style;b.contains(f,e)||(d[e]=a[e])}}),d},r=function(a,c){var d=b.bind(c,function(c){var d=i.descendants(a,c.selector());return b.each(d,function(a){var b=q(c.raw(),a);g.setAll(a,b)}),d});b.each(d,function(a){e.remove(a,"class")})},s=function(a,c){var d=k.stylesheets(a),e=l.extractAll(d),f=function(a){return a.selector().indexOf(",")!==-1},g=function(a){return!f(a)},h=function(a){var c=a.selector().split(",");return b.map(c,function(b){var c=b.trim();return n(c,a.raw())})},i=b.flatten(b.map(b.filter(e,f),h)),j=b.filter(e,g),o=j.concat(i);o.sort(function(a,b){return m.compare(a.selector(),b.selector())}).reverse(),r(c,o)},t=function(a){var c=j.children(a);b.each(c,function(a){f.getOption(a).each(function(b){"StartFragment"!==b&&"EndFragment"!==b||h.remove(a)})})};return{doMergeInlineStyles:r,process:o}}),g("71",["n","k"],function(a,b){var c=function(c){var d=c.dom();try{var e=d.contentWindow?d.contentWindow.document:d.contentDocument;return void 0!==e&&null!==e?a.some(b.fromDom(e)):a.none()}catch(f){return console.log("Error reading iframe: ",d),console.log("Error was: "+f),a.none()}},d=function(a){var b=c(a);return b.fold(function(){return a},function(a){return a})};return{doc:d}}),g("5x",["71","5i"],function(a,b){var c=function(c,d){if(!b.inBody(c))throw"Internal error: attempted to write to an iframe that is not in the DOM";var e=a.doc(c),f=e.dom();f.open(),f.writeln(d),f.close()};return{write:c}}),g("25",["p","k"],function(a,b){var c=function(b,c,d,e,f,g,h){return{target:a.constant(b),x:a.constant(c),y:a.constant(d),stop:e,prevent:f,kill:g,raw:a.constant(h)}},d=function(d,e){return function(f){if(d(f)){var g=b.fromDom(f.target),h=function(){f.stopPropagation()},i=function(){f.preventDefault()},j=a.compose(i,h),k=c(g,f.clientX,f.clientY,h,i,j,f);e(k)}}},e=function(b,c,e,f,g){var i=d(e,f);return b.dom().addEventListener(c,i,g),{unbind:a.curry(h,b,c,i,g)}},f=function(a,b,c,d){return e(a,b,c,d,!1)},g=function(a,b,c,d){return e(a,b,c,d,!0)},h=function(a,b,c,d){a.dom().removeEventListener(b,c,d)};return{bind:f,capture:g}}),g("w",["p","25"],function(a,b){var c=a.constant(!0),d=function(a,d,e){return b.bind(a,d,c,e)},e=function(a,d,e){return b.capture(a,d,c,e)};return{bind:d,capture:e}}),g("6g",["p","5x","5d","w","k","1x","1y","x"],function(a,b,c,d,e,f,g,h){return function(i){var j=function(j,k,l){var m=e.fromTag("div"),n=e.fromTag("iframe");c.setAll(m,{display:"none"});var o=d.bind(n,"load",function(){o.unbind(),b.write(n,j);var c=n.dom().contentWindow.document;if(void 0===c)throw"sandbox iframe load event did not fire correctly";var d=e.fromDom(c),f=c.body;if(void 0===f)throw"sandbox iframe does not have a body";var i=e.fromDom(f),p=k(d,i);g.remove(m),h(a.curry(l,p),0)});f.append(m,n),f.append(i,m)};return{play:j}}}),g("6h",["k","28","1x","29","1y","3f"],function(a,b,c,d,e,f){var g=function(a){return a.dom().innerHTML},h=function(g,h){var i=f.owner(g),j=i.dom(),k=a.fromDom(j.createDocumentFragment()),l=b.fromHtml(h,j);d.append(k,l),e.empty(g),c.append(g,k)},i=function(b){var d=a.fromTag("div"),e=a.fromDom(b.dom().cloneNode(!0));return c.append(d,e),g(d)};return{get:g,set:h,getOuter:i}}),g("51",["4q","4r","6e","6f","2w","p","6g","k","28","6h","1g"],function(a,b,c,d,e,f,g,h,i,j,k){var l="data-textbox-image",m=function(a){return void 0===a||null===a||0===a.length},n=function(a){var b=1;return a.replace(/(]*)src=".*?"/g,function(a,c,d){return c+l+'="'+b++ +'"'})},o=function(a,b){var c=g(h.fromDom(k.body));return function(e,g){c.play(e,function(c,e){return d.process(c,e,a,l,{mergeInline:f.constant(b)}),j.get(e)},g)}},p=function(d,f,g){return a.sync(function(h){var j=c.extract(d),k=o(j,f);k(g,function(c){var d=i.fromHtml(c);a.call(h,{response:e.paste(d,[],[]),bundle:b.nu({})})})})},q=function(){return a.pure({response:e.paste([],[],[]),bundle:b.nu({})})},r=function(a){var b=a.indexOf("");return b>-1?a.substr(0,b+"".length):a},s=function(b,c,d){var f=r(b.data()),g=n(f);return d.cleanDocument(g,c).fold(function(){return a.pure({response:e.error("errors.paste.word.notready"),bundle:{}})},function(a){return m(a)?q():p(g,c,a)})};return{handle:s}}),g("52",["4q","4r","4y","g","i"],function(a,b,c,d,e){var f=function(f){var g=d.filter(f,function(a){return"file"===a.kind&&/image/.test(a.type)}),h=d.map(g,function(a){return a.getAsFile()});return a.sync(function(d){e.multiple(h).get(function(e){var f=c.createImages(e);a.call(d,{response:f,bundle:b.nu({})})})})};return{handle:f}}),g("7w",[],function(){return{validStyles:function(){return/^(mso-.*|tab-stops|tab-interval|language|text-underline|text-effect|text-line-through|font-color|horiz-align|list-image-[0-9]+|separator-image|table-border-color-(dark|light)|vert-align|vnd\..*)$/},specialInline:function(){return/^(font|em|strong|samp|acronym|cite|code|dfn|kbd|tt|b|i|u|s|sub|sup|ins|del|var|span)$/}}}),g("83",[],function(){var a=function(a){return g(function(b,c,d,e,f,g){return b(a)})},b=function(a){return g(function(b,c,d,e,f,g){return c(a)})},c=function(a){return g(function(b,c,d,e,f,g){return d(a)})},d=function(a){return g(function(b,c,d,e,f,g){return e(a)})},e=function(){return g(function(a,b,c,d,e,f){return e()})},f=function(a){return g(function(b,c,d,e,f,g){return g(a)})},g=function(a){var b=function(b){return a(function(a){return 0===b.toLowerCase().indexOf(a.toLowerCase())},function(a){return a.test(b.toLowerCase())},function(a){return b.toLowerCase().indexOf(a.toLowerCase())>=0},function(a){return b.toLowerCase()===a.toLowerCase()},function(){return!0},function(a){return!a.matches(b)})};return{fold:a,matches:b}},h=function(a,b,c,d,e,f,g){return a.fold(b,c,d,e,f,g)};return{starts:a,pattern:b,contains:c,exact:d,all:e,not:f,cata:h}}),g("7x",["p","1d","83"],function(a,b,c){var d=function(b,d,e,f){var g=f.name,h=void 0!==f.condition?f.condition:a.constant(!0),i=void 0!==f.value?f.value:c.all();return g.matches(e)&&i.matches(d)&&h(b)},e=function(c,d){var e=b.name(c),f=d.name,g=void 0!==d.condition?d.condition:a.constant(!0);return f.matches(e)&&g(c)};return{keyval:d,name:e}}),g("8g",["g","1c","p","j"],function(a,b,c,d){var e=function(b,c){var d={};return a.each(b.dom().attributes,function(a){c(a.value,a.name)||(d[a.name]=a.value)}),d},f=function(c,e,f){a.each(e,function(a){d.remove(c,a)}),b.each(f,function(a,b){d.set(c,b,a)})},g=function(c,d,e){var g=a.map(c.dom().attributes,function(a){return a.name});b.size(d)!==g.length&&f(c,g,d)};return{filter:e,clobber:g,scan:c.constant({})}}),g("8h",["g","1c","j","5d","37"],function(a,b,c,d,e){var f=function(b){var c={},d=void 0!==b&&null!==b?b.split(";"):[];return a.each(d,function(a){var b=a.split(":");2===b.length&&(c[e.trim(b[0])]=e.trim(b[1]))}),c},g=function(a,b){return a.dom().style.getPropertyValue(b)},h=function(b,c){var d=b.dom().style,e=void 0===d?[]:d,f={};return a.each(e,function(a){var d=g(b,a);c(d,a)||(f[a]=d)}),f},i=function(a,b,c){d.set(a,b,c)},j=function(b,c,d){var e=b.dom().getAttribute("style"),g=f(e),h={};return a.each(c,function(a){var b=g[a];void 0===b||d(b,a)||(h[a]=b)}),h},k=function(c){var d=b.keys(c);return a.map(d,function(a){return a+": "+c[a]}).join("; ")},l=function(a,d,e){c.set(a,"style","");var f=b.size(d),g=b.size(e);if(0===f&&0===g)c.remove(a,"style");else if(0===f)c.set(a,"style",k(e));else{b.each(d,function(b,c){i(a,c,b)});var h=c.get(a,"style"),j=g>0?k(e)+"; ":"";c.set(a,"style",j+h)}};return{filter:h,clobber:l,scan:j}}),g("7y",["8g","8h","p","k"],function(a,b,c,d){var e=["mso-list"],f=function(a,c){var d=b.scan(a,e,c),f=b.filter(a,c);b.clobber(a,f,d)},g=function(b,c){var d=a.filter(b,c);a.clobber(b,d,{})},h=function(a){var d=b.filter(a,c.constant(!1));b.clobber(a,d,{})},i=function(a,b){f(d.fromDom(a),b)},j=function(a,b){g(d.fromDom(a),b)};return{style:f,attribute:g,styleDom:i,attributeDom:j,validateStyles:h}}),g("7i",["g","1l","7x","7y","p","j","27","3q","1y","2a"],function(a,b,c,d,e,f,g,h,i,j){var k=function(b,d,e){b(e,function(b,f){return a.exists(d,function(a){return c.keyval(e,b,f,a)})})},l=function(l,m){var n=b.merge({styles:[],attributes:[],classes:[],tags:[]},m),o=j.descendants(l,"*");a.each(o,function(b){k(d.style,n.styles,b),k(d.attribute,n.attributes,b),a.each(n.classes,function(c){var d=f.has(b,"class")?h.get(b):[];a.each(d,function(a){c.name.matches(a)&&g.remove(b,a)})})});var p=j.descendants(l,"*");a.each(p,function(b){var d=a.exists(n.tags,e.curry(c.name,b));d&&i.remove(b)})},m=function(d,f){var g=b.merge({tags:[]},f),h=j.descendants(d,"*");a.each(h,function(b){var d=a.exists(g.tags,e.curry(c.name,b));d&&i.unwrap(b)})},n=function(d,f){var g=b.merge({tags:[]},f),h=j.descendants(d,"*");a.each(h,function(b){var d=a.find(g.tags,e.curry(c.name,b));void 0!==d&&null!==d&&d.mutate(b)})},o=function(b){var c=j.descendants(b,"*");a.each(c,function(a){d.validateStyles(a)})};return{remover:l,unwrapper:m,transformer:n,validator:o}}),g("86",["1c","5d","k"],function(a,b,c){var d="startElement",e="endElement",f="text",g="comment",h=function(a,h,i){var j,k,l,m=c.fromDom(a);switch(a.nodeType){case 1:h?j=e:(j=d,b.setAll(m,i||{})),k="HTML"!==a.scopeName&&a.scopeName&&a.tagName&&a.tagName.indexOf(":")<=0?(a.scopeName+":"+a.tagName).toUpperCase():a.tagName;break;case 3:j=f,l=a.nodeValue;break;case 8:j=g,l=a.nodeValue;break;default:console.log("WARNING: Unsupported node type encountered: "+a.nodeType)}var n=function(){return a},o=function(){return k},p=function(){return j},q=function(){return l};return{getNode:n,tag:o,type:p,text:q}},i=function(b,c,d,e){var f=e.createElement(b);return a.each(c,function(a,b){f.setAttribute(b,a)}),h(f,!1,d)},j=function(a,b){return h(b.createElement(a),!0)},k=function(a,b){return h(b.createComment(a),!1)},l=function(a,b){return h(b.createTextNode(a))},m=j("HTML",window.document);return{START_ELEMENT_TYPE:d,END_ELEMENT_TYPE:e,TEXT_TYPE:f,COMMENT_TYPE:g,FINISHED:m,token:h,createStartElement:i,createEndElement:j,createComment:k,createText:l}}),g("7z",["86"],function(a){var b=function(b){var c=b.createDocumentFragment(),d=c,e=function(a){g(a),c=a},f=function(){c=c.parentNode,null===c&&(c=d)},g=function(a){c.appendChild(a)},h=function(c){var d=function(a){var b=a.getNode().cloneNode(!1);e(b)},h=function(a,c){var d=b.createTextNode(a.text());g(d)};switch(c.type()){case a.START_ELEMENT_TYPE:d(c);break;case a.TEXT_TYPE:h(c);break;case a.END_ELEMENT_TYPE:f();break;case a.COMMENT_TYPE:break;default:throw{message:"Unsupported token type: "+c.type()}}};return{dom:d,receive:h,label:"SERIALISER"}};return{create:b}}),g("80",["86"],function(a){var b=function(b,c){var d;c=c||window.document,d=c.createElement("div"),c.body.appendChild(d),d.style.position="absolute",d.style.left="-10000px",d.innerHTML=b,nextNode=d.firstChild||a.FINISHED;var e=[];endNode=!1;var f=function(b,c){return b===a.FINISHED?b:b?a.token(b,c):void 0},g=function(){var b=nextNode,g=endNode;return!endNode&&nextNode.firstChild?(e.push(nextNode),nextNode=nextNode.firstChild):endNode||1!==nextNode.nodeType?nextNode.nextSibling?(nextNode=nextNode.nextSibling,endNode=!1):(nextNode=e.pop(),endNode=!0):endNode=!0,b===a.FINISHED||nextNode||(c.body.removeChild(d),nextNode=a.FINISHED),f(b,g)},h=function(){return void 0!==nextNode};return{hasNext:h,next:g}};return{tokenise:b}}),g("7j",["7z","80"],function(a,b){var c=function(a,b,c){var d,e=c;for(d=b.length-1;d>=0;d--)e=b[d](e,{},a);return e},d=function(d,e,f){for(var g=a.create(d),h=b.tokenise(e,d),i=c(d,f,g);h.hasNext();){var j=h.next();i.receive(j)}return g.dom};return{build:c,run:d}}),g("6m",["g","7i","7j","k","6h","1y","3f"],function(a,b,c,d,e,f,g){var h=function(a){return function(c){b.remover(c,a)}},i=function(a){return function(c){b.unwrapper(c,a)}},j=function(a){return function(c){b.transformer(c,a)}},k=function(){return function(a){b.validator(a)}},l=function(a){return function(b){var d=e.get(b),h=g.owner(b),i=c.run(h.dom(),d,a);f.empty(b),b.dom().appendChild(i)}},m=function(b,c,f){var g=d.fromTag("div",b.dom());return g.dom().innerHTML=c,a.each(f,function(a){a(g)}),e.get(g)},n=function(a,b){return a.indexOf("")>=0||b.browser.isSpartan()&&a.indexOf('v:shapes="')>=0||b.browser.isSpartan()&&a.indexOf("mso-")>=0||a.indexOf("mso-list")>=0||a.indexOf("p.MsoNormal, li.MsoNormal, div.MsoNormal")>=0||a.indexOf("MsoListParagraphCxSpFirst")>=0||a.indexOf("")>=0};return{removal:h,unwrapper:i,transformer:j,validate:k,pipeline:l,isWordContent:n,go:m}}),g("7l",["g","86"],function(a,b){return function(c,d,e){return function(e,f,g){var h=function(b){a.each(b,i)},i=function(a){e.receive(a)},j=function(a){c(l,a,k)},k=function(a,c){return b.token(c,a.type()===b.END_ELEMENT_TYPE,{})},l={emit:i,emitTokens:h,receive:j,document:window.document};return d(l),l}}}),g("8u",["8h","86","p","j","5d","k"],function(a,b,c,d,e,f){var g=function(a,b){var c=f.fromDom(a.getNode());return d.get(c,b)},h=function(a,b){var c=f.fromDom(a.getNode());return e.get(c,b)},i=function(a){return a.type()===b.TEXT_TYPE&&/^[\s\u00A0]*$/.test(a.text())},j=function(b){var d=f.fromDom(b.getNode()),e=a.scan(d,["mso-list"],c.constant(!1));return e["mso-list"]};return{getAttribute:g,getStyle:h,isWhitespace:i,getMsoList:j}}),g("96",["g","n"],function(a,b){var c=function(c,e){var f=a.find(c,function(a){return"UL"===a.tag||e&&d(a,e,!0)});return void 0!==f?b.some(f):c.length>0?b.some(c[0]):b.none()},d=function(a,b,c){return a===b||a&&b&&a.tag===b.tag&&a.type===b.type&&(c||a.variant===b.variant)};return{guessFrom:c,eqListType:d}}),g("8l",[],function(){var a=function(a,b){if(void 0===a||void 0===b)throw console.trace(),"brick";a.nextFilter.set(b)},b=function(b){return function(c,d,e){a(d,b)}},c=function(a,b,c){var d=b.nextFilter.get();d(a,b,c)},d=function(b){return function(d,e,f){a(e,b),c(d,e,f)}},e=function(a,b){return a.nextFilter.get()===b};return{next:a,go:c,jump:d,isNext:e,setNext:b}}),g("8t",["g","8u","96","8l","p","2c","j","k"],function(a,b,c,d,e,f,g,h){var i=function(a,b){return g.has(h.fromDom(b.getNode()),"data-list-level")},j=function(a){var b=parseInt(g.get(a,"data-list-level"),10),c=g.get(a,"data-list-emblems"),d=JSON.parse(c);return g.remove(a,"data-list-level"),g.remove(a,"data-list-emblems"),{level:e.constant(b),emblems:e.constant(d)}},k=f.immutable("level","token","type"),l=function(c){return!a.contains(["P"],c.tag())||/^MsoHeading/.test(b.getAttribute(c,"class"))},m=function(a,b,d,e){var f=d.getCurrentListType(),g=d.getCurrentLevel(),h=g==e.level()?f:null;return c.guessFrom(e.emblems(),h).filter(function(a){return!("OL"===a.tag&&l(b))})},n=function(a,b,c){var d=m(c.listType.get(),a,c.emitter,b);return d.each(c.listType.set),k(b.level(),c.originalToken.get(),c.listType.get())},o=function(a){return function(b,c,e){var f=j(h.fromDom(e.getNode()));f.level();c.originalToken.set(e);var g=n(e,f,c);c.emitter.openItem(g.level(),g.token(),g.type()),d.next(c,a.inside())}};return{predicate:i,action:o}}),g("8v",["p"],function(a){return function(b,c,d){return{pred:b,action:c,label:a.constant(d)}}}),g("8w",["g","p","n"],function(a,b,c){var d=function(a,b){return function(a,c,d){return b(a,c,d)}};return function(e,f,g){var h=d(e+" :: FALLBACK --- ",g),i=function(g,i,j){var k=c.from(a.find(f,function(a){return a.pred(i,j)})),l=k.fold(b.constant(h),function(a){var b=a.label();return void 0===b?a.action:d(e+" :: "+b,a.action)});l(g,i,j)};return i.toString=function(){return"Handlers for "+e},i}}),g("8i",["8t","86","8u","8v","8w","8l"],function(a,b,c,d,e,f){var g=function(a){var c=function(b,c,d){f.next(c,a.outside())},g=function(a,c){return c.type()===b.END_ELEMENT_TYPE&&a.originalToken.get()&&c.tag()===a.originalToken.get().tag()};return e("Inside.List.Item",[d(g,c,"Closing open tag")],function(a,b,c){a.emit(c)})},h=function(g){var h=function(a,b,c){b.emitter.closeAllLists(),a.emit(c),f.next(b,g.outside())},i=function(a,d){return d.type()===b.TEXT_TYPE&&c.isWhitespace(d)};return e("Outside.List.Item",[d(a.predicate,a.action(g),"Data List ****"),d(i,function(a,b,c){a.emit(c)},"Whitespace")],h)};return{inside:g,outside:h}}),g("97",["2c"],function(a){var b=a.immutable("state","result"),c=a.immutable("state","value"),d=a.immutable("level","type","types","items");return{state:d,value:c,result:b}}),g("9j",["97","n"],function(a,b){var c=function(c){var d=c.items().slice(0);if(d.length>0&&"P"!==d[d.length-1]){var e=d[d.length-1];d[d.length-1]="P";var f=a.state(c.level(),c.type(),c.types(),d);return a.value(f,b.some(e))}return a.value(c,b.none())},d=function(c,d){var e=c.items().slice(0),f=void 0!==d&&"P"!==d?b.some(d):b.none();f.fold(function(){e.push("P")},function(a){e.push(a)});var g=a.state(c.level(),c.type(),c.types(),e);return a.value(g,f)};return{start:d,finish:c}}),g("9k",["97"],function(a){var b=function(b,c,d){for(var e=[],f=b;c(f);){var g=d(f);f=g.state(),e=e.concat(g.result())}return a.result(f,e)},c=function(a,c,d){var e=function(a){return a.level()c};return b(a,e,d)};return{moveRight:c,moveLeft:d,moveUntil:b}}),g("9v",["8u"],function(a){var b=function(b){var c=a.getStyle(b,"margin-left");return void 0!==c&&"0px"!==c?{"margin-left":c}:{}},c=function(a){var c={"list-style-type":"none"};return a?b(a):c};return{from:c}}),g("9l",["7y","86","96","97","9j","9v","p"],function(a,b,c,d,e,f,g){var h=function(a,c,e){var f=c.start&&c.start>1?{start:c.start}:{},h=a.level()+1,i=c,j=a.types().concat([c]),k=[g.curry(b.createStartElement,c.tag,f,e)],l=d.state(h,i,j,a.items());return d.result(l,k)},i=function(a){var c=a.types().slice(0),e=[g.curry(b.createEndElement,c.pop().tag)],f=a.level()-1,h=c[c.length-1],i=d.state(f,h,c,a.items());return d.result(i,e)},j=function(a,b){var c=i(a),e=h(c.state(),b,b.type?{"list-style-type":b.type}:{});return d.result(e.state(),c.result().concat(e.result()))},k=function(h,i,k){var l={},m=f.from(i),n=h.type()&&!c.eqListType(h.type(),k)?j(h,k):d.result(h,[]),o=[g.curry(b.createStartElement,"LI",l,m)],p=e.start(n.state(),i&&i.tag()),q=p.value().map(function(b){return a.styleDom(i.getNode(),g.constant(!0)),[g.constant(i)]}).getOr([]);return d.result(p.state(),n.result().concat(o).concat(q))},l=function(a){var c=g.curry(b.createEndElement,"LI"),f=e.finish(a),h=f.value().fold(function(){return[c]},function(a){return[g.curry(b.createEndElement,a),c]});return d.result(f.state(),h)};return{open:h,openItem:k,close:i,closeItem:l}}),g("98",["g","86","97","9j","9k","9l","p","n"],function(a,b,c,d,e,f,g,h){var i=function(b){if(0===b.length)throw"Compose must have at least one element in the list";var d=b[b.length-1],e=a.bind(b,function(a){return a.result()});return c.result(d.state(),e)},j=function(a){var b=f.closeItem(a),c=f.close(b.state());return i([b,c])},k=function(a,b,c,d){var e=a.level()===c-1&&b.type?{"list-style-type":b.type}:{},g=f.open(a,b,e),h=f.openItem(g.state(),g.state().level()==c?d:void 0,b);return i([g,h])},l=function(a,b,d){var e=a.level()>0?f.closeItem(a):c.result(a,[]),g=f.openItem(e.state(),d,b);return i([e,g])},m=function(a,b,c,d){return e.moveRight(a,c,function(a){return k(a,b,c,d)})},n=function(a,b){return e.moveLeft(a,b,j)},o=function(a,e,f,i){var j=f>1?d.finish(a):c.value(a,h.none()),k=j.value().map(function(a){return[g.curry(b.createEndElement,a)]}).getOr([]),l=(f-j.state().level(),m(j.state(),e,f,i));return c.result(l.state(),k.concat(l.result()))},p=function(a,b,d,e){var f=a.level()>b?n(a,b):c.result(a,[]),g=f.state().level()===b?l(f.state(),e,d):o(f.state(),e,b,d);return i([f,g])},q=n;return{openItem:p,closeAllLists:q}}),g("8x",["g","97","98"],function(a,b,c){var d=["disc","circle","square"],e=function(a,b){return"UL"===a.tag&&d[b-1]===a.type&&(a={tag:"UL"}),a};return function(d,f){var g=b.state(0,void 0,[],[]),h=function(b){a.each(b.result(),function(a){var b=a(f);d.emit(b)})},i=function(){var a=c.closeAllLists(g,0);g=a.state(),h(a)},j=function(a,b,d){if(d){var f=e(d,a),i=c.openItem(g,a,b,f);g=i.state(),h(i)}},k=function(){return g.level()},l=function(){return g.type()};return{closeAllLists:i,openItem:j,getCurrentListType:l,getCurrentLevel:k}}}),g("z",[],function(){var a=function(b){var c=b,d=function(){return c},e=function(a){c=a},f=function(){return a(d())};return{get:d,set:e,clone:f}};return a}),g("8j",["8x","p","z"],function(a,b,c){var d={getCurrentListType:function(){return e().getCurrentListType()},getCurrentLevel:function(){return e().getCurrentLevel()},closeAllLists:function(){return e().closeAllLists.apply(void 0,arguments)},openItem:function(){return e().openItem.apply(void 0,arguments)}},e=function(){return{getCurrentListType:b.constant({}),getCurrentLevel:b.constant(1),closeAllLists:b.identity,openItem:b.identity}};return function(f){var g=c(f),h=c(null),i=c(null),j=function(c){g.set(f),h.set(null),i.set(null),_emitter=a(c,c.document),e=b.constant(_emitter)};return{reset:j,nextFilter:g,originalToken:h,listType:i,emitter:d}}}),g("8k",["86"],function(a){return function(){var b=!1,c="",d=function(d){return b&&d.type()===a.TEXT_TYPE?(c+=d.text(),!0):d.type()===a.START_ELEMENT_TYPE&&"STYLE"===d.tag()?(b=!0,!0):d.type()===a.END_ELEMENT_TYPE&&"STYLE"===d.tag()&&(b=!1,!0)};return{check:d}}}),g("81",["7l","8i","8j","8k","8l","1g"],function(a,b,c,d,e,f){var g={inside:function(){return i},outside:function(){return j}},h=d(),i=b.inside(g),j=b.outside(g),k=c(j);return a(function(a,b,c){h.check(b)||e.go(a,k,b)},k.reset,"list.filters")}),h("8o",parseInt),g("8y",["g","1l","64","8o"],function(a,b,c,d){var e=[{regex:/^\(?[dc][\.\)]$/,type:{tag:"OL",type:"lower-alpha"}},{regex:/^\(?[DC][\.\)]$/,type:{tag:"OL",type:"upper-alpha"}},{regex:/^\(?M*(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})[\.\)]$/,type:{tag:"OL",type:"upper-roman"}},{regex:/^\(?m*(cm|cd|d?c{0,3})(xc|xl|l?x{0,3})(ix|iv|v?i{0,3})[\.\)]$/,type:{tag:"OL",type:"lower-roman"}},{regex:/^\(?[0-9]+[\.\)]$/,type:{tag:"OL"}},{regex:/^([0-9]+\.)*[0-9]+\.?$/,type:{tag:"OL",variant:"outline"}},{regex:/^\(?[a-z]+[\.\)]$/,type:{tag:"OL",type:"lower-alpha"}},{regex:/^\(?[A-Z]+[\.\)]$/,type:{tag:"OL",type:"upper-alpha"}}],f={"\u2022":{tag:"UL",type:"disc"},"\xb7":{tag:"UL",type:"disc"},"\xa7":{tag:"UL",type:"square"}},g={o:{tag:"UL",type:"circle"},"-":{tag:"UL",type:"disc"},"\u25cf":{tag:"UL",type:"disc"},"\ufffd":{tag:"UL",type:"circle"}},h=function(a,b){return void 0!==a.variant?a.variant:"("===b.charAt(0)?"()":")"===b.charAt(b.length-1)?")":"."},i=function(a){var b=a.split("."),e=function(){if(0===b.length)return a;var c=b[b.length-1];return 0===c.length&&b.length>1?b[b.length-2]:c}(),f=d(e,10);return c(f)?{}:{start:f}},j=function(c,d){var j=g[c]?[g[c]]:[],k=d&&f[c]?[f[c]]:d?[{tag:"UL",variant:c}]:[],l=a.bind(e,function(a){return a.regex.test(c)?[b.merge(a.type,i(c),{variant:h(a.type,c)})]:[]}),m=j.concat(k).concat(l);return a.map(m,function(a){return void 0!==a.variant?a:b.merge(a,{variant:c})})};return{extract:j}}),g("7o",[],function(){var a=function(a){return a.dom().textContent},b=function(a,b){a.dom().textContent=b};return{get:a,set:b}}),g("8m",["g","8y","8h","p","n","5d","6h","1d","6r","7o","3f","62","64","8o"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n){var o=18,p=function(a){var b=c.scan(a,["mso-list"],d.constant(!1));return b["mso-list"]},q=function(a){var b=p(a),c=/ level([0-9]+)/.exec(b);return c&&c[1]?e.some(n(c[1],10)):e.none()},r=function(a,c){var d=j.get(a).trim(),f=b.extract(d,c);return f.length>0?e.some(f):e.none()},s=function(a){return i.child(a,v)},t=function(a){return i.child(a,h.isComment).bind(k.nextSibling).filter(function(a){return"span"===h.name(a)})},u=function(a){return i.descendant(a,function(a){var b=h.isElement(a)?c.scan(a,["mso-list"],d.constant(!1)):[];return!!b["mso-list"]})},v=function(b){return h.isElement(b)&&f.getRaw(b,"font-family").exists(function(b){return a.contains(["wingdings","symbol"],b.toLowerCase())})},w=function(a){return f.getRaw(a,"margin-left").bind(function(a){var b=n(a,10);return m(b)?e.none():e.some(l.max(1,l.ceil(b/o)))})};return{getMsoList:p,extractLevel:q,extractEmblem:r,extractSymSpan:s,extractMsoIgnore:u,extractCommentSpan:t,isSymbol:v,deduceLevel:w}}),h("8n",JSON),g("82",["g","8m","n","j","7r","1d","1y","3f","8n","8o"],function(a,b,c,d,e,f,g,h,i,j){var k=function(a,b,c){d.set(a,"data-list-level",b);var e=i.stringify(c);d.set(a,"data-list-emblems",e)},l=function(b){var d=e.find(b,c.none());a.each(d,g.remove)},m=function(b,c,e,f){k(b,c,e),l(b),a.each(f,g.remove),d.remove(b,"style"),d.remove(b,"class")},n=function(a){return b.extractLevel(a).bind(function(c){return b.extractSymSpan(a).bind(function(d){return b.extractEmblem(d,!0).map(function(b){var e=function(){m(a,c,b,[d])};return{mutate:e}})})})},o=function(a){return b.extractLevel(a).bind(function(c){return b.extractCommentSpan(a).bind(function(d){return b.extractEmblem(d,b.isSymbol(d)).map(function(b){var e=function(){m(a,c,b,[d])};return{mutate:e}})})})},p=function(a){return b.extractLevel(a).bind(function(c){return b.extractCommentSpan(a).bind(function(d){return b.extractEmblem(d,b.isSymbol(d)).map(function(b){var e=function(){m(a,c,b,[d])};return{mutate:e}})})})},q=function(a){return"p"!==f.name(a)?c.none():b.extractLevel(a).bind(function(c){return b.extractMsoIgnore(a).bind(function(d){return b.extractEmblem(d,!1).map(function(b){var e=function(){m(a,c,b,[h.parent(d).getOr(d)])};return{mutate:e}})})})},r=function(a){return"p"!==f.name(a)?c.none():b.extractMsoIgnore(a).bind(function(c){var d=h.parent(c).getOr(c),e=b.isSymbol(d);return b.extractEmblem(c,e).bind(function(c){return b.deduceLevel(a).map(function(b){var e=function(){m(a,b,c,[d])};return{mutate:e}})})})},s=function(a){return n(a).orThunk(function(){return o(a)}).orThunk(function(){return p(a)}).orThunk(function(){return q(a)}).orThunk(function(){return r(a)})};return{find:s}}),g("7k",["6m","81","82","83"],function(a,b,c,d){var e=a.transformer({tags:[{name:d.pattern(/^(p|h\d+)$/),mutate:function(a){c.find(a).each(function(a){a.mutate()})}}]});return{filter:b,preprocess:e}}),g("6n",["6r"],function(a){var b=function(b){return a.first(b).isSome()},c=function(b,c,d){return a.ancestor(b,c,d).isSome()},d=function(b,c,d){return a.closest(b,c,d).isSome()},e=function(b,c){return a.sibling(b,c).isSome()},f=function(b,c){return a.child(b,c).isSome()},g=function(b,c){return a.descendant(b,c).isSome()};return{any:b,ancestor:c,closest:d,sibling:e,child:f,descendant:g}}),g("84",["g","j","6h","1d","6n"],function(a,b,c,d,e){var f=function(a){return"img"!==d.name(a)},g=function(a){var b=a.dom().attributes,c=void 0!==b&&null!==b&&b.length>0;return"span"!==d.name(a)||c},h=function(b){return!k(b)||g(b)&&e.descendant(b,function(b){var c=!k(b),e=!a.contains(["font","em","strong","samp","acronym","cite","code","dfn","kbd","tt","b","i","u","s","sub","sup","ins","del","var","span"],d.name(b));return d.isText(b)||c||e})},i=function(a){return"ol"===d.name(a)||"ul"===d.name(a)},j=function(a){var c=b.get(a,"src");return/^file:/.test(c)},k=function(a){return void 0===a.dom().attributes||null===a.dom().attributes||(0===a.dom().attributes.length||1===a.dom().attributes.length&&"style"===a.dom().attributes[0].name)},l=function(a){return 0===c.get(a).length};return{isNotImage:f,hasContent:h,isList:i,isLocal:j,hasNoAttributes:k,isEmpty:l}}),g("8p",["1d","7s"],function(a,b){var c=b(a.isText,"text"),d=function(a){return c.get(a)},e=function(a){return c.getOption(a)},f=function(a,b){c.set(a,b)};return{get:d,getOption:e,set:f}}),g("85",["g","1c","n","j","5d","k","6h","1x","29","1d","1y","8p","3f"],function(a,b,c,d,e,f,g,h,i,j,k,l,m){var n=function(b,c){var d=f.fromTag(b);h.before(c,d);var e=c.dom().attributes;a.each(e,function(a){d.dom().setAttribute(a.name,a.value)});var g=m.children(c); +return i.append(d,g),k.remove(c),d},o=function(a){0===g.get(a).length&&h.append(a,f.fromTag("br"))},p=function(a){return m.prevSibling(a).bind(function(a){return j.isText(a)&&0===l.get(a).trim().length?p(a):"li"===j.name(a)?c.some(a):c.none()})},q=function(b){m.parent(b).each(function(c){var d=j.name(c);a.contains(["ol","ul"],d)&&p(b).fold(function(){var a=f.fromTag("li");e.set(a,"list-style-type","none"),h.wrap(b,a)},function(a){h.append(a,b)})})},r=function(a){var c=n("span",a),f={face:"font-family",size:"font-size",color:"color"},g={"font-size":{1:"8pt",2:"10pt",3:"12pt",4:"14pt",5:"18pt",6:"24pt",7:"36pt"}};b.each(f,function(a,b){if(d.has(c,b)){var f=d.get(c,b),h=void 0!==g[a]&&void 0!==g[a][f]?g[a][f]:f;e.set(c,a,h),d.remove(c,b)}})};return{changeTag:n,addBrTag:o,properlyNest:q,fontToSpan:r}}),g("7h",["7w","6m","7k","84","85","p","27","5d","3f","1d","83"],function(a,b,c,d,e,f,g,h,i,j,k){var l=b.unwrapper({tags:[{name:k.pattern(/^([OVWXP]|U[0-9]+|ST[0-9]+):/i)}]}),m=[b.pipeline([c.filter])],n=b.removal({attributes:[{name:k.pattern(/^v:/)},{name:k.exact("href"),value:k.contains("#_toc")},{name:k.exact("href"),value:k.contains("#_mso")},{name:k.pattern(/^xmlns(:|$)/)},{name:k.exact("type"),condition:d.isList}]}),o=b.removal({attributes:[{name:k.exact("id")},{name:k.exact("name")}]}),p=b.removal({tags:[{name:k.exact("script")},{name:k.exact("meta")},{name:k.exact("link")},{name:k.exact("style"),condition:d.isEmpty}],attributes:[{name:k.starts("on")},{name:k.exact('"')},{name:k.exact("lang")},{name:k.exact("language")}],styles:[{name:k.all(),value:k.pattern(/OLE_LINK/i)}]}),q=function(a){return!g.has(a,"ephox-limbo-transform")},r=function(a){return function(b){return i.parent(b).exists(function(b){return j.name(b)===a&&1===i.children(b).length})}},s=b.removal({styles:[{name:k.not(k.pattern(/width|height|list-style-type/)),condition:q},{name:k.pattern(/width|height/),condition:d.isNotImage}]}),t=b.removal({classes:[{name:k.not(k.exact("rtf-data-image"))}]}),u=b.removal({styles:[{name:k.pattern(a.validStyles())}]}),v=b.removal({classes:[{name:k.pattern(/mso/i)}]}),w=b.unwrapper({tags:[{name:k.exact("img"),condition:d.isLocal},{name:k.exact("a"),condition:d.hasNoAttributes}]}),x=b.unwrapper({tags:[{name:k.exact("a"),condition:d.hasNoAttributes}]}),y=b.removal({attributes:[{name:k.exact("style"),value:k.exact(""),debug:!0}]}),z=b.removal({attributes:[{name:k.exact("class"),value:k.exact(""),debug:!0}]}),A=b.unwrapper({tags:[{name:k.pattern(a.specialInline()),condition:f.not(d.hasContent)}]}),B=b.unwrapper({tags:[{name:k.exact("p"),condition:r("li")}]}),C=b.transformer({tags:[{name:k.exact("p"),mutate:e.addBrTag}]}),D=function(a){var b=e.changeTag("span",a);g.add(b,"ephox-limbo-transform"),h.set(b,"text-decoration","underline")},E=b.transformer({tags:[{name:k.pattern(/ol|ul/),mutate:e.properlyNest}]}),F=b.transformer({tags:[{name:k.exact("b"),mutate:f.curry(e.changeTag,"strong")},{name:k.exact("i"),mutate:f.curry(e.changeTag,"em")},{name:k.exact("u"),mutate:D},{name:k.exact("s"),mutate:f.curry(e.changeTag,"strike")},{name:k.exact("font"),mutate:e.fontToSpan,debug:!0}]}),G=b.removal({classes:[{name:k.exact("ephox-limbo-transform")}]}),H=b.removal({attributes:[{name:k.exact("href"),value:k.starts("file:///"),debug:!0}]});return{unwrapWordTags:l,removeWordAttributes:n,parseLists:m,removeExcess:p,cleanStyles:s,cleanClasses:t,mergeStyles:u,mergeClasses:v,removeLocalImages:w,removeVacantLinks:x,removeEmptyStyle:y,removeEmptyClass:z,pruneInlineTags:A,unwrapSingleParagraphsInlists:B,addPlaceholders:C,nestedListFixes:E,inlineTagFixes:F,cleanupFlags:G,removeLocalLinks:H,removeAnchors:o,none:f.noop}}),g("6k",["g","5a","7h","6m","7k","7l","p","k"],function(a,b,c,d,e,f,g,h){var i=function(a){return a.browser.isIE()&&a.browser.version.major>=11},j=function(a){return f(function(b,c,d){var e=a(h.fromDom(c.getNode())).fold(function(){return c},function(a){return d(c,a.dom())});b.emit(e)},g.noop,"image filters")},k=function(a,e,f){var g=f.browser.isFirefox()||f.browser.isSpartan()?b.local:b.vshape,h=i(f)?c.none:d.pipeline([j(g)]),k=g===b.local?c.none:c.removeLocalImages,l=a?h:c.none;return{annotate:[l],local:[k]}},l=function(a,b){var d=i(b)&&a;return d?[c.unwrapSingleParagraphsInlists]:[]},m=function(a,b,d){var e=[c.mergeStyles,c.mergeClasses],f=[c.cleanStyles,c.cleanClasses];return b?e:f},n=function(a,b,c){return i(c)||!a?[]:[e.preprocess]},o=function(a,b,d){if(!a)return[c.none];var e=[c.unwrapWordTags],f=i(d)?[]:c.parseLists;return e.concat(f).concat([c.removeWordAttributes])},p=function(a,b,d){return a?[c.removeAnchors]:[c.none]},q=function(b,d,e){var f=k(b,d,e);return a.flatten([n(b,d,e),f.annotate,[c.inlineTagFixes],o(b,d,e),[c.nestedListFixes],[c.removeExcess],p(b,d,e),f.local,m(b,d,e),[c.removeLocalLinks,c.removeVacantLinks],[c.removeEmptyStyle],[c.removeEmptyClass],[c.pruneInlineTags],[c.addPlaceholders],l(b,e),[c.cleanupFlags]])};return{derive:q}}),g("8q",[],function(){return["body","p","div","article","aside","figcaption","figure","footer","header","nav","section","ol","ul","li","table","thead","tbody","tfoot","caption","tr","td","th","h1","h2","h3","h4","h5","h6","blockquote","pre","address"]}),g("87",["8q","g","p","j","3n","5d","k","1x","29","1d","3o","6r","1y","2a","20","8p","3f"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){return function(){var r=function(a){return g.fromDom(a.dom().cloneNode(!1))},s=function(c){return!!j.isElement(c)&&("body"===j.name(c)||b.contains(a,j.name(c)))},t=function(a){return!!j.isElement(a)&&b.contains(["br","img","hr"],j.name(a))},u=function(a,b){return a.dom().compareDocumentPosition(b.dom())},v=function(a,b){var c=d.clone(a);d.setAll(b,c)};return{up:c.constant({selector:o.ancestor,closest:o.closest,predicate:l.ancestor,all:q.parents}),down:c.constant({selector:n.descendants,predicate:k.descendants}),styles:c.constant({get:f.get,getRaw:f.getRaw,set:f.set,remove:f.remove}),attrs:c.constant({get:d.get,set:d.set,remove:d.remove,copyTo:v}),insert:c.constant({before:h.before,after:h.after,afterAll:i.after,append:h.append,appendAll:i.append,prepend:h.prepend,wrap:h.wrap}),remove:c.constant({unwrap:m.unwrap,remove:m.remove}),create:c.constant({nu:g.fromTag,clone:r,text:g.fromText}),query:c.constant({comparePosition:u,prevSibling:q.prevSibling,nextSibling:q.nextSibling}),property:c.constant({children:q.children,name:j.name,parent:q.parent,isText:j.isText,isElement:j.isElement,getText:p.get,setText:p.set,isBoundary:s,isEmptyTag:t}),eq:e.eq,is:e.is}}}),g("8z",["2c"],function(a){return a.immutable("word","pattern")}),g("90",["2c"],function(a){var b=a.immutable("element","offset"),c=a.immutable("element","deltaOffset"),d=a.immutable("element","start","finish"),e=a.immutable("begin","end"),f=a.immutable("element","text");return{point:b,delta:c,range:d,points:e,text:f}}),g("9n",["p","n"],function(a,b){var c=a.constant(!1),d=a.constant(!0),e=function(a,b){return h(function(c,d,e){return c(a,b)})},f=function(a,b){return h(function(c,d,e){return d(a,b)})},g=function(a,b){return h(function(c,d,e){return e(a,b)})},h=function(e){var f=function(){return e(d,c,c)},g=function(){return e(b.none,b.none,function(a,c){return b.some(a)})},h=function(a){return e(c,c,function(b,c){return c.eq(b,a)})},i=function(){return e(a.constant(0),a.constant(1),function(a,b){return b.property().getText(a).length})};return{isBoundary:f,fold:e,toText:g,is:h,len:i}},i=function(a,b,c,d){return a.fold(b,c,d)};return{text:g,boundary:e,empty:f,cata:i}}),g("9o",["g","p"],function(a,b){var c=function(c,d,e,f){var g=a.findIndex(c,b.curry(f,d)),h=g>-1?g:0,i=a.findIndex(c,b.curry(f,e)),j=i>-1?i+1:c.length;return c.slice(h,j)};return{boundAt:c}}),g("9p",["g"],function(a){var b=function(b,c){var d=a.findIndex(b,c);return b.slice(0,d)};return{sliceby:b}}),g("9r",["1m"],function(a){var b=a.generate([{include:["item"]},{excludeWith:["item"]},{excludeWithout:["item"]}]),c=function(a,b,c,d){return a.fold(b,c,d)};return{include:b.include,excludeWith:b.excludeWith,excludeWithout:b.excludeWithout,cata:c}}),g("9q",["g","9r"],function(a,b){var c=function(a,c){return d(a,function(a){return c(a)?b.excludeWithout(a):b.include(a)})},d=function(c,d){var e=[],f=[];return a.each(c,function(a){var c=d(a);b.cata(c,function(){f.push(a)},function(){f.length>0&&e.push(f),e.push([a]),f=[]},function(){f.length>0&&e.push(f),f=[]})}),f.length>0&&e.push(f),e};return{splitby:c,splitbyAdv:d}}),g("9b",["9o","9p","9q"],function(a,b,c){var d=function(b,c,d,e){return a.boundAt(b,c,d,e)},e=function(a,b){return c.splitby(a,b)},f=function(a,b){return c.splitbyAdv(a,b)},g=function(a,c){return b.sliceby(a,c)};return{splitby:e,splitbyAdv:f,sliceby:g,boundAt:d}}),g("92",["g","p","n","90","9b"],function(a,b,c,d,e){var f=function(b){return a.foldr(b,function(a,b){return b.len()+a},0)},g=function(a,b){return e.sliceby(a,function(a){return a.is(b)})},h=function(a,b){return a.fold(c.none,function(a){return c.some(d.range(a,b,b+1))},function(e){return c.some(d.range(e,b,b+a.len()))})},i=function(c){return a.bind(c,function(a){return a.fold(b.constant([]),b.constant([]),function(a){return[a]})})};return{count:f,dropUntil:g,gen:h,justText:i}}),g("9w",["g","90","9n","92"],function(a,b,c,d){var e=function(b,d,f){if(b.property().isText(d))return[c.text(d,b)];if(b.property().isEmptyTag(d))return[c.empty(d,b)];if(b.property().isElement(d)){var g=b.property().children(d),h=b.property().isBoundary(d)?[c.boundary(d,b)]:[],i=void 0!==f&&f(d)?[]:a.bind(g,function(a){return e(b,a,f)});return h.concat(i).concat(h)}return[]},f=function(b,c,d){var f=e(b,c,d),g=function(a,b){return a};return a.map(f,function(a){return a.fold(g,g,g)})},g=function(a,c,f,g,h){var i=e(a,g,h),j=d.dropUntil(i,c),k=d.count(j);return b.point(g,k+f)},h=function(a,c,d,e){return a.property().parent(c).fold(function(){return b.point(c,d)},function(b){return g(a,c,d,b,e)})},i=function(a,c,d,e,f){return a.up().predicate(c,e).fold(function(){return b.point(c,d)},function(b){return g(a,c,d,b,f)})};return{typed:e,items:f,extractTo:i,extract:h}}),g("9x",["g","p","9w"],function(a,b,c){var d="\n",e=" ",f=function(a,b){return"img"===b.property().name(a)?e:d},g=function(e,g,h){var i=c.typed(e,g,h);return a.map(i,function(a){return a.fold(b.constant(d),f,e.property().getText)}).join("")};return{from:g}}),g("9d",["g","p"],function(a,b){var c=function(c,d,e){var f={len:void 0!==e?e:0,list:[]},g=a.foldl(c,function(a,c){var e=d(c,a.len);return e.fold(b.constant(a),function(b){return{len:b.finish(),list:a.list.concat([b])}})},f);return g.list};return{make:c}}),g("9e",["g","n"],function(a,b){var c=function(a,b){return b>=a.start()&&b<=a.finish()},d=function(d,e){var f=a.find(d,function(a){return c(a,e)});return b.from(f)},e=function(b,c){return a.findIndex(b,function(a){return a.start()===c})},f=function(a,b){var c=a[a.length-1]&&a[a.length-1].finish()===b;return c?a.length+1:-1},g=function(a,b,c){var d=e(a,b),g=e(a,c),h=g>-1?g:f(a,c);return d>-1&&h>-1?a.slice(d,h):[]},h=function(c,d){return b.from(a.find(c,d))};return{get:d,find:h,inUnit:c,sublist:g}}),g("9g",["g","1l","p"],function(a,b,c){var d=function(d,e){return a.map(d,function(a){return b.merge(a,{start:c.constant(a.start()+e),finish:c.constant(a.finish()+e)})})};return{translate:d}}),g("9f",["g","9e","9g"],function(a,b,c){var d=function(a,b,d){var e=d(a,b);return c.translate(e,a.start())},e=function(c,e,f){return 0===e.length?c:a.bind(c,function(c){var g=a.bind(e,function(a){return b.inUnit(c,a)?[a-c.start()]:[]});return g.length>0?d(c,g,f):[c]})};return{splits:e}}),g("94",["9d","9e","9f","9g"],function(a,b,c,d){var e=function(b,c,d){return a.make(b,c,d)},f=function(a,c){return b.get(a,c)},g=function(a,c){return b.find(a,c)},h=function(a,b,d){return c.splits(a,b,d)},i=function(a,b){return d.translate(a,b)},j=function(a,c,d){return b.sublist(a,c,d)};return{generate:e,get:f,find:g,splits:h,translate:i,sublist:j}}),g("9y",["90","9w","92","94"],function(a,b,c,d){var e=function(e,f,g,h){var i=b.typed(e,f,h),j=d.generate(i,c.gen),k=d.get(j,g);return k.map(function(b){return a.point(b.element(),g-b.start())})};return{find:e}}),g("9m",["9w","9x","9y"],function(a,b,c){var d=function(b,c,d){return a.typed(b,c,d)},e=function(b,c,d){return a.items(b,c,d)},f=function(b,c,d,e){return a.extract(b,c,d,e)},g=function(b,c,d,e,f){return a.extractTo(b,c,d,e,f)},h=function(a,b,d,e){return c.find(a,b,d,e)},i=function(a,c,d){return b.from(a,c,d)};return{extract:f,extractTo:g,all:e,from:d,find:h,toText:i}}),g("99",["g","9m","9n","9b","9r"],function(a,b,c,d,e){var f=function(f,g,h){var i=a.bind(g,function(a){return b.from(f,a,h)}),j=d.splitbyAdv(i,function(a){return c.cata(a,function(){return e.excludeWithout(a)},function(){return e.excludeWith(a)},function(){return e.include(a)})});return a.filter(j,function(a){return a.length>0})};return{group:f}}),g("9s",["g","n"],function(a,b){var c=function(c,d,e){var f=[d].concat(c.up().all(d)),g=[e].concat(c.up().all(e)),h=a.find(f,function(b){return a.exists(g,function(a){return c.eq(a,b)})});return b.from(h)};return{common:c}}),g("9t",["g"],function(a){var b=["table","tbody","thead","tfoot","tr","ul","ol"];return function(c){var d=c.property(),e=function(b,c){return d.parent(b).map(d.name).map(function(b){return!a.contains(c,b)}).getOr(!1)},f=function(a){return d.isText(a)&&e(a,b)};return{validateText:f}}}),g("9a",["g","p","9m","9s","9t"],function(a,b,c,d,e){var f=function(c,d,e){return a.findIndex(d,b.curry(c.eq,e))},g=function(a,b,c,d,e){return b-1&&o>-1?g(m,n,j,o,l):[],q=e(h);return a.filter(p,q.validateText)})};return{range:h}}),g("91",["99","9a"],function(a,b){var c=function(a,c,d,e,f){return b.range(a,c,d,e,f)},d=function(b,c,d){return a.group(b,c,d)};return{range:c,group:d}}),g("9z",[],function(){var a=function(a){var b=/^[a-zA-Z]/.test(a)?"":"e",c=a.replace(/[^\w]/gi,"-");return b+c};return{css:a}}),g("a0",["g"],function(a){var b=function(b,c){if(0===c.length)return[b];var d=a.foldl(c,function(a,c){if(0===c)return a;var d=b.substring(a.prev,c);return{prev:c,values:a.values.concat([d])}},{prev:0,values:[]}),e=c[c.length-1];return e0});if(j.length<=1)return[c.range(g,0,i.length)];f.property().setText(g,j[0]);var k=d.generate(j.slice(1),function(a,d){var e=f.create().text(a),g=c.range(e,d,d+a.length);return b.some(g)},j[0].length),l=a.map(k,function(a){return a.element()});return f.insert().afterAll(g,l),[c.range(g,0,j[0].length)].concat(k)};return{subdivide:f}}),g("93",["g","p","9c","94"],function(a,b,c,d){var e=function(e,f,g){var h=a.bind(g,function(a){return[a.start(),a.finish()]}),i=function(a,b){return c.subdivide(e,a.element(),b)},j=d.splits(f,h,i),k=function(c){var f=d.sublist(j,c.start(),c.finish()),g=a.map(f,function(a){return a.element()}),h=a.map(g,e.property().getText).join("");return{elements:b.constant(g),word:c.word,exact:b.constant(h)}};return a.map(g,k)};return{separate:e}}),g("8s",[],function(){var a=function(){return"\ufeff"};return{zeroWidth:a}}),g("89",["8s","p"],function(a,b){var c="\\w'\\-\\u0100-\\u017F\\u00C0-\\u00FF"+a.zeroWidth()+"\\u2018\\u2019",d="[^"+c+"]",e="["+c+"]";return{chars:b.constant(c),wordbreak:b.constant(d),wordchar:b.constant(e)}}),g("8a",["4v"],function(a){return function(b,c,d,e){var f=function(){return new a(b,e.getOr("g"))};return{term:f,prefix:c,suffix:d}}}),g("8c",["p","n","89","8a"],function(a,b,c,d){var e=function(c){return d(c,a.constant(0),a.constant(0),b.none())},f=function(a){var e="((?:^'?)|(?:"+c.wordbreak()+"+'?))"+a+"((?:'?$)|(?:'?"+c.wordbreak()+"+))",f=function(a){return a.length>1?a[1].length:0},g=function(a){return a.length>2?a[2].length:0};return d(e,f,g,b.none())};return{token:e,word:f}}),g("8b",["8c"],function(a){var b=function(a){return a.replace(/[-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},c=function(c){var d=b(c);return a.word(d)},d=function(c){var d=b(c);return a.token(d)};return{sanitise:b,word:c,token:d}}),g("7n",["89","8a","8b","8c"],function(a,b,c,d){var e=function(a){return c.word(a)},f=function(a){return c.token(a)},g=function(a,c,d,e){return b(a,c,d,e)},h=function(a){return d.word(a)},i=function(a){return d.token(a)},j=function(a){return c.sanitise(a)},k=function(){return a.chars()},l=function(){return a.wordbreak()},m=function(){return a.wordchar()};return{safeword:e,safetoken:f,custom:g,unsafeword:h,unsafetoken:i,sanitise:j,chars:k,wordbreak:l,wordchar:m}}),g("9h",["p"],function(a){var b=function(b,c){for(var d=c.term(),e=[],f=d.exec(b);f;){var g=f.index+c.prefix(f),h=f[0].length-c.prefix(f)-c.suffix(f);e.push({start:a.constant(g),finish:a.constant(g+h)}),d.lastIndex=g+h,f=d.exec(b)}return e};return{all:b}}),g("9i",["g","1l","9h","12"],function(a,b,c,d){var e=function(a){var b=d.prototype.slice.call(a,0);return b.sort(function(a,b){return a.start()=q&&b<=r},x=function(b){a.each(b,function(a){k.isElement(a)&&g.getRaw(a,"position").isSome()&&g.remove(a,"position")})},y=function(b){var c=a.filter(b,function(a){return"li"===k.name(a)});if(c.length>0){var d=n.prevSiblings(c[0]),e=h.fromTag("ul");if(i.before(b[0],e),d.length>0){var f=h.fromTag("li");i.append(e,f),j.append(f,d)}j.append(e,c)}};return{links:v,position:x,list:y}}),g("55",["g","6k","6l","6m","6h","3f"],function(a,b,c,d,e,f){var g=function(b){var d=f.children(b);a.each([c.links,c.position,c.list],function(a){a(d)})},h=function(a,c,f,h,i){g(f);var j=e.get(f),k=b.derive(i,h,c);return d.go(a,j,k)};return{go:h,preprocess:g}}),g("6i",["4q","4r","4y","2w","2t","55","2f","28","1f"],function(a,b,c,d,e,f,g,h,i){var j=e.detect(),k=function(a,b,c,d){try{var e=f.go(a,j,b,c,d),k=void 0!==e&&null!==e&&e.length>0,l=k?h.fromHtml(e):[];return g.value(l)}catch(m){return i.error(m),g.error("errors.paste.process.failure")}},l=function(e,f,g,h,i){var j=k(e,f,h,g);return j.fold(function(b){return a.error(b)},function(e){return a.sync(function(f){i.get(function(g){var h=c.findImages(e,g);a.call(f,{response:d.paste(e,g,h),bundle:b.nu({})})})})})};return{transfer:l}}),g("53",["6i","g","o","n","1y","3f"],function(a,b,c,d,e,f){var g=function(b,c,d,e,f){return a.transfer(b,c,e,d,f)},h=function(g,h,i){var j=!1,k=!0,l=function(a,b){return void 0===h||b?d.none():h.findClipboardTags(f.children(a))},m=l(i,j).getOr([]);b.each(m,e.remove);var n=c.nu(function(a){a([])});return a.transfer(g,i,j,k,n)};return{internal:h,external:g}}),g("6j",["g","k","6h","7o"],function(a,b,c,d){var e=function(a){var e=b.fromTag("div");return d.set(e,a),c.get(e)},f=function(b){var c=b.trim().split(/\n{2,}|(?:\r\n){2,}/),d=a.map(c,function(a){return a.split(/\n|\r\n/).join("
")});return 1===d.length?d[0]:a.map(d,function(a){return"

"+a+"

"}).join("")};return{encode:e,convert:f}}),g("54",["4q","6j","4r","31","2w","n","23","28","11"],function(a,b,c,d,e,f,g,h,i){var j=function(a){return a.length>0},k=function(a){return d.isValidData(a)?g.findMap(a.types,function(b){return"text/plain"===b?f.some(a.getData(b)):f.none()}):f.none()},l=function(){var a=i.clipboardData;return void 0!==a?f.some(a.getData("text")):f.none()},m=function(a){var c=b.encode(a),d=b.convert(c),f=h.fromHtml(d);return e.paste(f,[],[])},n=function(b){return a.sync(function(f){var g=d.isValidData(b)?k:l,h=g(b).filter(j).fold(e.cancel,m);a.call(f,{response:h,bundle:c.nu({})})})};return{handle:n}}),g("34",["4q","4r","4z","51","52","53","54","2w","2t","55","p","k","29","3f","1f"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){var p=i.detect(),q=function(a,b,c){return g.handle(a)},r=function(b,c){var d=function(b,d,e){var f=l.fromTag("div");m.append(f,b),j.preprocess(f);var g=n.children(f);return a.pure({response:h.paste(g,d,e),bundle:c.bundle()})},e=k.curry(a.pass,c);return h.cata(c.response(),e,d,e,d)},s=function(a,b){return function(d,e){var g=e.bundle();return c.proxyBin(g).handle("There was no proxy bin setup. Ensure you have run proxyStep first.",function(c){var d=n.owner(a);return f.internal(d,b,c)})}},t=function(a,b){return function(d,e){var g=e.bundle();return c.proxyBin(g).handle("There was no proxy bin setup. Ensure you have run proxyStep first.",function(d){var e=c.merging(g),h=c.isWord(g),i=c.isInternal(g),j=c.backgroundAssets(g),k=n.owner(a);return i?f.internal(k,b,d):f.external(k,d,e,h,j)})}},u=function(){return function(b,c){return a.error("errors.local.images.disallowed")}},v=function(){return function(b,c){if(p.browser.isSafari()){var d=p.deviceType.isWebView()?"webview.imagepaste":"safari.imagepaste";return a.error(d)}return e.handle(b)}},w=function(a){return function(b,e){var f=c.mergeOffice(e.bundle());return d.handle(b,f,a)}},x=function(b,c){return a.cancel()},y=function(c){return function(d,e){var f=b.merge(e.bundle(),b.nu(c));return a.pure({response:e.response(),bundle:f})}};return{plain:q,autolink:r,noImages:u,images:v,internal:s,external:t,gwt:w,setBundle:y,none:x}}),g("56",["5c","p"],function(a,b){var c=a.resolve("smartpaste-eph-bin");return{binStyle:b.constant(c)}}),g("57",["6m","j","6h","6n"],function(a,b,c,d){var e=function(a,c){return d.descendant(a,function(a){return!!b.has(a,"style")&&b.get(a,"style").indexOf("mso-")>-1})},f=function(b,d){var e=c.get(b);return a.isWordContent(e,d)},g=function(a,b){var c=a.browser,d=c.isIE()&&c.version.major>=11?e:f;return d(b,a)};return{isWord:g}}),g("35",["4q","4r","56","2t","57","27","3f"],function(a,b,c,d,e,f,g){var h=d.detect();return function(d,i,j,k,l){return function(m,n){var o=l(),p=n.response();return a.sync(function(l){var n=d(j);n.events.after.bind(function(d){var j=d.container();i(j),f.add(j,c.binStyle());var m=e.isWord(h,j),n=g.children(j),q=k.findClipboardTags(n,m).isSome();a.call(l,{response:p,bundle:b.nu({isWord:m,isInternal:q,proxyBin:j,backgroundAssets:o})})}),o.convert(m.data()),n.run()})}}}),g("8d",["78","79","12","62","13","8o"],function(a,b,c,d,e,f){var g=function(a){for(var b=new c(a.length/2),e=0;ec&&c!==-1?(b=c+1,++e):(c>d||c<0)&&d!==-1&&(b=d+1,--e),b>f||d===-1)return-1;while(e>0);return b},k=function(a,b,c,e){var f=i(a,c,e),g=/[^a-fA-F0-9]([a-fA-F0-9]+)\}$/;return h(c,e,f,g,d)},l=function(a,b,c,d){var e=i(a,c,d),g=/([a-fA-F0-9]{64,})(?:\}.*)/;return h(c,d,e,g,f)},m=function(d,f){var h=g(c,d,f),i=j(d,h),m=g(e,d,f),n=j(d,m),o=a.curry(l,d,f,m,n),p=a.curry(k,d,f,h,i);return h===-1&&m===-1?b.none():h===-1?o():m===-1?p():mi?p():hn?o():h=0?e.value("image/png"):a.indexOf("\\jpegblip")>=0?e.value("image/jpeg"):e.error("errors.imageimport.unsupported")},h=function(a){return a.replace(/\r/g,"").replace(/\n/g,"")},i=function(a,b){var c=a.match(b);return c&&c[1]&&c[1].length%2===0?e.value(c[1]):e.error("errors.imageimport.invalid")},j=function(a){var b=a.match(/\\shplid(\d+)/);return null!==b?d.some(b[1]):d.none()},k=function(c){var d=c.bower(),e=c.regex();return j(d).map(function(f){var h=c.idRef()+f;return g(d).fold(function(a){return b.unsupported(h,a)},function(c){return i(d,e).fold(function(a){return b.unsupported(h,a)},function(d){return b.supported(h,c,a.convert(d,c))})})})},l=function(a){for(var b=[],c=function(){return a.length},d=function(a){var c=k(a);return b=b.concat(c.toArray()),a.end()},e=0;e0?(f.each(b,m.remove),t(e.incomplete(d,c,o,"errors.local.images.disallowed"))):t(e.paste(d,c,o))}})};e.cata(c.response(),j,o,j,o)})}}}),g("1p",["2z","30","31","32","33","34","35","36","2t","p","n","2c","37","11"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n){var o=l.immutable("data","rtf"),p=i.detect(),q="^image/",r="file",s=[q,r],t="html",u="rtf",v=function(a){return m.contains(a,"0?k.some(c):k.none()}):k.none()},D=function(a,b,c,d){return{label:j.constant(a),getAvailable:b,steps:j.constant(c),capture:j.constant(d)}},E=function(c,d,h,i){var k=j.curry(z,i);return D("Within Textbox.io (tables) pasting",k,[a.normal(g(d,c,h,i,b.ignore)),a.normal(e.fixed(!0,!0)),a.normal(f.internal(h,i))],!1)},F=function(c,i,j,k,l,m,n){return D("Outside of Textbox.io pasting (could be internal but another browser)",x,[a.normal(g(k,j,l,n,b.background)),a.normal(e.fromConfigIfExternal(c,i)),a.normal(f.external(l,n)),a.blocking(h(m,i)),a.normal(d(i))],!1)},G=function(b,c,d,g){return D("GWT pasting",w,[a.normal(f.setBundle({isWord:!0})),a.normal(e.fromConfig(c,d)),a.normal(f.gwt(b)),a.blocking(h(g,d))],!0)},H=function(b){return D("Image pasting",y,[a.normal(b.allowLocalImages===!1?f.noImages(j.noop):f.images())],!0)},I=function(){return D("Only plain text is available to paste",B,[a.normal(f.plain),a.normal(f.autolink)],!0)},J=function(){return D("Plain text pasting",A,[a.normal(f.plain),a.normal(f.autolink)],!0)},K=function(){return D("There is no valid way to paste",k.some,[a.normal(f.none)],!1)};return{internal:E,pastiche:F,gwt:G,image:H,text:J,onlyText:I,none:K}}),g("5b",["5c","2t","j","27","k","6h","29"],function(a,b,c,d,e,f,g){var h=function(){var a=b.detect(),c=a.os.isOSX();return c?["\u2318"]:["Ctrl"]},i=function(a){return e.fromHtml("

"+a("cement.dialog.flash.press-escape")+"

")},j=function(b){var c=e.fromTag("div");d.add(c,a.resolve("flashbin-helpcopy"));var f=h(),j=e.fromHtml("

"+b("cement.dialog.flash.trigger-paste")+"

"),k=e.fromHtml('
'+f+' + V
');return d.add(k,a.resolve("flashbin-helpcopy-kbd")),g.append(c,[j,k,i(b)]),c},k=function(b){var c=e.fromTag("div");d.add(c,a.resolve("flashbin-helpcopy"));var f=e.fromHtml("

"+b("cement.dialog.flash.missing")+"

");return g.append(c,[f,i(b)]),c},l=function(b){var h=e.fromTag("div");d.add(h,a.resolve("flashbin-loading"));var i=e.fromTag("div");d.add(i,a.resolve("flashbin-loading-spinner"));var j=e.fromTag("p"),k=b("loading.wait");return f.set(j,k),c.set(j,"aria-label",k),g.append(h,[i,j]),h};return{paste:j,noflash:k,indicator:l}}),h("5e",navigator),g("38",["5b","5c","2t","p","27","5d","k","1x","29","5e"],function(a,b,c,d,e,f,g,h,i,j){var k=c.detect(),l=function(){return new ActiveXObject("ShockwaveFlash.ShockwaveFlash")},m=function(){try{var a=k.browser.isIE()?l():j.plugins["Shockwave Flash"];return void 0!==a}catch(b){return!1}},n=function(b,c,e,f){var g=a.noflash(f);return h.append(b,g),{reset:d.noop}},o=function(b,c,d,e){var g=a.paste(e),h=a.indicator(e);i.append(b,[h,g,c.element()]);var j=function(){f.setAll(h,{height:"0",padding:"0"})},k=function(){f.set(g,"display","block"),f.set(h,"display","none"),d()},l=function(){f.set(g,"display","none"),f.set(h,"display","block"),f.remove(h,"height"),f.remove(h,"padding"),d()};return c.events.spin.bind(l),c.events.reset.bind(k),c.events.hide.bind(j),{reset:k}};return function(a,c,f){var h=g.fromTag("div"),i="flashbin-wrapper-"+(k.os.isOSX()?"cmd":"ctrl");e.add(h,b.resolve(i));var j=m()?o:n,l=j(h,a,c,f.translations);return{element:d.constant(h),reset:l.reset}}}),h("5k",clearInterval),h("5m",setInterval),g("5f",["n","21","22","z","5k","5m"],function(a,b,c,d,e,f){var g=function(){var g=d(a.none()),h=c.create({crashed:b([]),timeout:b([])}),i=function(b,c,d,i){var j=c,k=f(function(){d()?e(k):j<=0?(h.trigger.timeout(),e(k)):i()&&(e(k),h.trigger.crashed()),j--},b);g.set(a.some(k))},j=function(){g.get().each(function(a){e(a)})};return{start:i,stop:j,events:h.registry}};return{responsive:g}}),g("5g",["1b","g","5k","5m"],function(a,b,c,d){return function(e,f,g){var h=function(c){return b.forall(f,function(b){return a.isFunction(c[b])})},i=function(){var b=e.dom();a.isFunction(b.PercentLoaded)&&100===b.PercentLoaded()&&h(b)&&(l(),g())},j=!0,k=d(i,500),l=function(){j&&(c(k),j=!1)};return{stop:l}}}),g("6t",["72"],function(a){var b=function(a,b){return void 0!==a[b]&&null!==a[b]||(a[b]={}),a[b]},c=function(c,d){for(var e=d||a,f=c.split("."),g=0;g ';if(A.browser.isIE()&&10===A.browser.version.major){var d=f.generate("flash-bin");return p.fromHtml(''+c+"")}return p.fromHtml(''+c+"")},L=K(),M=function(){o.setAll(L,{width:"2px",height:"2px"})};M();var N=b(L,e.keys(J),D);r.append(s,L);var O=function(){return s},P=function(){A.browser.isFirefox()&&y.getSelection().removeAllRanges(),q.focus(L)},Q=null,R=function(){n.add(s,c.resolve("flash-activate")),o.remove(L,"height"),o.remove(L,"width"),h.trigger.hide()},S=function(){t(Q),n.remove(s,c.resolve("flash-activate")),M()},T=function(){Q=w(R,3e3),h.trigger.spin(),o.set(s,"display","block"),P()},U=function(){o.set(s,"display","none"),B.each(function(a){d.each(a,function(a){a.unbind()})})},V=function(){U(),d.each(e.values(J),function(a){z.unregister(a)}),z.unregister(E),N.stop()};return{focus:P,element:O,activate:T,deactivate:U,destroy:V,events:h.registry}}}),g("1q",["38","39","21","22","w","k","11"],function(a,b,c,d,e,f,g){return function(h,i){var j=i.translations,k=d.create({response:c(["rtf","hide"]),cancel:c([]),error:c(["message"]),failed:c(["message"])}),l=function(){var c=b(i.swf);c.deactivate();var d=f.fromDom(g),l=e.bind(d,"mouseup",c.focus),m=function(){q()},n=function(){m(),k.trigger.cancel()};c.events.cancel.bind(n),c.events.response.bind(function(a){k.trigger.response(a.rtf(),m)}),c.events.error.bind(function(a){m(),k.trigger.error(a.message())}),c.events.failed.bind(function(a){m(),k.trigger.failed(a.message())});var o=h();o.setTitle(j("cement.dialog.flash.title"));var p=a(c,o.reflow,i);p.reset(),o.setContent(p.element()),o.events.close.bind(n),o.show(),c.activate();var q=function(){l.unbind(),c.destroy(),o.destroy()}};return{open:l,events:k.registry}}}),g("5p",[],function(){var a=function(a,b){return d(function(c,d,e){return d(a,b)})},b=function(a){return d(function(b,c,d){return b(a)})},c=function(a){return d(function(b,c,d){return d(a)})},d=function(a){return{fold:a}};return{on:a,before:b,after:c}}),g("5o",["5p","2c","k"],function(a,b,c){var d=b.immutable("start","soffset","finish","foffset"),e=b.immutable("start","soffset","finish","foffset"),f=b.immutable("start","finish"),g=function(b){var d=c.fromDom(b.startContainer),e=c.fromDom(b.endContainer);return f(a.on(d,b.startOffset),a.on(e,b.endOffset))};return{read:d,general:e,write:f,writeFromNative:g}}),g("5q",[],function(){var a=function(a,b){if(a.getSelection)return b(a,a.getSelection());throw"No selection model supported."};return{run:a}}),g("6v",["3n","3f"],function(a,b){var c=function(c,d,e,f){var g=b.owner(c),h=g.dom().createRange();h.setStart(c.dom(),d),h.setEnd(e.dom(),f);var i=a.eq(c,e)&&d===f;return h.collapsed&&!i};return{after:c}}),g("6u",["5o","6v","k","3f"],function(a,b,c,d){var e=function(a){return b.after(c.fromDom(a.anchorNode),a.anchorOffset,c.fromDom(a.focusNode),a.focusOffset)},f=function(b,d){var f=c.fromDom(d.startContainer),g=c.fromDom(d.endContainer);return e(b)?a.read(g,d.endOffset,f,d.startOffset):a.read(f,d.startOffset,g,d.endOffset)},g=function(a){return e(a)},h=function(a,b,c,e){return function(f){if(f.extend)f.collapse(a.dom(),b),f.extend(c.dom(),e);else{var g=d.owner(a).dom().createRange();g.setStart(c.dom(),e),g.setEnd(a.dom(),b),f.removeAllRanges(),f.addRange(g)}}},i=function(a,c,d,e){return b.after(a,c,d,e)},j=function(){return{flip:f,isRtl:g}},k=function(){return{flip:h,isRtl:i}};return{read:j,write:k}}),g("5s",["5o","6u","n","6v","k"],function(a,b,c,d,e){var f=function(b,d){var f=h(b,d.start(),d.finish());if(f.collapsed===!0){var g=h(b,d.finish(),d.start());return g.collapsed===!0?c.none():c.some(a.general(e.fromDom(g.endContainer),g.endOffset,e.fromDom(g.startContainer),g.startOffset))}return c.none()},g=function(a,b){var c=h(a,b.start(),b.finish());return c.collapsed===!0?h(a,b.finish(),b.start()):c},h=function(a,b,c){var d=m(a);return b.fold(function(a){d.setStartBefore(a.dom())},function(a,b){d.setStart(a.dom(),b)},function(a){d.setStartAfter(a.dom())}),c.fold(function(a){d.setEndBefore(a.dom())},function(a,b){d.setEnd(a.dom(),b)},function(a){d.setEndAfter(a.dom())}),d},i=function(a,b){return h(a,b.start(),b.finish())},j=function(a,b,c,e,f){var g=d.after(b,c,e,f),h=a.document.createRange();return g?(h.setStart(e.dom(),f),h.setEnd(b.dom(),c)):(h.setStart(b.dom(),c),h.setEnd(e.dom(),f)),h},k=function(a,b){var c=i(a,b);return function(a){a.addRange(c)}},l=function(a,c){var d=f(a,c);return d.fold(function(){return k(a,c)},function(a){return b.write().flip(a.start(),a.soffset(),a.finish(),a.foffset())})},m=function(a){return a.document.createRange()};return{create:m,build:l,toNative:i,forceRange:g,toExactNative:j}}),g("5r",["g","5s","k","1d","2a","2h"],function(a,b,c,d,e,f){var g=function(a,b,c){return a.selectNodeContents(c.dom()),a.compareBoundaryPoints(b.END_TO_START,b)<1&&a.compareBoundaryPoints(b.START_TO_END,b)>-1},h=function(b,c,d,h){var i=b.document.createRange(),j=f.is(c,h)?[c]:[],k=j.concat(e.descendants(c,h));return a.filter(k,function(a){return g(i,d,a)})},i=function(a,e,f){var g=b.forceRange(a,e),i=c.fromDom(g.commonAncestorContainer);return d.isElement(i)?h(a,i,g,f):[]};return{find:i}}),g("6w",["g","5o","5p","1d"],function(a,b,c,d){var e=function(b,e){var f=d.name(b);return"input"===f?c.after(b):a.contains(["br","img"],f)?0===e?c.before(b):c.after(b):c.on(b,e)},f=function(a){var d=a.start().fold(c.before,e,c.after),f=a.finish().fold(c.before,e,c.after);return b.write(d,f)};return{beforeSpecial:e,preprocess:f}}),g("6x",["g","k","1g"],function(a,b,c){var d=function(d,e){var f=e||c,g=f.createDocumentFragment();return a.each(d,function(a){g.appendChild(a.dom())}),b.fromDom(g)};return{fromElements:d}}),g("5t",["5o","6u","5s","6w","n","k","6x"],function(a,b,c,d,e,f,g){var h=function(a){return function(b,e){var f=d.preprocess(a),g=c.build(b,f);void 0!==e&&null!==e&&(e.removeAllRanges(),g(e))}},i=function(a){return function(b,d){var e=c.create(b);e.selectNodeContents(a.dom()),d.removeAllRanges(),d.addRange(e)}},j=function(a,b){var c=b.getRangeAt(0),d=b.getRangeAt(b.rangeCount-1),e=a.document.createRange();return e.setStart(c.startContainer,c.startOffset),e.setEnd(d.endContainer,d.endOffset),e},k=function(c,d){var e=f.fromDom(d.startContainer),g=f.fromDom(d.endContainer);return b.read().isRtl(c)?b.read().flip(c,d):a.read(e,d.startOffset,g,d.endOffset)},l=function(a,b){return void 0!==b&&null!==b&&b.rangeCount>0?e.from(j(a,b)):e.none()},m=function(a,b){var c=l(a,b);return c.map(function(a){return k(b,a)})},n=function(a){return function(b,c){var d=l(b,c);d.each(function(c){o(b,c,a)})}},o=function(a,b,c){var d=g.fromElements(c,a.document);b.deleteContents(),b.insertNode(d.dom())},p=function(a,b){return function(e,f){var g=d.preprocess(a),h=c.toNative(e,g);o(e,h,b)}},q=function(a,b,d,e){return function(f,g){var h=c.toExactNative(f,a,b,d,e);h.deleteContents()}},r=function(a,b,d,e){return function(g,h){var i=c.toExactNative(g,a,b,d,e),j=i.cloneContents();return f.fromDom(j)}},s=function(a,b,d,f){return function(g,h){var i=c.toExactNative(g,a,b,d,f),j=i.getClientRects(),k=j.length>0?j[0]:i.getBoundingClientRect();return k.width>0||k.height>0?e.some(k):e.none()}},t=function(a){return function(b,d){var f=c.create(b);f.selectNode(a.dom());var g=f.getBoundingClientRect();return g.width>0||g.height>0?e.some(g):e.none()}},u=function(a,b){a.getSelection().removeAllRanges()},v=function(a,b,d,e){return function(f,g){var h=c.toExactNative(f,a,b,d,e);return h.toString()}};return{get:m,set:h,selectElementContents:i,replace:n,replaceRange:p,deleteRange:q,cloneFragment:r,rectangleAt:s,bounds:t,clearSelection:u,stringAt:v}}),g("3a",["5o","5p","5q","5r","5s","5t","3n","k"],function(a,b,c,d,e,f,g,h){var i=function(a){return c.run(a,f.get)},j=function(a,b){c.run(a,f.set(b))},k=function(c,d,e,f,g){var h=a.write(b.on(d,e),b.on(f,g));j(c,h)},l=function(a,b){c.run(a,f.selectElementContents(b))},m=function(a,b){c.run(a,f.replace(b))},n=function(a,b,d){c.run(a,f.replaceRange(b,d))},o=function(a,b,d,e,g){c.run(a,f.deleteRange(b,d,e,g))},p=function(a,b,d,e,g){return c.run(a,f.cloneFragment(b,d,e,g))},q=function(a,b,c,d){return g.eq(a,c)&&b===d},r=function(a,b,d,e,g){return c.run(a,f.rectangleAt(b,d,e,g))},s=function(a,b){return c.run(a,f.bounds(b))},t=function(a,b,c){return d.find(a,b,c)},u=function(c,d,e,f,g,h){var i=a.write(b.on(d,e),b.on(f,g));return t(c,i,h)},v=function(b,c){var d=e.forceRange(b,c);return a.general(h.fromDom(d.startContainer),d.startOffset,h.fromDom(d.endContainer),d.endOffset)},w=function(a){c.run(a,f.clearSelection)},x=function(a,b,d,e,g){return c.run(a,f.stringAt(b,d,e,g))};return{get:i,set:j,setExact:k,selectElementContents:l,replace:m,replaceRange:n,deleteRange:o,isCollapsed:q,cloneFragment:p,rectangleAt:r,bounds:s,findWithin:t,findWithinExact:u,deriveExact:v,clearAll:w,stringAt:x}}),g("5u",["p","3n"],function(a,b){return function(c,d,e,f){var g=b.eq(c,e)&&d===f;return{startContainer:a.constant(c),startOffset:a.constant(d),endContainer:a.constant(e),endOffset:a.constant(f),collapsed:a.constant(g)}}}),g("3b",["5u","k","1x","1y","3f"],function(a,b,c,d,e){return function(f){var g=b.fromTag("br"),h=function(a,b){a.dom().focus()},i=function(a){var b=e.owner(a);return b.dom().defaultView},j=function(b,d){var e=i(d);e.focus(),c.append(d,g),f.set(e,a(g,0,g,0))},k=function(){d.remove(g)};return{cleanup:k,toOn:h,toOff:j}}}),g("3c",["p"],function(a){return function(){var b=function(a,b){a.dom().focus()},c=function(a,b){b.dom().focus()},d=a.identity;return{toOn:b,toOff:c,cleanup:d}}}),g("6y",["g","k","1x","29","1y","3f"],function(a,b,c,d,e,f){var g=function(a,b){f.nextSibling(a).filter(b).each(function(b){var c=f.children(b);d.append(a,c),e.remove(b)}),i(a,b)},h=function(a,g){var h=f.children(a),i=b.fromTag("div",f.owner(a).dom());d.append(i,h),c.before(a,i),e.remove(a)},i=function(b,c){var d=f.children(b);a.each(d,function(a){c(a)&&h(a,b)})};return{consolidate:g}}),g("6z",["3g"],function(a){var b=a.create("ephox-sloth");return{resolve:b.resolve}}),g("70",["5d"],function(a){var b=function(a,b){return function(d){return"rtl"===c(d)?b:a}},c=function(b){return"rtl"===a.get(b,"direction")?"rtl":"ltr"};return{onDirection:b,getDirection:c}}),g("5v",["1s","2c","6y","6z","j","27","3q","5d","70","k","6h","1x","1y","20","3f"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){var p=d.resolve("bin"),q=p+a.generate(""),r=i.onDirection("-100000px","100000px");return function(a){var d=j.fromTag("div");e.setAll(d,{contenteditable:"true","aria-hidden":"true"}),h.setAll(d,{position:"fixed",top:"0px",width:"100px",height:"100px",overflow:"hidden",opacity:"0"}),g.add(d,[p,q]);var i=function(a){m.empty(d),h.set(d,"left",r(a)),l.append(a,d)},s=function(){var b=n.ancestor(d,"body");b.each(function(b){a.toOff(b,d)})},t=function(a){return f.has(a,q)},u=function(){c.consolidate(d,t);var a=b.immutable("elements","html","container"),e=o.children(d),f=k.get(d);return a(e,f,d)},v=function(){m.remove(d)},w=function(){return d};return{attach:i,focus:s,contents:u,container:w,detach:v}}}),g("3d",["p","2x","21","22","2y","5v","3f"],function(a,b,c,d,e,f,g){return function(h,i){var j=f(h),k=function(){h.cleanup();var a=j.contents();j.detach(),n.trigger.after(a.elements(),a.html(),j.container())},l=b.tap(function(){n.trigger.before(),j.attach(i),j.focus(),e.run(g.owner(i),l,k)}),m=function(){l.instance()},n=d.create({before:c([]),after:c(["elements","html","container"])}),o=a.noop;return{instance:a.constant(m),destroy:o,events:n.registry}}}),g("1r",["2t","3a","21","22","3b","3c","3d","1d"],function(a,b,c,d,e,f,g,h){var i=a.detect(),j={set:function(a,c){b.setExact(a,c.startContainer(),c.startOffset(),c.endContainer(),c.endOffset())}},k=function(a){var b=i.browser.isIE()&&"body"!==h.name(a)?f:e;return b(j)};return function(a){var b=d.create({after:c(["container"])}),e=k(a),f=g(e,a);f.events.after.bind(function(c){e.toOn(a,c.container()),b.trigger.after(c.container())});var h=function(){f.instance()()};return{run:h,events:b.registry}}}),g("5y",["w","k","1g"],function(a,b,c){var d=function(d){if("complete"===c.readyState||"interactive"===c.readyState)d();else var e=a.bind(b.fromDom(c),"DOMContentLoaded",function(){d(),e.unbind()})};return{execute:d}}),g("3e",["2t","5h","p","5w","n","5x","5i","5d","w","k","1x","5y","1y"],function(a,b,c,d,e,f,g,h,i,j,k,l,m){var n=b.install("ephox.keurig.init"),o=e.none(),p=a.detect(),q=p.browser,r=q.isIE()||q.isSpartan()||p.deviceType.isiOS()||p.deviceType.isAndroid(),s=r?c.noop:d.cached(function(a){var b=j.fromTag("div");if(void 0===a)throw"baseUrl was undefined";var c=j.fromTag("iframe");h.setAll(b,{display:"none"});var d=i.bind(c,"load",function(){var g=function(a){o=e.some(a),q.isSafari()||m.remove(b)},h=n.ephemeral(g),i=a+"/wordimport.js";f.write(c,'"),d.unbind()});l.execute(function(){k.append(g.body(),b),k.append(b,c)})}),t=function(a,b){return o.map(function(c){return c(a,b)})},u=function(){return o.isSome()};return{load:s,cleanDocument:t,ready:u}}),g("1t",["3e"],function(a){return function(b){return a.ready()||a.load(b),{cleanDocument:a.cleanDocument}}}),g("l",["1o","1p","1q","1r","g","1s","1t","p","n"],function(a,b,c,d,e,f,g,h,i){return function(j,k,l,m){var n=g(m.baseUrl),o=h.curry(c,k),p=d,q=function(){return{clipboardType:f.generate("clipboard-type"),findClipboardTags:i.none}},r=void 0!==m.intraFlag?m.intraFlag:q(),s=e.flatten([void 0!==m.intraFlag?[b.internal(l,p,j,r)]:[],[b.onlyText()],[b.gwt(n,k,m,o)],[b.image(m)]]),t=b.pastiche(k,m,l,p,j,o,r);return a(s,t)}}),g("m",["1o","1p"],function(a,b){return function(){return a([b.text()],b.none())}}),g("q",[],function(){return{officeStyles:"prompt",htmlStyles:"clean"}}),g("r",["j","k","1x","1y","1z","20","1g"],function(a,b,c,d,e,f,g){var h="powerpaste-styles",i="#"+h,j=function(d){if(!e.any(i)){var g="",j=b.fromHtml(g);a.set(j,"type","text/css"),a.set(j,"id",h);var k=f.first("head").getOrDie("Head element could not be found.");c.append(k,j)}},k=function(){if(e.any(i)){var a=f.first("head").getOrDie("Head element could not be found."),b=f.descendant(a,i).getOrDie("The style element could not be removed");d.remove(b)}};return{injectStyles:j,removeStyles:k}}),g("v",["g","k","j","1g"],function(a,b,c,d){var e=function(a){var b=d.createElement("div");b.appendChild(a.cloneNode(!0));var c=b.innerHTML;return b=a=null,c},f=function(d){a.each(a.map(d.getElementsByTagName("*"),b.fromDom),function(a){c.has(a,"data-mce-style")&&!c.has(a,"style")&&c.set(a,"style",c.get(a,"data-mce-style"))})};return{nodeToString:e,restoreStyleAttrs:f}}),g("t",["21","22","v","j","k","1x","1y","20"],function(a,b,c,d,e,f,g,h){return function(i){var j=function(){var j,k="",l="",m=[],n=null,o=b.create({close:a([])}),p=function(a){k=a},q=function(a){var b=c.nodeToString(a.dom());l=[{type:"container",html:b}],n=a},r=function(a){var b=[];a.forEach(function(a,c,d){b.push({text:a.text,onclick:a.click})}),m=b},s=function(a){o.trigger.close()},t=function(){j.off("close",s),j.close("close")},u=function(){0===m.length&&(m=[{text:"Close",onclick:function(){j.close()}}]);var a={title:k,spacing:10,padding:10,minWidth:300,minHeight:100,layout:"flex",items:l,buttons:m};j=i.windowManager.open(a);var b=e.fromDom(j.getEl()),c=h.descendant(b,"."+d.get(n,"class")).getOrDie("We must find this element or we cannot continue");f.before(c,n),g.remove(c),j.on("close",s)},v=function(){t()},w=function(){t()},x=function(){};return{events:o.registry,setTitle:p,setContent:q,setButtons:r,show:u,hide:v,destroy:w,reflow:x}};return{createDialog:j}}}),g("24",["2c","n"],function(a,b){var c=a.immutable("url","html"),d=function(a){return/^https?:\/\/[\w\?\-\/+=.&%@~#]+$/i.test(a)},e=function(a){return d(a)&&/.(gif|jpe?g|png)$/.test(a)},f=function(a){var d=/^([^<]+)<\/a>$/.exec(a);return b.from(d).bind(function(d){var e=c(d[1],a);return d[1]===d[2]?b.some(e):b.none()})};return{isAbsoluteUrl:d,isImageUrl:e,parseUrlFromLinkHtml:f}}),g("u",["g","n","23","24"],function(a,b,c,d){var e=function(a){return"extra"in a.undoManager},f=function(a,c,d){return e(a)?(a.undoManager.extra(function(){k(a,c)},d),b.some(!0)):b.none()},g=function(a,b){return f(a,b.html(),function(){a.insertContent('')})},h=function(a,b){return f(a,b.html(),function(){a.execCommand("mceInsertLink",!1,b.url())})},i=function(a,c){return d.parseUrlFromLinkHtml(c).bind(function(c){var e=a.selection.isCollapsed()===!1&&d.isAbsoluteUrl(c.url());return e?h(a,c):b.none()})},j=function(a,c){return d.parseUrlFromLinkHtml(c).bind(function(c){return d.isImageUrl(c.url())?g(a,c):b.none()})},k=function(a,c){return a.insertContent(c,{merge:a.settings.paste_merge_formats!==!1,paste:!0}),b.some(!0)},l=function(a,b,d){var e=function(c){return c(a,b)};return c.findMap(d,e)};return{until:l,linkSelection:i,insertImage:j,insertContent:k}}),g("8",[],function(){var a=function(a,b){return a.hasEventListeners(b)},b=function(a,b){return a.fire("PastePreProcess",{content:b}).content},c=function(a,b){var c=a.dom.add(a.getBody(),"div",{style:"display:none"},b),d=a.fire("PastePostProcess",{node:c}).node.innerHTML;return a.dom.remove(c),d},d=function(c,d){return a(c,"PastePreProcess")?b(c,d):d},e=function(b,d){return a(b,"PastePostProcess")?c(b,d):d},f=function(a,b){return e(a,d(a,b))},g=function(a){var b=a.settings,c=a.plugins.powerpaste;b.paste_preprocess&&a.on("PastePreProcess",function(d){b.paste_preprocess.call(a,c,d)}),b.paste_postprocess&&a.on("PastePostProcess",function(d){b.paste_postprocess.call(a,c,d)})};return{process:f,registerEvents:g}}),g("6",["l","m","g","n","o","p","d","q","r","s","t","u","8","v","w","k","x","2"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){return function(s,t,u,v,w){var x,y,z,A,B;B=(v?v.jsUrl:u)+"/js",y=(v?v.swfUrl:u)+"/flash/textboxpaste.swf",z=(v?v.imgUrl:u)+"/img/spinner_96.gif",A=(v?v.cssUrl:u)+"/css/editorcss.css";var C=function(a){return a.settings.smart_paste!==!1},D=function(a){return function(b,c){return b.undoManager.transact(function(){l.insertContent(b,c),n.restoreStyleAttrs(b.getBody()),w.prepareImages(a)}),d.some(!0)}},E=function(a,b,c){var d=C(a)?[l.linkSelection,l.insertImage]:[];l.until(a,b,d.concat([D(c)]))},F=function(){x&&s.selection.moveToBookmark(x),x=null};s.on("init",function(d){i.injectStyles(z),s.dom.loadCSS(A);var l={baseUrl:B,swf:y,officeStyles:s.settings.powerpaste_word_import||h.officeStyles,htmlStyles:s.settings.powerpaste_html_import||h.htmlStyles,translations:g.translate,allowLocalImages:s.settings.powerpaste_allow_local_images!==!1,enableFlashImport:s.settings.powerpaste_enable_flash_import!==!1,preprocessor:function(a){return e.pure(a)}},r=k(s),u=p.fromDom(s.getBody()),v=function(a){a.events.cancel.bind(function(){F()}),a.events.error.bind(function(a){F(),s.notificationManager?s.notificationManager.open({text:g.translate(a.message()),type:"error"}):j.showDialog(s,g.translate(a.message()))}),a.events.insert.bind(function(a){var b=c.map(a.elements(),function(a){return n.nodeToString(a.dom())}).join("");s.focus(),q(function(){F(),E(s,m.process(s,b),a.assets()),w.uploadImages(a.assets())},1)})},C=a(u,r.createDialog,f.noop,l),D=b();c.each([C,D],v),o.bind(u,"paste",function(a){x||(x=s.selection.getBookmark());var b=t.isText()?D:C;b.paste(a.raw()),t.reset(),q(function(){s.windowManager.windows[0]&&s.windowManager.windows[0].getEl()&&s.windowManager.windows[0].getEl().focus()},1)})}),s.on("remove",function(a){1===r.editors.length&&i.removeStyles()})}}),g("7",["y","z"],function(a,b){var c=function(a){return tinymce.util.VK.metaKeyPressed(a)&&86==a.keyCode&&a.shiftKey};return function(d){var e=b(d.settings.paste_as_text),f=b(!1);d.on("keydown",function(a){c(a)&&(f.set(!0),tinymce.Env.ie&&tinymce.Env.ie<10&&(a.preventDefault(),d.fire("paste",{})))});var g=a(function(){var a=d.translate("Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.");d.notificationManager.open({text:a,type:"info"})}),h=function(){var a=this,b=!e.get();a.active(b),e.set(b),d.fire("PastePlainTextToggle",{state:b}),b===!0&&0!=d.settings.paste_plaintext_inform&&g(),d.focus()},i=function(){f.set(!1)},j=function(){return f.get()||e.get()};return{toggle:h,reset:i,isText:j}}}),g("10",[],function(){var a=0,b=1,c=-1,d=function(a){return parseInt(a,10)},e=function(a){return function(){return a}},f=function(a,b,c){return{major:e(a),minor:e(b),patch:e(c)}},g=function(a){var b=/([0-9]+)\.([0-9]+)\.([0-9]+)(?:(\-.+)?)/.exec(a);return b?f(d(b[1]),d(b[2]),d(b[3])):f(0,0,0)},h=function(d,e){var f=d-e;return 0===f?a:f>0?b:c},i=function(b,c){var d=h(b.major(),c.major());if(d!==a)return d;var e=h(b.minor(),c.minor());if(e!==a)return e;var f=h(b.patch(),c.patch());return f!==a?f:a};return{nu:f,parse:g,compare:i}}),g("9",["10"],function(a){var b=function(a){var b=[a.majorVersion,a.minorVersion].join(".");return b.split(".").slice(0,3).join(".")},c=function(c){return c?a.parse(b(c)):null},d=function(b,d){return a.compare(c(b),a.parse(d))<0};return{getVersion:c,isLessThan:d}}),g("a",["11"],function(a){var b=function(a,b){return function(){var c=a.console;c&&b in c&&c[b].apply(c,arguments)}};return{log:b(a,"log"),error:b(a,"error"),warn:b(a,"warm")}}),g("1",["3","4","5","6","7","8","9","a","2"],function(a,b,c,d,e,f,g,h,i){return function(j){return g.isLessThan(i,"4.0.0")?(h.error('The "powerpaste" plugin requires at least 4.0.0 version of TinyMCE.'),function(){}):function(g,h){var k=e(g),l=function(){var b=a(g);d(g,k,h,j,b),g.settings.powerpaste_block_drop||c(g,h,j,b)},m=function(){b(g,k,j)},n=function(){var a=this;a.active(k.isText()),g.on("PastePlainTextToggle",function(b){a.active(b.state)})};i.Env.ie&&i.Env.ie<10?m():l();var o=function(a){g.dom.bind(a,"drop dragstart dragend dragover dragenter dragleave dragdrop draggesture",function(a){return i.dom.Event.cancel(a)})};g.settings.powerpaste_block_drop&&g.on("init",function(a){o(g.getBody()),o(g.getDoc())}),f.registerEvents(g),g.addButton("pastetext",{icon:"pastetext",tooltip:"Paste as text",onclick:k.toggle,onPostRender:n}),g.addMenuItem("pastetext",{text:"Paste as text",selectable:!0,onclick:k.toggle,onPostRender:n})}}}),g("0",["1","2"],function(a,b){return function(c){b.PluginManager.requireLangPack("powerpaste","ar,ca,cs,da,de,el,es,fa,fi,fr_FR,he_IL,hr,hu_HU,it,ja,kk,ko_KR,nb_NO,nl,pl,pt_BR,pt_PT,ro,ru,sk,sl_SI,sv_SE,th_TH,tr,uk,zh_CN,zh_TW"),b.PluginManager.add("powerpaste",a(c))}}),d("0")()}(); diff --git a/static/tinymce1.3/plugins/watermark/plugin.min.js b/static/tinymce1.3/plugins/watermark/plugin.min.js new file mode 100644 index 00000000..83fa3a3e --- /dev/null +++ b/static/tinymce1.3/plugins/watermark/plugin.min.js @@ -0,0 +1,72 @@ +(function() { + const qiniuOption = { + watermark: 'aHR0cHM6Ly93ZGwud2FsbHN0cmVldGNuLmNvbS8yM2Y0ZWE2Ny1hZjI1LTQ3ZTItYTFlYy1iNzJjNzkzYWNlOGE=', + weexWatermark: 'aHR0cHM6Ly93cGltZy53YWxsc3Rjbi5jb20vMGQxMmMwN2ItNjViMS00NjA4LTllMTctODUyMDRhOTc3YzY5', + dissolve: 30, + dx: 20, + dy: 20, + watermarkScale: 0 + }; + tinymce.create('tinymce.plugins.WaterMarkPlugin', { + init(ed) { + ed.addCommand('mceWaterMark', () => { + const target = ed.selection.getNode(); + + const src = $(target).attr('src') + '?watermark/1/image/' + qiniuOption.watermark + '/dissolve/' + qiniuOption.dissolve + '/gravity/Center/dx/' + qiniuOption.dx + '/dy/' + qiniuOption.dy + '/ws/' + qiniuOption.watermarkScale + ed.windowManager.open({ + title: '七牛水印', + width: 600, + height: 500, + body: [{ + type: 'container', + html: `
+
+
+ + +
+
+ + + + + + +
+
+
` + }], + onSubmit() { + const src = $('.mce-container-watermark-body .watermark-preview').attr('src'); + $(target).attr('src', src); + ed.undoManager.add() + // setTimeout(() => { + // ed.insertContent('a') + // }, 100); + } + }); + $('.mce-container-watermark-body input[type="radio"]').on('click', () => { + const $watermarkImg = $('.mce-container-watermark-body .watermark-preview') + const baseSrc = $watermarkImg.attr('src').split('?')[0]; + const position = $('.mce-container-watermark-body input[name="image-watermark"]:checked').attr('data-position'); + const type = $('.mce-container-watermark-body input[name="image-watermarkType"]:checked').attr('data-type'); + const query = setQuery(position, type); + $watermarkImg.attr('src', baseSrc + query); + }) + }); + + + function setQuery(postion, type) { + return '?watermark/1/image/' + qiniuOption[type] + '/dissolve/' + qiniuOption.dissolve + '/gravity/' + postion + '/dx/' + qiniuOption.dx + '/dy/' + qiniuOption.dy + '/ws/' + qiniuOption.watermarkScale + } + + // Register buttons + ed.addButton('watermark', { + title: 'watermark', + text: '水印', + cmd: 'mceWaterMark' + }); + } + }); + tinymce.PluginManager.add('watermark', tinymce.plugins.WaterMarkPlugin); +}()); diff --git a/static/tinymce1.3/skins/lightgray/content.inline.min.css b/static/tinymce1.3/skins/lightgray/content.inline.min.css new file mode 100755 index 00000000..4030546c --- /dev/null +++ b/static/tinymce1.3/skins/lightgray/content.inline.min.css @@ -0,0 +1 @@ +.mce-content-body .mce-reset{margin:0;padding:0;border:0;outline:0;vertical-align:top;background:transparent;text-decoration:none;color:black;font-family:Arial;font-size:11px;text-shadow:none;float:none;position:static;width:auto;height:auto;white-space:nowrap;cursor:inherit;line-height:normal;font-weight:normal;text-align:left;-webkit-tap-highlight-color:transparent;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;direction:ltr;max-width:none}.mce-object{border:1px dotted #3A3A3A;background:#D5D5D5 url(img/object.gif) no-repeat center}.mce-preview-object{display:inline-block;position:relative;margin:0 2px 0 2px;line-height:0;border:1px solid gray}.mce-preview-object[data-mce-selected="2"] .mce-shim{display:none}.mce-preview-object .mce-shim{position:absolute;top:0;left:0;width:100%;height:100%;background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)}figure.align-left{float:left}figure.align-right{float:right}figure.image.align-center{display:table;margin-left:auto;margin-right:auto}figure.image{display:inline-block;border:1px solid gray;margin:0 2px 0 1px;background:#f5f2f0}figure.image img{margin:8px 8px 0 8px}figure.image figcaption{margin:6px 8px 6px 8px;text-align:center}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc li{list-style-type:none}.mce-pagebreak{cursor:default;display:block;border:0;width:100%;height:5px;border:1px dashed #666;margin-top:15px;page-break-before:always}@media print{.mce-pagebreak{border:0}}.mce-item-anchor{cursor:default;display:inline-block;-webkit-user-select:all;-webkit-user-modify:read-only;-moz-user-select:all;-moz-user-modify:read-only;user-select:all;user-modify:read-only;width:9px !important;height:9px !important;border:1px dotted #3A3A3A;background:#D5D5D5 url(img/anchor.gif) no-repeat center}.mce-nbsp,.mce-shy{background:#AAA}.mce-shy::after{content:'-'}hr{cursor:default}.mce-match-marker{background:#AAA;color:#fff}.mce-match-marker-selected{background:#3399ff;color:#fff}.mce-spellchecker-word{border-bottom:2px solid #F00;cursor:default}.mce-spellchecker-grammar{border-bottom:2px solid #008000;cursor:default}.mce-item-table,.mce-item-table td,.mce-item-table th,.mce-item-table caption{border:1px dashed #BBB}td[data-mce-selected],th[data-mce-selected]{background-color:#3399ff !important}.mce-edit-focus{outline:1px dotted #333}.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus{outline:2px solid #2d8ac7}.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover{outline:2px solid #7ACAFF}.mce-content-body *[contentEditable=false][data-mce-selected]{outline:2px solid #2d8ac7}.mce-resize-bar-dragging{background-color:blue;opacity:.25;filter:alpha(opacity=25);zoom:1} \ No newline at end of file diff --git a/static/tinymce1.3/skins/lightgray/content.min.css b/static/tinymce1.3/skins/lightgray/content.min.css new file mode 100755 index 00000000..9e6e983d --- /dev/null +++ b/static/tinymce1.3/skins/lightgray/content.min.css @@ -0,0 +1,601 @@ +body { + background-color: #FFFFFF; + color: #000000; + font-family: Helvetica,Microsoft YaHei,Hiragino Sans GB,WenQuanYi Micro Hei,sans-serif; + font-size: 14px; + scrollbar-3dlight-color: #F0F0EE; + scrollbar-arrow-color: #676662; + scrollbar-base-color: #F0F0EE; + scrollbar-darkshadow-color: #DDDDDD; + scrollbar-face-color: #E0E0DD; + scrollbar-highlight-color: #F0F0EE; + scrollbar-shadow-color: #F0F0EE; + scrollbar-track-color: #F5F5F5 +} + +td, +th { + font-family: Helvetica,Microsoft YaHei,Hiragino Sans GB,WenQuanYi Micro Hei,sans-serif; + font-size: 14px +} + +.mce-content-body .mce-reset { + margin: 0; + padding: 0; + border: 0; + outline: 0; + vertical-align: top; + background: transparent; + text-decoration: none; + color: black; + font-family: Arial; + font-size: 11px; + text-shadow: none; + float: none; + position: static; + width: auto; + height: auto; + white-space: nowrap; + cursor: inherit; + line-height: normal; + font-weight: normal; + text-align: left; + -webkit-tap-highlight-color: transparent; + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; + box-sizing: content-box; + direction: ltr; + max-width: none +} + +.mce-object { + border: 1px dotted #3A3A3A; + background: #D5D5D5 url(img/object.gif) no-repeat center +} + +.mce-preview-object { + display: inline-block; + position: relative; + margin: 0 2px 0 2px; + line-height: 0; + border: 1px solid gray +} + +.mce-preview-object[data-mce-selected="2"] .mce-shim { + display: none +} + +.mce-preview-object .mce-shim { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7) +} + +figure.align-left { + float: left +} + +figure.align-right { + float: right +} + +figure.image.align-center { + display: table; + margin-left: auto; + margin-right: auto +} + +figure.image { + display: inline-block; + border: 1px solid gray; + margin: 0 2px 0 1px; + background: #f5f2f0 +} + +figure.image img { + margin: 8px 8px 0 8px +} + +figure.image figcaption { + margin: 6px 8px 6px 8px; + text-align: center +} + +.mce-toc { + border: 1px solid gray +} + +.mce-toc h2 { + margin: 4px +} + +.mce-toc li { + list-style-type: none +} + +.mce-pagebreak { + cursor: default; + display: block; + border: 0; + width: 100%; + height: 5px; + border: 1px dashed #666; + margin-top: 15px; + page-break-before: always +} + +@media print { + .mce-pagebreak { + border: 0 + } +} + +.mce-item-anchor { + cursor: default; + display: inline-block; + -webkit-user-select: all; + -webkit-user-modify: read-only; + -moz-user-select: all; + -moz-user-modify: read-only; + user-select: all; + user-modify: read-only; + width: 9px !important; + height: 9px !important; + border: 1px dotted #3A3A3A; + background: #D5D5D5 url(img/anchor.gif) no-repeat center +} + +.mce-nbsp, +.mce-shy { + background: #AAA +} + +.mce-shy::after { + content: '-' +} + +hr { + cursor: default +} + +.mce-match-marker { + background: #AAA; + color: #fff +} + +.mce-match-marker-selected { + background: #3399ff; + color: #fff +} + +.mce-spellchecker-word { + border-bottom: 2px solid #F00; + cursor: default +} + +.mce-spellchecker-grammar { + border-bottom: 2px solid #008000; + cursor: default +} + +.mce-item-table, +.mce-item-table td, +.mce-item-table th, +.mce-item-table caption { + border: 1px dashed #BBB +} + +td[data-mce-selected], +th[data-mce-selected] { + background-color: #3399ff !important +} + +.mce-edit-focus { + outline: 1px dotted #333 +} + +.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus { + outline: 2px solid #2d8ac7 +} + +.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover { + outline: 2px solid #7ACAFF +} + +.mce-content-body *[contentEditable=false][data-mce-selected] { + outline: 2px solid #2d8ac7 +} + +.mce-resize-bar-dragging { + background-color: blue; + opacity: .25; + filter: alpha(opacity=25); + zoom: 1 +} + + + + +/*自定义*/ +.mce-resizehandle{ + display: none; +} +b, strong { + font-weight: inherit; + font-weight: bolder; +} +/*img { + max-height: 300px; +}*/ + +.note-color .dropdown-menu li .btn-group:first-child { + display: none; +} + +.note-control-sizing { + display: none; +} + +.panel-body { + font-size: 16px; + color: #333; + letter-spacing: 0.5px; + line-height: 28px; + margin-bottom: 30px; + padding: 0 15px 0 10px; +} + +.panel-body > :last-child { + margin-bottom: 0; +} + +.panel-body img { + max-width: 100%; + display: block; + margin: 0 auto; +} + +.panel-body table { + width: 100% !important; +} + +.panel-body embed { + max-width: 100%; + margin-bottom: 30px; +} + +.panel-body p { + font-size: 16px; + line-height: 28px; + letter-spacing: 0.5px; + margin-bottom: 30px; + text-align: justify; + word-break: break-all; +} + +.panel-body ul { + margin-bottom: 30px; +} + +.panel-body li { + margin-left: 20px; + margin-bottom: 30px; +} + +.panel-body a { + color: #1478F0; +} + +.panel-body hr { + margin: 1em auto; + border: none; + padding: 0; + width: 100%; + height: 1px; + background: #DCDCDC; +} + +.panel-body blockquote p { + font-size: 16px; + letter-spacing: 1px; + line-height: 28px; + color: #333; +} + +.panel-body blockquote p:last-of-type { + margin-bottom: 0; +} + +.panel-body audio, +.panel-body canvas, +.panel-body video { + display: inline-block; + *display: inline; + *zoom: 1; +} + +.panel-body button, +.panel-body input, +.panel-body select, +.panel-body textarea { + font: 500 14px/1.8 'Hiragino Sans GB', Microsoft YaHei, sans-serif; +} + +.panel-body table { + border-collapse: collapse; + border-spacing: 0; +} + +.panel-body th { + text-align: inherit; +} + +.panel-body fieldset, +.panel-body img { + border: 0; +} + +.panel-body img { + -ms-interpolation-mode: bicubic; +} + +.panel-body iframe { + display: block; +} + +.panel-body blockquote { + position: relative; + font-size: 16px; + letter-spacing: 1px; + line-height: 28px; + margin-bottom: 40px; + padding: 20px; + background: #f0f2f5; +} + +.panel-body blockquote:before { + position: absolute; + content: " \300D"; + top: 10px; + left: 2px; + -webkit-transform: rotate(180deg); + transform: rotate(180deg); + color: #333; +} + +.panel-body blockquote:after { + position: absolute; + content: " \300D"; + right: 6px; + bottom: 12px; + color: #333; +} + +.panel-body blockquote blockquote { + padding: 0 0 0 1em; + margin-left: 2em; + border-left: 3px solid #1478F0; +} + +.panel-body acronym, +.panel-body abbr { + border-bottom: 1px dotted; + font-variant: normal; +} + +.panel-body abbr { + cursor: help; +} + +.panel-body del { + text-decoration: line-through; +} + +.panel-body address, +.panel-body caption, +.panel-body cite, +.panel-body code, +.panel-body del, +.panel-body th, +.panel-body var { + font-style: normal; + font-weight: 500; +} + +.panel-body caption, +.panel-body th { + text-align: left; +} + +.panel-body q:before, +.panel-body q:after { + content: ''; +} + +.panel-body sub, +.panel-body sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: text-top; +} + +.panel-body :root sub, +.panel-body :root sup { + vertical-align: baseline; + /* for ie9 and other mordern browsers */ +} + +.panel-body sup { + top: -0.5em; +} + +.panel-body sub { + bottom: -0.25em; +} + +.panel-body a:hover { + text-decoration: underline; +} + +.panel-body ins, +.panel-body a { + text-decoration: none; +} + +.panel-body u, +.panel-body .typo-u { + text-decoration: underline; +} + +.panel-body mark { + background: #fffdd1; +} + +.panel-body pre, +.panel-body code { + font-family: "Courier New", Courier, monospace; +} + +.panel-body pre { + border: 1px solid #ddd; + border-left-width: 0.4em; + background: #fbfbfb; + padding: 10px; +} + +.panel-body small { + font-size: 12px; + color: #888; +} + +.panel-body h1, +.panel-body h2, +.panel-body h3, +.panel-body h4, +.panel-body h5, +.panel-body h6 { + font-size: 18px; + font-weight: 700; + color: #1478f0; + border-left: 5px solid #1478f0; + padding-left: 10px; + margin: 30px 0; +} + +.panel-body h2 { + font-size: 1.2em; +} + +.panel-body .typo p, +.panel-body .typo pre, +.panel-body .typo ul, +.panel-body .typo ol, +.panel-body .typo dl, +.panel-body .typo form, +.panel-body .typo hr, +.panel-body .typo table, +.panel-body .typo-p, +.panel-body .typo-pre, +.panel-body .typo-ul, +.panel-body .typo-ol, +.panel-body .typo-dl, +.panel-body .typo-form, +.panel-body .typo-hr, +.panel-body .typo-table { + margin-bottom: 15px; + line-height: 25px; +} + +.panel-body .typo h1, +.panel-body .typo h2, +.panel-body .typo h3, +.panel-body .typo h4, +.panel-body .typo h5, +.panel-body .typo h6, +.panel-body .typo-h1, +.panel-body .typo-h2, +.panel-body .typo-h3, +.panel-body .typo-h4, +.panel-body .typo-h5, +.panel-body .typo-h6 { + margin-bottom: 0.4em; + line-height: 1.5; +} + +.panel-body .typo h1, +.panel-body .typo-h1 { + font-size: 1.8em; +} + +.panel-body .typo h2, +.panel-body .typo-h2 { + font-size: 1.6em; +} + +.panel-body .typo h3, +.panel-body .typo-h3 { + font-size: 1.4em; +} + +.panel-body .typo h4, +.panel-body .typo-h0 { + font-size: 1.2em; +} + +.panel-body .typo h5, +.panel-body .typo h6, +.panel-body .typo-h5, +.panel-body .typo-h6 { + font-size: 1em; +} + +.panel-body .typo ul, +.panel-body .typo-ul { + margin-left: 1.3em; + list-style: disc; +} + +.panel-body .typo ol, +.panel-body .typo-ol { + list-style: decimal; + margin-left: 1.9em; +} + +.panel-body .typo li ul, +.panel-body .typo li ol, +.panel-body .typo-ul ul, +.panel-body .typo-ul ol, +.panel-body .typo-ol ul, +.panel-body .typo-ol ol { + margin-top: 0; + margin-bottom: 0; + margin-left: 2em; +} + +.panel-body .typo li ul, +.panel-body .typo-ul ul, +.panel-body .typo-ol ul { + list-style: circle; +} + +.panel-body .typo table th, +.panel-body .typo table td, +.panel-body .typo-table th, +.panel-body .typo-table td { + border: 1px solid #ddd; + padding: 5px 10px; +} + +.panel-body .typo table th, +.panel-body .typo-table th { + background: #fbfbfb; +} + +.panel-body .typo table thead th, +.panel-body .typo-table thead th { + background: #f1f1f1; +} diff --git a/static/tinymce1.3/skins/lightgray/fonts/tinymce-small.eot b/static/tinymce1.3/skins/lightgray/fonts/tinymce-small.eot new file mode 100755 index 00000000..b144ba0b Binary files /dev/null and b/static/tinymce1.3/skins/lightgray/fonts/tinymce-small.eot differ diff --git a/static/tinymce1.3/skins/lightgray/fonts/tinymce-small.json b/static/tinymce1.3/skins/lightgray/fonts/tinymce-small.json new file mode 100755 index 00000000..0808be05 --- /dev/null +++ b/static/tinymce1.3/skins/lightgray/fonts/tinymce-small.json @@ -0,0 +1,1277 @@ +{ + "IcoMoonType": "selection", + "icons": [ + { + "icon": { + "paths": [ + "M704 832v-37.004c151.348-61.628 256-193.82 256-346.996 0-212.078-200.576-384-448-384s-448 171.922-448 384c0 153.176 104.654 285.368 256 346.996v37.004h-192l-64-96v224h320v-222.812c-100.9-51.362-170.666-161.54-170.666-289.188 0-176.732 133.718-320 298.666-320 164.948 0 298.666 143.268 298.666 320 0 127.648-69.766 237.826-170.666 289.188v222.812h320v-224l-64 96h-192z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57376, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 0, + "order": 1, + "prevSize": 32, + "code": 57376, + "name": "charmap", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 0 + }, + { + "icon": { + "paths": [ + "M256 64v896l256-256 256 256v-896h-512zM704 789.49l-192-192-192 192v-661.49h384v661.49z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57363, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 1, + "order": 2, + "prevSize": 32, + "code": 57363, + "name": "bookmark", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 1 + }, + { + "icon": { + "paths": [ + "M927.274 230.216l-133.49-133.488c-21.104-21.104-49.232-32.728-79.198-32.728s-58.094 11.624-79.196 32.726l-165.492 165.49c-43.668 43.668-43.668 114.724 0 158.392l2.746 2.746 67.882-67.882-2.746-2.746c-6.132-6.132-6.132-16.494 0-22.626l165.492-165.492c4.010-4.008 8.808-4.608 11.312-4.608s7.302 0.598 11.312 4.61l133.49 133.488c6.132 6.134 6.132 16.498 0.002 22.628l-165.494 165.494c-4.008 4.008-8.806 4.608-11.31 4.608s-7.302-0.6-11.312-4.612l-2.746-2.746-67.88 67.884 2.742 2.742c21.106 21.108 49.23 32.728 79.2 32.728s58.094-11.624 79.196-32.726l165.494-165.492c43.662-43.666 43.662-114.72-0.004-158.39zM551.356 600.644l-67.882 67.882 2.746 2.746c4.008 4.008 4.61 8.806 4.61 11.31 0 2.506-0.598 7.302-4.606 11.314l-165.494 165.49c-4.010 4.010-8.81 4.61-11.314 4.61s-7.304-0.6-11.314-4.61l-133.492-133.486c-4.010-4.010-4.61-8.81-4.61-11.314s0.598-7.3 4.61-11.312l165.49-165.488c4.010-4.012 8.81-4.612 11.314-4.612s7.304 0.6 11.314 4.612l2.746 2.742 67.882-67.88-2.746-2.746c-21.104-21.104-49.23-32.726-79.196-32.726s-58.092 11.624-79.196 32.726l-165.488 165.486c-21.106 21.104-32.73 49.234-32.73 79.198s11.624 58.094 32.726 79.198l133.49 133.49c21.106 21.102 49.232 32.726 79.198 32.726s58.092-11.624 79.196-32.726l165.494-165.492c21.104-21.104 32.722-49.23 32.722-79.196s-11.624-58.094-32.726-79.196l-2.744-2.746zM800 838c-9.724 0-19.45-3.708-26.87-11.13l-128-127.998c-14.844-14.84-14.844-38.898 0-53.738 14.84-14.844 38.896-14.844 53.736 0l128 128c14.844 14.84 14.844 38.896 0 53.736-7.416 7.422-17.142 11.13-26.866 11.13zM608 960c-17.674 0-32-14.326-32-32v-128c0-17.674 14.326-32 32-32s32 14.326 32 32v128c0 17.674-14.326 32-32 32zM928 640h-128c-17.674 0-32-14.326-32-32s14.326-32 32-32h128c17.674 0 32 14.326 32 32s-14.326 32-32 32zM224 186c9.724 0 19.45 3.708 26.87 11.13l128 128c14.842 14.84 14.842 38.898 0 53.738-14.84 14.844-38.898 14.844-53.738 0l-128-128c-14.842-14.84-14.842-38.898 0-53.738 7.418-7.422 17.144-11.13 26.868-11.13zM416 64c17.674 0 32 14.326 32 32v128c0 17.674-14.326 32-32 32s-32-14.326-32-32v-128c0-17.674 14.326-32 32-32zM96 384h128c17.674 0 32 14.326 32 32s-14.326 32-32 32h-128c-17.674 0-32-14.326-32-32s14.326-32 32-32z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57362, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 2, + "order": 3, + "prevSize": 32, + "code": 57362, + "name": "link", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 2 + }, + { + "icon": { + "paths": [ + "M927.274 230.216l-133.49-133.488c-21.104-21.104-49.232-32.728-79.198-32.728s-58.094 11.624-79.196 32.726l-165.492 165.49c-43.668 43.668-43.668 114.724 0 158.392l2.746 2.746 67.882-67.882-2.746-2.746c-6.132-6.132-6.132-16.494 0-22.626l165.492-165.492c4.010-4.008 8.808-4.608 11.312-4.608s7.302 0.598 11.312 4.61l133.49 133.488c6.132 6.134 6.132 16.498 0.002 22.628l-165.494 165.494c-4.008 4.008-8.806 4.608-11.31 4.608s-7.302-0.6-11.312-4.612l-2.746-2.746-67.88 67.884 2.742 2.742c21.106 21.108 49.23 32.728 79.2 32.728s58.094-11.624 79.196-32.726l165.494-165.492c43.662-43.666 43.662-114.72-0.004-158.39zM551.356 600.644l-67.882 67.882 2.746 2.746c4.008 4.008 4.61 8.806 4.61 11.31 0 2.506-0.598 7.302-4.606 11.314l-165.494 165.49c-4.010 4.010-8.81 4.61-11.314 4.61s-7.304-0.6-11.314-4.61l-133.492-133.486c-4.010-4.010-4.61-8.81-4.61-11.314s0.598-7.3 4.61-11.312l165.49-165.488c4.010-4.012 8.81-4.612 11.314-4.612s7.304 0.6 11.314 4.612l2.746 2.742 67.882-67.88-2.746-2.746c-21.104-21.104-49.23-32.726-79.196-32.726s-58.092 11.624-79.196 32.726l-165.488 165.486c-21.106 21.104-32.73 49.234-32.73 79.198s11.624 58.094 32.726 79.198l133.49 133.49c21.106 21.102 49.232 32.726 79.198 32.726s58.092-11.624 79.196-32.726l165.494-165.492c21.104-21.104 32.722-49.23 32.722-79.196s-11.624-58.094-32.726-79.196l-2.744-2.746zM352 710c-9.724 0-19.45-3.71-26.87-11.128-14.84-14.84-14.84-38.898 0-53.738l320-320c14.84-14.84 38.896-14.84 53.736 0 14.844 14.84 14.844 38.9 0 53.74l-320 320c-7.416 7.416-17.142 11.126-26.866 11.126z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57361, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 3, + "order": 4, + "prevSize": 32, + "code": 57361, + "name": "unlink", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 3 + }, + { + "icon": { + "paths": [ + "M576 281.326v-217.326l336.002 336-336.002 336v-222.096c-390.906-9.17-315 247.096-256 446.096-288-320-212.092-690.874 256-678.674z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57360, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 4, + "order": 5, + "prevSize": 32, + "code": 57360, + "name": "redo", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 4 + }, + { + "icon": { + "paths": [ + "M704 960c59-199 134.906-455.266-256-446.096v222.096l-336.002-336 336.002-336v217.326c468.092-12.2 544 358.674 256 678.674z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57359, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 5, + "order": 6, + "prevSize": 32, + "code": 57359, + "name": "undo", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 5 + }, + { + "icon": { + "paths": [ + "M256.428 424.726c105.8 0 191.572 91.17 191.572 203.638 0 112.464-85.772 203.636-191.572 203.636-105.802 0-191.572-91.17-191.572-203.636l-0.856-29.092c0-224.93 171.54-407.272 383.144-407.272v116.364c-73.1 0-141.826 30.26-193.516 85.204-9.954 10.578-19.034 21.834-27.224 33.656 9.784-1.64 19.806-2.498 30.024-2.498zM768.428 424.726c105.8 0 191.572 91.17 191.572 203.638 0 112.464-85.772 203.636-191.572 203.636-105.802 0-191.572-91.17-191.572-203.636l-0.856-29.092c0-224.93 171.54-407.272 383.144-407.272v116.364c-73.1 0-141.826 30.26-193.516 85.204-9.956 10.578-19.036 21.834-27.224 33.656 9.784-1.64 19.806-2.498 30.024-2.498z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57358, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 6, + "order": 7, + "prevSize": 32, + "code": 57358, + "name": "blockquote", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 6 + }, + { + "icon": { + "paths": [ + "M64 192h896v128h-896zM384 576h576v128h-576zM384 384h576v128h-576zM64 768h896v128h-896zM64 384l224 160-224 160z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57356, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 7, + "order": 8, + "prevSize": 32, + "code": 57356, + "name": "indent", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 7 + }, + { + "icon": { + "paths": [ + "M64 192h896v128h-896zM64 576h576v128h-576zM64 384h576v128h-576zM64 768h896v128h-896zM960 384l-224 160 224 160z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57357, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 8, + "order": 9, + "prevSize": 32, + "code": 57357, + "name": "outdent", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 8 + }, + { + "icon": { + "paths": [ + "M384 128h576v128h-576zM384 448h576v128h-576zM384 768h576v128h-576zM320 530v-146h-64v-320h-128v64h64v256h-64v64h128v50l-128 60v146h128v64h-128v64h128v64h-128v64h192v-320h-128v-50z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57355, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 9, + "order": 10, + "prevSize": 32, + "code": 57355, + "name": "numlist", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 9 + }, + { + "icon": { + "paths": [ + "M384 128h576v128h-576zM384 448h576v128h-576zM384 768h576v128h-576zM128 192c0 35.346 28.654 64 64 64s64-28.654 64-64c0-35.346-28.654-64-64-64-35.346 0-64 28.654-64 64zM128 512c0 35.346 28.654 64 64 64s64-28.654 64-64c0-35.346-28.654-64-64-64-35.346 0-64 28.654-64 64zM128 832c0 35.346 28.654 64 64 64s64-28.654 64-64c0-35.346-28.654-64-64-64-35.346 0-64 28.654-64 64z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57354, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 10, + "order": 11, + "prevSize": 32, + "code": 57354, + "name": "bullist", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 10 + }, + { + "icon": { + "paths": [ + "M888 384h-56v-256h64v-64h-320v64h64v256h-256v-256h64v-64h-320v64h64v256h-56c-39.6 0-72 32.4-72 72v432c0 39.6 32.4 72 72 72h240c39.6 0 72-32.4 72-72v-312h128v312c0 39.6 32.4 72 72 72h240c39.6 0 72-32.4 72-72v-432c0-39.6-32.4-72-72-72zM348 896h-184c-19.8 0-36-14.4-36-32s16.2-32 36-32h184c19.8 0 36 14.4 36 32s-16.2 32-36 32zM544 512h-64c-17.6 0-32-14.4-32-32s14.4-32 32-32h64c17.6 0 32 14.4 32 32s-14.4 32-32 32zM860 896h-184c-19.8 0-36-14.4-36-32s16.2-32 36-32h184c19.8 0 36 14.4 36 32s-16.2 32-36 32z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57353, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 11, + "order": 12, + "prevSize": 32, + "code": 57353, + "name": "searchreplace", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 11 + }, + { + "icon": { + "paths": [ + "M704 384v-160c0-17.6-14.4-32-32-32h-160v-64c0-35.2-28.8-64-64-64h-128c-35.204 0-64 28.8-64 64v64h-160c-17.602 0-32 14.4-32 32v512c0 17.6 14.398 32 32 32h224v192h384l192-192v-384h-192zM320 128.114c0.034-0.038 0.072-0.078 0.114-0.114h127.768c0.042 0.036 0.082 0.076 0.118 0.114l0 63.886h-128v-63.886zM192 320v-64h384v64h-384zM704 869.49v-101.49h101.49l-101.49 101.49zM832 704h-192v192h-256v-448h448v256z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57352, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 12, + "order": 13, + "prevSize": 32, + "code": 57352, + "name": "paste", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 12 + }, + { + "icon": { + "paths": [ + "M832 320h-192v-64l-192-192h-384v704h384v192h576v-448l-192-192zM832 410.51l101.49 101.49h-101.49v-101.49zM448 154.51l101.49 101.49h-101.49v-101.49zM128 128h256v192h192v384h-448v-576zM960 896h-448v-128h128v-384h128v192h192v320z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57393, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 13, + "order": 14, + "prevSize": 32, + "code": 57393, + "name": "copy", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 13 + }, + { + "icon": { + "paths": [ + "M960 512h-265.876c-50.078-35.42-114.43-54.86-182.124-54.86-89.206 0-164.572-50.242-164.572-109.712 0-59.47 75.366-109.714 164.572-109.714 75.058 0 140.308 35.576 159.12 82.286h113.016c-7.93-50.644-37.58-97.968-84.058-132.826-50.88-38.16-117.676-59.174-188.078-59.174-70.404 0-137.196 21.014-188.074 59.174-54.788 41.090-86.212 99.502-86.212 160.254s31.424 119.164 86.212 160.254c1.956 1.466 3.942 2.898 5.946 4.316h-265.872v64h512.532c58.208 17.106 100.042 56.27 100.042 100.572 0 59.468-75.368 109.71-164.572 109.71-75.060 0-140.308-35.574-159.118-82.286h-113.016c7.93 50.64 37.582 97.968 84.060 132.826 50.876 38.164 117.668 59.18 188.072 59.18 70.402 0 137.198-21.016 188.074-59.174 54.79-41.090 86.208-99.502 86.208-160.254 0-35.298-10.654-69.792-30.294-100.572h204.012v-64z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57389, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 19, + "order": 15, + "prevSize": 32, + "code": 57389, + "name": "strikethrough", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 14 + }, + { + "icon": { + "paths": [ + "M192 832h576v64h-576v-64zM640 128v384c0 31.312-14.7 61.624-41.39 85.352-30.942 27.502-73.068 42.648-118.61 42.648-45.544 0-87.668-15.146-118.608-42.648-26.692-23.728-41.392-54.040-41.392-85.352v-384h-128v384c0 141.382 128.942 256 288 256s288-114.618 288-256v-384h-128z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57388, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 20, + "order": 16, + "prevSize": 32, + "code": 57388, + "name": "underline", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 15 + }, + { + "icon": { + "paths": [ + "M832 128v64h-144l-256 640h144v64h-448v-64h144l256-640h-144v-64h448z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57387, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 21, + "order": 17, + "prevSize": 32, + "code": 57387, + "name": "italic", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 16 + }, + { + "icon": { + "paths": [ + "M625.442 494.182c48.074-38.15 78.558-94.856 78.558-158.182 0-114.876-100.29-208-224-208h-224v768h288c123.712 0 224-93.124 224-208 0-88.196-59.118-163.562-142.558-193.818zM384 304c0-26.51 21.49-48 48-48h67.204c42.414 0 76.796 42.98 76.796 96s-34.382 96-76.796 96h-115.204v-144zM547.2 768h-115.2c-26.51 0-48-21.49-48-48v-144h163.2c42.418 0 76.8 42.98 76.8 96s-34.382 96-76.8 96z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57386, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 22, + "order": 18, + "prevSize": 32, + "code": 57386, + "name": "bold", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 17 + }, + { + "icon": { + "paths": [ + "M850.746 242.746l-133.492-133.49c-24.888-24.892-74.054-45.256-109.254-45.256h-416c-35.2 0-64 28.8-64 64v768c0 35.2 28.8 64 64 64h640c35.2 0 64-28.8 64-64v-544c0-35.2-20.366-84.364-45.254-109.254zM805.49 287.998c6.792 6.796 13.792 19.162 18.894 32.002h-184.384v-184.386c12.84 5.1 25.204 12.1 32 18.896l133.49 133.488zM831.884 896h-639.77c-0.040-0.034-0.082-0.076-0.114-0.116v-767.77c0.034-0.040 0.076-0.082 0.114-0.114h383.886v256h256v511.884c-0.034 0.040-0.076 0.082-0.116 0.116z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57345, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 23, + "order": 19, + "prevSize": 32, + "code": 57345, + "name": "newdocument", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 18 + }, + { + "icon": { + "paths": [ + "M960 880v-591.938l-223.938-224.062h-592.062c-44.182 0-80 35.816-80 80v736c0 44.184 35.818 80 80 80h736c44.184 0 80-35.816 80-80zM576 192h64v192h-64v-192zM704 832h-384v-255.882c0.034-0.042 0.076-0.082 0.116-0.118h383.77c0.040 0.036 0.082 0.076 0.116 0.118l-0.002 255.882zM832 832h-64v-256c0-35.2-28.8-64-64-64h-384c-35.2 0-64 28.8-64 64v256h-64v-640h64v192c0 35.2 28.8 64 64 64h320c35.2 0 64-28.8 64-64v-171.010l128 128.072v490.938z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57344, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 24, + "order": 20, + "prevSize": 32, + "code": 57344, + "name": "save", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 19 + }, + { + "icon": { + "paths": [ + "M64 192v704h896v-704h-896zM384 640v-128h256v128h-256zM640 704v128h-256v-128h256zM640 320v128h-256v-128h256zM320 320v128h-192v-128h192zM128 512h192v128h-192v-128zM704 512h192v128h-192v-128zM704 448v-128h192v128h-192zM128 704h192v128h-192v-128zM704 832v-128h192v128h-192z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57371, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 25, + "order": 21, + "prevSize": 32, + "code": 57371, + "name": "table", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 20 + }, + { + "icon": { + "paths": [ + "M512 140c99.366 0 192.782 38.694 263.042 108.956s108.958 163.678 108.958 263.044-38.696 192.782-108.958 263.042-163.676 108.958-263.042 108.958-192.782-38.696-263.044-108.958-108.956-163.676-108.956-263.042 38.694-192.782 108.956-263.044 163.678-108.956 263.044-108.956zM512 64c-247.424 0-448 200.576-448 448s200.576 448 448 448 448-200.576 448-448-200.576-448-448-448v0zM320 384c0 35.346 28.654 64 64 64s64-28.654 64-64c0-35.346-28.654-64-64-64-35.346 0-64 28.654-64 64zM576 384c0 35.346 28.654 64 64 64s64-28.654 64-64c0-35.346-28.654-64-64-64-35.346 0-64 28.654-64 64zM512 656c-101.84 0-192.56-36.874-251.166-94.328 23.126 117.608 126.778 206.328 251.166 206.328 124.388 0 228.040-88.72 251.168-206.328-58.608 57.454-149.328 94.328-251.168 94.328z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57377, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 26, + "order": 22, + "prevSize": 32, + "code": 57377, + "name": "emoticons", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 21 + }, + { + "icon": { + "paths": [ + "M480 384l-192-192 128-128h-352v352l128-128 192 192zM640 480l192-192 128 128v-352h-352l128 128-192 192zM544 640l192 192-128 128h352v-352l-128 128-192-192zM384 544l-192 192-128-128v352h352l-128-128 192-192z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57379, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 27, + "order": 23, + "prevSize": 32, + "code": 57379, + "name": "fullscreen", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 22 + }, + { + "icon": { + "paths": [ + "M64 448h896v128h-896z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57372, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 28, + "order": 24, + "prevSize": 32, + "code": 57372, + "name": "hr", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 23 + }, + { + "icon": { + "paths": [ + "M64 768h512v128h-512v-128zM768 192h-220.558l-183.766 512h-132.288l183.762-512h-223.15v-128h576v128zM929.774 896l-129.774-129.774-129.774 129.774-62.226-62.226 129.774-129.774-129.774-129.774 62.226-62.226 129.774 129.774 129.774-129.774 62.226 62.226-129.774 129.774 129.774 129.774-62.226 62.226z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57373, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 29, + "order": 25, + "prevSize": 32, + "code": 57373, + "name": "removeformat", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 24 + }, + { + "icon": { + "paths": [ + "M256 128h512v128h-512v-128zM896 320h-768c-35.2 0-64 28.8-64 64v256c0 35.2 28.796 64 64 64h128v192h512v-192h128c35.2 0 64-28.8 64-64v-256c0-35.2-28.8-64-64-64zM704 832h-384v-256h384v256zM910.4 416c0 25.626-20.774 46.4-46.398 46.4s-46.402-20.774-46.402-46.4 20.778-46.4 46.402-46.4c25.626 0 46.398 20.774 46.398 46.4z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57378, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 30, + "order": 26, + "prevSize": 32, + "code": 57378, + "name": "print", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 25 + }, + { + "icon": { + "paths": [ + "M384 128c-123.712 0-224 100.288-224 224s100.288 224 224 224v320h128v-640h64v640h128v-640h128v-128h-448z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57390, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 31, + "order": 27, + "prevSize": 32, + "code": 57390, + "name": "visualchars", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 26 + }, + { + "icon": { + "paths": [ + "M448 128c-123.712 0-224 100.288-224 224s100.288 224 224 224v320h128v-640h64v640h128v-640h128v-128h-448zM64 896l224-192-224-192z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57391, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 32, + "order": 28, + "prevSize": 32, + "code": 57391, + "name": "ltr", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 27 + }, + { + "icon": { + "paths": [ + "M416 704l-192-192 192-192-64-64-256 256 256 256zM672 256l-64 64 192 192-192 192 64 64 256-256z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57367, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 38, + "order": 29, + "prevSize": 32, + "code": 57367, + "name": "code", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 28 + }, + { + "icon": { + "paths": [ + "M448 704h128v128h-128v-128zM704 256c35.346 0 64 28.654 64 64v166l-228 154h-92v-64l192-128v-64h-320v-128h384zM512 64c-119.666 0-232.166 46.6-316.784 131.216-84.614 84.618-131.216 197.118-131.216 316.784 0 119.664 46.602 232.168 131.216 316.784 84.618 84.616 197.118 131.216 316.784 131.216 119.664 0 232.168-46.6 316.784-131.216 84.616-84.616 131.216-197.12 131.216-316.784 0-119.666-46.6-232.166-131.216-316.784-84.616-84.616-197.12-131.216-316.784-131.216z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57366, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 39, + "order": 30, + "prevSize": 32, + "code": 57366, + "name": "help", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 29 + }, + { + "icon": { + "paths": [ + "M896 128h-768c-35.2 0-64 28.8-64 64v640c0 35.2 28.8 64 64 64h768c35.2 0 64-28.8 64-64v-640c0-35.2-28.8-64-64-64zM896 831.884c-0.012 0.014-0.030 0.028-0.042 0.042l-191.958-319.926-160 128-224-288-191.968 479.916c-0.010-0.010-0.022-0.022-0.032-0.032v-639.77c0.034-0.040 0.076-0.082 0.114-0.114h767.77c0.040 0.034 0.082 0.076 0.116 0.116v639.768zM640 352c0 53.019 42.981 96 96 96s96-42.981 96-96c0-53.019-42.981-96-96-96-53.019 0-96 42.981-96 96z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57364, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 40, + "order": 31, + "prevSize": 32, + "code": 57364, + "name": "image", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 30 + }, + { + "icon": { + "paths": [ + "M896 128h-768c-35.2 0-64 28.8-64 64v640c0 35.2 28.8 64 64 64h768c35.2 0 64-28.8 64-64v-640c0-35.2-28.8-64-64-64zM256 832h-128v-128h128v128zM256 576h-128v-128h128v128zM256 320h-128v-128h128v128zM704 832h-384v-640h384v640zM896 832h-128v-128h128v128zM896 576h-128v-128h128v128zM896 320h-128v-128h128v128zM384 320v384l288-192z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57365, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 41, + "order": 32, + "prevSize": 32, + "code": 57365, + "name": "media", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 31 + }, + { + "icon": { + "paths": [ + "M77.798 304.624l81.414 50.882c50.802-81.114 128.788-143.454 221.208-174.246l-30.366-91.094c-113.748 37.898-209.728 114.626-272.256 214.458zM673.946 90.166l-30.366 91.094c92.422 30.792 170.404 93.132 221.208 174.248l81.412-50.882c-62.526-99.834-158.506-176.562-272.254-214.46zM607.974 704.008c-4.808 0-9.692-1.090-14.286-3.386l-145.688-72.844v-211.778c0-17.672 14.328-32 32-32s32 14.328 32 32v172.222l110.31 55.156c15.806 7.902 22.214 27.124 14.31 42.932-5.604 11.214-16.908 17.696-28.646 17.698zM512 192c-212.078 0-384 171.922-384 384s171.922 384 384 384c212.078 0 384-171.922 384-384 0-212.078-171.922-384-384-384zM512 864c-159.058 0-288-128.942-288-288s128.942-288 288-288c159.058 0 288 128.942 288 288 0 159.058-128.942 288-288 288z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57368, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 42, + "order": 33, + "prevSize": 32, + "code": 57368, + "name": "insertdatetime", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 32 + }, + { + "icon": { + "paths": [ + "M64 455.746c45.318-49.92 97.162-92.36 153.272-125.124 90.332-52.744 192.246-80.622 294.728-80.622 102.48 0 204.396 27.878 294.726 80.624 56.112 32.764 107.956 75.204 153.274 125.124v-117.432c-33.010-28.118-68.124-53.14-104.868-74.594-105.006-61.314-223.658-93.722-343.132-93.722s-238.128 32.408-343.134 93.72c-36.742 21.454-71.856 46.478-104.866 74.596v117.43zM512 320c-183.196 0-345.838 100.556-448 256 102.162 155.448 264.804 256 448 256 183.196 0 345.838-100.552 448-256-102.162-155.444-264.804-256-448-256zM512 512c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-35.348 28.654-64 64-64s64 28.652 64 64zM728.066 696.662c-67.434 39.374-140.128 59.338-216.066 59.338s-148.632-19.964-216.066-59.338c-51.554-30.104-98.616-71.31-138.114-120.662 39.498-49.35 86.56-90.558 138.116-120.66 13.276-7.752 26.758-14.74 40.426-20.982-10.512 23.742-16.362 50.008-16.362 77.642 0 106.040 85.962 192 192 192 106.040 0 192-85.96 192-192 0-27.634-5.85-53.9-16.36-77.642 13.668 6.244 27.15 13.23 40.426 20.982 51.554 30.102 98.616 71.31 138.116 120.66-39.498 49.352-86.56 90.558-138.116 120.662z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57369, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 43, + "order": 34, + "prevSize": 32, + "code": 57369, + "name": "preview", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 33 + }, + { + "icon": { + "paths": [ + "M651.168 283.834c-24.612-81.962-28.876-91.834-107.168-91.834h-64c-79.618 0-82.664 10.152-108.418 96 0 0.002 0 0.002-0.002 0.004l-143.998 479.996h113.636l57.6-192h226.366l57.6 192h113.63l-145.246-484.166zM437.218 448l38.4-136c10.086-33.618 36.38-30 36.38-30s26.294-3.618 36.38 30h0.004l38.4 136h-149.564z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57370, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 44, + "order": 35, + "prevSize": 32, + "code": 57370, + "name": "forecolor", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 34 + }, + { + "icon": { + "paths": [ + "M576 64c247.424 0 448 200.576 448 448s-200.576 448-448 448v-96c94.024 0 182.418-36.614 248.902-103.098 66.484-66.484 103.098-154.878 103.098-248.902 0-94.022-36.614-182.418-103.098-248.902-66.484-66.484-154.878-103.098-248.902-103.098-94.022 0-182.418 36.614-248.902 103.098-51.14 51.138-84.582 115.246-97.306 184.902h186.208l-224 256-224-256h164.57c31.060-217.102 217.738-384 443.43-384zM768 448v128h-256v-320h128v192z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57384, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 45, + "order": 36, + "prevSize": 32, + "code": 57384, + "name": "restoredraft", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 35 + }, + { + "icon": { + "paths": [ + "M1024 592.458v-160.916l-159.144-15.914c-8.186-30.042-20.088-58.548-35.21-84.98l104.596-127.838-113.052-113.050-127.836 104.596c-26.434-15.124-54.942-27.026-84.982-35.208l-15.914-159.148h-160.916l-15.914 159.146c-30.042 8.186-58.548 20.086-84.98 35.208l-127.838-104.594-113.050 113.050 104.596 127.836c-15.124 26.432-27.026 54.94-35.21 84.98l-159.146 15.916v160.916l159.146 15.914c8.186 30.042 20.086 58.548 35.21 84.982l-104.596 127.836 113.048 113.048 127.838-104.596c26.432 15.124 54.94 27.028 84.98 35.21l15.916 159.148h160.916l15.914-159.144c30.042-8.186 58.548-20.088 84.982-35.21l127.836 104.596 113.048-113.048-104.596-127.836c15.124-26.434 27.028-54.942 35.21-84.98l159.148-15.92zM704 576l-128 128h-128l-128-128v-128l128-128h128l128 128v128z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57346, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 46, + "order": 37, + "prevSize": 32, + "code": 57346, + "name": "fullpage", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 36 + }, + { + "icon": { + "paths": [ + "M768 206v50h128v64h-192v-146l128-60v-50h-128v-64h192v146zM676 256h-136l-188 188-188-188h-136l256 256-256 256h136l188-188 188 188h136l-256-256z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57375, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 47, + "order": 38, + "prevSize": 32, + "code": 57375, + "name": "superscript", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 37 + }, + { + "icon": { + "paths": [ + "M768 910v50h128v64h-192v-146l128-60v-50h-128v-64h192v146zM676 256h-136l-188 188-188-188h-136l256 256-256 256h136l188-188 188 188h136l-256-256z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57374, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 48, + "order": 39, + "prevSize": 32, + "code": 57374, + "name": "subscript", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 38 + }, + { + "icon": { + "paths": [ + "M704 384v-160c0-17.6-14.4-32-32-32h-160v-64c0-35.2-28.8-64-64-64h-128c-35.204 0-64 28.8-64 64v64h-160c-17.602 0-32 14.4-32 32v512c0 17.6 14.398 32 32 32h224v192h576v-576h-192zM320 128.114c0.034-0.038 0.072-0.078 0.114-0.114h127.768c0.042 0.036 0.082 0.076 0.118 0.114l0 63.886h-128v-63.886zM192 320v-64h384v64h-384zM832 896h-448v-448h448v448zM448 512v128h32l32-64h64v192h-48v64h160v-64h-48v-192h64l32 64h32v-128z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "pastetext" + ], + "defaultCode": 57397, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 49, + "order": 40, + "prevSize": 32, + "code": 57397, + "name": "pastetext", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 39 + }, + { + "icon": { + "paths": [ + "M768 256h64v64h-64zM640 384h64v64h-64zM640 512h64v64h-64zM640 640h64v64h-64zM512 512h64v64h-64zM512 640h64v64h-64zM384 640h64v64h-64zM768 384h64v64h-64zM768 512h64v64h-64zM768 640h64v64h-64zM768 768h64v64h-64zM640 768h64v64h-64zM512 768h64v64h-64zM384 768h64v64h-64zM256 768h64v64h-64z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "resize", + "dots" + ], + "defaultCode": 57394, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 50, + "order": 41, + "prevSize": 32, + "code": 57394, + "name": "resize", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 40 + }, + { + "icon": { + "paths": [ + "M928 128h-416l-32-64h-352l-64 128h896zM840.34 704h87.66l32-448h-896l64 640h356.080c-104.882-37.776-180.080-138.266-180.080-256 0-149.982 122.018-272 272-272 149.98 0 272 122.018 272 272 0 21.678-2.622 43.15-7.66 64zM874.996 849.75l-134.496-110.692c17.454-28.922 27.5-62.814 27.5-99.058 0-106.040-85.96-192-192-192s-192 85.96-192 192 85.96 192 192 192c36.244 0 70.138-10.046 99.058-27.5l110.692 134.496c22.962 26.678 62.118 28.14 87.006 3.252l5.492-5.492c24.888-24.888 23.426-64.044-3.252-87.006zM576 764c-68.484 0-124-55.516-124-124s55.516-124 124-124 124 55.516 124 124-55.516 124-124 124z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "browse" + ], + "defaultCode": 57396, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 51, + "order": 42, + "prevSize": 32, + "code": 57396, + "name": "browse", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 41 + }, + { + "icon": { + "paths": [ + "M864.408 670.132c-46.47-46.47-106.938-68.004-161.082-62.806l-63.326-63.326 192-192c0 0 128-128 0-256l-320 320-320-320c-128 128 0 256 0 256l192 192-63.326 63.326c-54.144-5.198-114.61 16.338-161.080 62.806-74.98 74.98-85.112 186.418-22.626 248.9 62.482 62.482 173.92 52.354 248.9-22.626 46.47-46.468 68.002-106.938 62.806-161.080l63.326-63.326 63.328 63.328c-5.196 54.144 16.336 114.61 62.806 161.078 74.978 74.98 186.418 85.112 248.898 22.626 62.488-62.482 52.356-173.918-22.624-248.9zM353.124 758.578c-2.212 24.332-15.020 49.826-35.14 69.946-22.212 22.214-51.080 35.476-77.218 35.476-10.524 0-25.298-2.228-35.916-12.848-21.406-21.404-17.376-73.132 22.626-113.136 22.212-22.214 51.080-35.476 77.218-35.476 10.524 0 25.298 2.228 35.916 12.848 13.112 13.11 13.47 32.688 12.514 43.19zM512 608c-35.346 0-64-28.654-64-64s28.654-64 64-64 64 28.654 64 64-28.654 64-64 64zM819.152 851.152c-10.62 10.62-25.392 12.848-35.916 12.848-26.138 0-55.006-13.262-77.218-35.476-20.122-20.12-32.928-45.614-35.138-69.946-0.958-10.502-0.6-30.080 12.514-43.192 10.618-10.622 25.39-12.848 35.916-12.848 26.136 0 55.006 13.262 77.216 35.474 40.004 40.008 44.032 91.736 22.626 113.14z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57351, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 14, + "order": 43, + "prevSize": 32, + "code": 57351, + "name": "cut", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 42 + }, + { + "icon": { + "paths": [ + "M64 192h896v128h-896zM64 576h896v128h-896zM64 384h896v128h-896zM64 768h896v128h-896z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57350, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 15, + "order": 44, + "prevSize": 32, + "code": 57350, + "name": "alignjustify", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 43 + }, + { + "icon": { + "paths": [ + "M64 192h896v128h-896zM64 576h896v128h-896zM256 384h512v128h-512zM256 768h512v128h-512z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57348, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 16, + "order": 45, + "prevSize": 32, + "code": 57348, + "name": "aligncenter", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 44 + }, + { + "icon": { + "paths": [ + "M64 192h896v128h-896zM64 576h896v128h-896zM384 384h576v128h-576zM384 768h576v128h-576z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57349, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 17, + "order": 46, + "prevSize": 32, + "code": 57349, + "name": "alignright", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 45 + }, + { + "icon": { + "paths": [ + "M64 192h896v128h-896zM64 576h896v128h-896zM64 384h576v128h-576zM64 768h576v128h-576z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57347, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 18, + "order": 47, + "prevSize": 32, + "code": 57347, + "name": "alignleft", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 46 + }, + { + "icon": { + "paths": [ + "M320 128c-123.712 0-224 100.288-224 224s100.288 224 224 224v320h128v-640h64v640h128v-640h128v-128h-448zM960 512l-224 192 224 192z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57392, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 33, + "order": 48, + "prevSize": 32, + "code": 57392, + "name": "rtl", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 47 + }, + { + "icon": { + "paths": [ + "M512 384h128v64h-128zM512 768h128v64h-128zM576 576h128v64h-128zM768 576v192h-64v64h128v-256zM384 576h128v64h-128zM320 768h128v64h-128zM320 384h128v64h-128zM192 192v256h64v-192h64v-64zM704 448h128v-256h-64v192h-64zM64 64v896h896v-896h-896zM896 896h-768v-768h768v768zM192 576v256h64v-192h64v-64zM576 192h128v64h-128zM384 192h128v64h-128z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57382, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 34, + "order": 49, + "prevSize": 32, + "code": 57382, + "name": "template", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 48 + }, + { + "icon": { + "paths": [ + "M816 64l16 384h-640l16-384h32l16 320h512l16-320h32zM208 960l-16-320h640l-16 320h-32l-16-256h-512l-16 256h-32zM64 512h128v64h-128zM256 512h128v64h-128zM448 512h128v64h-128zM640 512h128v64h-128zM832 512h128v64h-128z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57383, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 35, + "order": 50, + "prevSize": 32, + "code": 57383, + "name": "pagebreak", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 49 + }, + { + "icon": { + "paths": [ + "M960 128v-64h-192c-35.202 0-64 28.8-64 64v320c0 15.856 5.858 30.402 15.496 41.614l-303.496 260.386-142-148-82 70 224 288 416-448h128v-64h-192v-320h192zM256 512h64v-384c0-35.2-28.8-64-64-64h-128c-35.2 0-64 28.8-64 64v384h64v-192h128v192zM128 256v-128h128v128h-128zM640 448v-96c0-35.2-8.8-64-44-64 35.2 0 44-28.8 44-64v-96c0-35.2-28.8-64-64-64h-192v448h192c35.2 0 64-28.8 64-64zM448 128h128v128h-128v-128zM448 320h128v128h-128v-128z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57380, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 36, + "order": 51, + "prevSize": 32, + "code": 57380, + "name": "spellcheck", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 50 + }, + { + "icon": { + "paths": [ + "M448 512h-128v-128h128v-128h128v128h128v128h-128v128h-128v-128zM960 576v320h-896v-320h128v192h640v-192h128z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57381, + "grid": 0 + }, + "attrs": [], + "properties": { + "id": 37, + "order": 52, + "prevSize": 32, + "code": 57381, + "name": "nonbreaking", + "ligatures": "" + }, + "setIdx": 0, + "setId": 2, + "iconIdx": 51 + }, + { + "icon": { + "paths": [ + "M256 352v-128c0-53.020 42.98-96 96-96h32v-128h-32c-123.712 0-224 100.288-224 224v128c0 53.020-42.98 96-96 96h-32v128h32c53.020 0 96 42.98 96 96v128c0 123.71 100.288 224 224 224h32v-128h-32c-53.020 0-96-42.98-96-96v-128c0-62.684-25.758-119.342-67.254-160 41.496-40.658 67.254-97.316 67.254-160z", + "M1024 352v-128c0-53.020-42.98-96-96-96h-32v-128h32c123.71 0 224 100.288 224 224v128c0 53.020 42.98 96 96 96h32v128h-32c-53.020 0-96 42.98-96 96v128c0 123.71-100.29 224-224 224h-32v-128h32c53.020 0 96-42.98 96-96v-128c0-62.684 25.758-119.342 67.254-160-41.496-40.658-67.254-97.316-67.254-160z", + "M768 320.882c0 70.692-57.308 128-128 128s-128-57.308-128-128c0-70.692 57.308-128 128-128s128 57.308 128 128z", + "M640 511.118c-70.692 0-128 57.308-128 128 0 68.732 32 123.216 130.156 127.852-29.19 41.126-73.156 57.366-130.156 62.7v76c0 0 256 22.332 256-266.55-0.25-70.694-57.306-128.002-128-128.002z" + ], + "width": 1280, + "attrs": [], + "isMulticolor": false, + "tags": [ + "code", + "semicolon", + "curly-braces" + ], + "grid": 16 + }, + "attrs": [], + "properties": { + "order": 1, + "id": 0, + "prevSize": 16, + "code": 58883, + "name": "codesample" + }, + "setIdx": 1, + "setId": 1, + "iconIdx": 0 + } + ], + "height": 1024, + "metadata": { + "name": "tinymce-small" + }, + "preferences": { + "showGlyphs": true, + "showQuickUse": true, + "showQuickUse2": true, + "showSVGs": true, + "fontPref": { + "prefix": "icon-", + "metadata": { + "fontFamily": "tinymce-small", + "majorVersion": 1, + "minorVersion": 0 + }, + "metrics": { + "emSize": 1024, + "baseline": 6.25, + "whitespace": 50 + }, + "showMetrics": false, + "showMetadata": false, + "showVersion": false, + "embed": false + }, + "imagePref": { + "prefix": "icon-", + "png": true, + "useClassSelector": true, + "color": 4473924, + "bgColor": 16777215 + }, + "historySize": 100, + "showCodes": true + } +} \ No newline at end of file diff --git a/static/tinymce1.3/skins/lightgray/fonts/tinymce-small.svg b/static/tinymce1.3/skins/lightgray/fonts/tinymce-small.svg new file mode 100755 index 00000000..b4ee6f40 --- /dev/null +++ b/static/tinymce1.3/skins/lightgray/fonts/tinymce-small.svg @@ -0,0 +1,63 @@ + + + +Generated by IcoMoon + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/static/tinymce1.3/skins/lightgray/fonts/tinymce-small.ttf b/static/tinymce1.3/skins/lightgray/fonts/tinymce-small.ttf new file mode 100755 index 00000000..a983e2dc Binary files /dev/null and b/static/tinymce1.3/skins/lightgray/fonts/tinymce-small.ttf differ diff --git a/static/tinymce1.3/skins/lightgray/fonts/tinymce-small.woff b/static/tinymce1.3/skins/lightgray/fonts/tinymce-small.woff new file mode 100755 index 00000000..d8962df7 Binary files /dev/null and b/static/tinymce1.3/skins/lightgray/fonts/tinymce-small.woff differ diff --git a/static/tinymce1.3/skins/lightgray/fonts/tinymce.eot b/static/tinymce1.3/skins/lightgray/fonts/tinymce.eot new file mode 100755 index 00000000..f99c13f3 Binary files /dev/null and b/static/tinymce1.3/skins/lightgray/fonts/tinymce.eot differ diff --git a/static/tinymce1.3/skins/lightgray/fonts/tinymce.json b/static/tinymce1.3/skins/lightgray/fonts/tinymce.json new file mode 100755 index 00000000..a05fc1d2 --- /dev/null +++ b/static/tinymce1.3/skins/lightgray/fonts/tinymce.json @@ -0,0 +1,3469 @@ +{ + "IcoMoonType": "selection", + "icons": [ + { + "icon": { + "paths": [ + "M889.68 166.32c-93.608-102.216-228.154-166.32-377.68-166.32-282.77 0-512 229.23-512 512h96c0-229.75 186.25-416 416-416 123.020 0 233.542 53.418 309.696 138.306l-149.696 149.694h352v-352l-134.32 134.32z", + "M928 512c0 229.75-186.25 416-416 416-123.020 0-233.542-53.418-309.694-138.306l149.694-149.694h-352v352l134.32-134.32c93.608 102.216 228.154 166.32 377.68 166.32 282.77 0 512-229.23 512-512h-96z" + ], + "attrs": [ + {}, + {} + ], + "isMulticolor": false, + "isMulticolor2": false, + "grid": 16, + "tags": [ + "reload" + ] + }, + "attrs": [ + {}, + {} + ], + "properties": { + "order": 647, + "id": 120, + "name": "reload", + "prevSize": 32, + "code": 59654 + }, + "setIdx": 0, + "setId": 5, + "iconIdx": 0 + }, + { + "icon": { + "paths": [ + "M0 64h128v128h-128v-128z", + "M192 64h832v128h-832v-128z", + "M0 448h128v128h-128v-128z", + "M192 448h832v128h-832v-128z", + "M0 832h128v128h-128v-128z", + "M192 832h832v128h-832v-128z", + "M192 256h128v128h-128v-128z", + "M384 256h640v128h-640v-128z", + "M192 640h128v128h-128v-128z", + "M384 640h640v128h-640v-128z" + ], + "attrs": [ + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {} + ], + "isMulticolor": false, + "isMulticolor2": false, + "tags": [ + "toc" + ], + "grid": 16 + }, + "attrs": [ + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {} + ], + "properties": { + "order": 646, + "id": 1, + "name": "toc", + "prevSize": 32, + "code": 59649 + }, + "setIdx": 0, + "setId": 6, + "iconIdx": 1 + }, + { + "icon": { + "paths": [ + "M576.234 289.27l242.712-81.432 203.584 606.784-242.712 81.432zM0 896h256v-704h-256v704zM64 320h128v64h-128v-64zM320 896h256v-704h-256v704zM384 320h128v64h-128v-64z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "books", + "library", + "archive" + ], + "defaultCode": 57458, + "grid": 16 + }, + "attrs": [], + "properties": { + "order": 523, + "id": 1722, + "prevSize": 32, + "code": 59665, + "name": "books", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 0 + }, + { + "icon": { + "paths": [ + "M0 416v192c0 17.672 14.328 32 32 32h960c17.672 0 32-14.328 32-32v-192c0-17.672-14.328-32-32-32h-960c-17.672 0-32 14.328-32 32z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "minus", + "minimize", + "subtract" + ], + "defaultCode": 58229, + "grid": 16 + }, + "attrs": [], + "properties": { + "order": 597, + "id": 1723, + "prevSize": 32, + "code": 59705, + "name": "minus", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 1 + }, + { + "icon": { + "paths": [ + "M992 384h-352v-352c0-17.672-14.328-32-32-32h-192c-17.672 0-32 14.328-32 32v352h-352c-17.672 0-32 14.328-32 32v192c0 17.672 14.328 32 32 32h352v352c0 17.672 14.328 32 32 32h192c17.672 0 32-14.328 32-32v-352h352c17.672 0 32-14.328 32-32v-192c0-17.672-14.328-32-32-32z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "plus", + "add", + "sum" + ], + "defaultCode": 58230, + "grid": 16 + }, + "attrs": [], + "properties": { + "order": 598, + "id": 1724, + "prevSize": 32, + "code": 59706, + "name": "plus", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 2 + }, + { + "icon": { + "paths": [ + "M521.6 44.8l-67.2 67.2-86.4-86.4-86.4 86.4 86.4 86.4-368 368 432 432 518.4-518.4-428.8-435.2zM435.2 825.6l-262.4-262.4 35.2-35.2 576-51.2-348.8 348.8zM953.6 550.4c-6.4 6.4-16 16-28.8 32-28.8 32-41.6 64-41.6 89.6v0 0 0 0 0 0 0c0 16 6.4 35.2 22.4 48 12.8 12.8 32 22.4 48 22.4s35.2-6.4 48-22.4 22.4-32 22.4-48v0 0 0 0 0 0 0c0-25.6-12.8-54.4-41.6-89.6-9.6-16-22.4-25.6-28.8-32v0z" + ], + "attrs": [ + {} + ], + "isMulticolor": false, + "tags": [ + "fill" + ], + "grid": 16 + }, + "attrs": [ + {} + ], + "properties": { + "order": 599, + "id": 1695, + "prevSize": 32, + "code": 59650, + "name": "fill" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 3 + }, + { + "icon": { + "paths": [ + "M0 694.4h1024v128h-1024v-128z", + "M0 928h1024v64h-1024v-64z", + "M0 393.6h1024v192h-1024v-192z", + "M0 32h1024v256h-1024v-256z" + ], + "attrs": [ + {}, + {}, + {}, + {} + ], + "isMulticolor": false, + "tags": [ + "borderwidth" + ], + "grid": 16 + }, + "attrs": [ + {}, + {}, + {}, + {} + ], + "properties": { + "order": 524, + "id": 1696, + "prevSize": 32, + "code": 59651, + "name": "borderwidth" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 4 + }, + { + "icon": { + "paths": [ + "M739.2 332.8l-502.4 502.4h-185.6v-185.6l502.4-502.4 185.6 185.6zM803.2 272l-185.6-185.6 67.2-67.2c22.4-22.4 54.4-22.4 76.8 0l108.8 108.8c22.4 22.4 22.4 54.4 0 76.8l-67.2 67.2zM41.6 912h940.8v112h-940.8v-112z" + ], + "attrs": [ + {} + ], + "isMulticolor": false, + "tags": [ + "line" + ], + "grid": 16 + }, + "attrs": [ + {} + ], + "properties": { + "order": 525, + "id": 1697, + "prevSize": 32, + "code": 59652, + "name": "line" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 5 + }, + { + "icon": { + "paths": [ + "M0 480h1024v64h-1024v-64z", + "M304 48v339.2h-67.2v-272h-67.2v-67.2z", + "M444.8 265.6v54.4h134.4v67.2h-201.6v-153.6l134.4-64v-54.4h-134.4v-67.2h201.6v153.6z", + "M854.4 48v339.2h-204.8v-67.2h137.6v-67.2h-137.6v-70.4h137.6v-67.2h-137.6v-67.2z", + "M115.2 793.6c3.2-57.6 38.4-83.2 108.8-83.2 38.4 0 67.2 9.6 86.4 25.6s25.6 35.2 25.6 70.4v112c0 25.6 0 28.8 9.6 41.6h-73.6c-3.2-9.6-3.2-9.6-6.4-19.2-22.4 19.2-41.6 25.6-70.4 25.6-54.4 0-89.6-32-89.6-76.8s28.8-70.4 99.2-80l38.4-6.4c16-3.2 22.4-6.4 22.4-16 0-12.8-12.8-22.4-38.4-22.4s-41.6 9.6-44.8 28.8h-67.2zM262.4 844.8c-6.4 3.2-12.8 6.4-25.6 6.4l-25.6 6.4c-25.6 6.4-38.4 16-38.4 28.8 0 16 12.8 25.6 35.2 25.6s41.6-9.6 54.4-32v-35.2z", + "M390.4 624h73.6v112c22.4-16 41.6-22.4 67.2-22.4 64 0 105.6 51.2 105.6 124.8 0 76.8-44.8 134.4-108.8 134.4-32 0-48-9.6-67.2-35.2v28.8h-70.4v-342.4zM460.8 838.4c0 41.6 22.4 70.4 51.2 70.4s51.2-28.8 51.2-70.4c0-44.8-19.2-70.4-51.2-70.4-28.8 0-51.2 28.8-51.2 70.4z", + "M851.2 806.4c-3.2-22.4-19.2-35.2-44.8-35.2-32 0-51.2 25.6-51.2 70.4 0 48 19.2 73.6 51.2 73.6 25.6 0 41.6-12.8 44.8-41.6l70.4 3.2c-9.6 60.8-54.4 96-118.4 96-73.6 0-121.6-51.2-121.6-128 0-80 48-131.2 124.8-131.2 64 0 108.8 35.2 112 96h-67.2z" + ], + "attrs": [ + {}, + {}, + {}, + {}, + {}, + {}, + {} + ], + "isMulticolor": false, + "tags": [ + "count" + ], + "grid": 16 + }, + "attrs": [ + {}, + {}, + {}, + {}, + {}, + {}, + {} + ], + "properties": { + "order": 526, + "id": 1698, + "prevSize": 32, + "code": 59653, + "name": "count" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 6 + }, + { + "icon": { + "paths": [ + "M553.6 656l-118.4-118.4c80-89.6 137.6-195.2 172.8-304h137.6v-92.8h-326.4v-92.8h-92.8v92.8h-326.4v92.8h518.4c-32 89.6-80 176-147.2 249.6-44.8-48-80-99.2-108.8-156.8h-92.8c35.2 76.8 80 147.2 137.6 211.2l-236.8 233.6 67.2 67.2 233.6-233.6 144 144c3.2 0 38.4-92.8 38.4-92.8zM816 419.2h-92.8l-208 560h92.8l51.2-140.8h220.8l51.2 140.8h92.8l-208-560zM691.2 745.6l76.8-201.6 76.8 201.6h-153.6z" + ], + "attrs": [ + {} + ], + "isMulticolor": false, + "tags": [ + "translate" + ], + "grid": 16 + }, + "attrs": [ + {} + ], + "properties": { + "order": 527, + "id": 1699, + "prevSize": 32, + "code": 59655, + "name": "translate" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 7 + }, + { + "icon": { + "paths": [ + "M576 64h128v128h-128v-128z", + "M576 320h128v128h-128v-128z", + "M320 320h128v128h-128v-128z", + "M576 576h128v128h-128v-128z", + "M320 576h128v128h-128v-128z", + "M320 832h128v128h-128v-128z", + "M576 832h128v128h-128v-128z", + "M320 64h128v128h-128v-128z" + ], + "attrs": [ + { + "opacity": 1, + "visibility": false + }, + { + "opacity": 1, + "visibility": false + }, + { + "opacity": 1, + "visibility": false + }, + { + "opacity": 1, + "visibility": false + }, + { + "opacity": 1, + "visibility": false + }, + { + "opacity": 1, + "visibility": false + }, + { + "opacity": 1, + "visibility": false + }, + { + "opacity": 1, + "visibility": false + }, + { + "opacity": 1, + "visibility": false + } + ], + "isMulticolor": false, + "tags": [ + "drag" + ], + "grid": 16 + }, + "attrs": [ + { + "opacity": 1, + "visibility": false + }, + { + "opacity": 1, + "visibility": false + }, + { + "opacity": 1, + "visibility": false + }, + { + "opacity": 1, + "visibility": false + }, + { + "opacity": 1, + "visibility": false + }, + { + "opacity": 1, + "visibility": false + }, + { + "opacity": 1, + "visibility": false + }, + { + "opacity": 1, + "visibility": false + }, + { + "opacity": 1, + "visibility": false + } + ], + "properties": { + "order": 528, + "id": 1700, + "prevSize": 32, + "code": 59656, + "name": "drag", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 8 + }, + { + "icon": { + "paths": [ + "M1024 590.444l-512-397.426-512 397.428v-162.038l512-397.426 512 397.428zM896 576v384h-256v-256h-256v256h-256v-384l384-288z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "home" + ], + "defaultCode": 57345, + "grid": 16 + }, + "attrs": [], + "properties": { + "order": 529, + "id": 1701, + "prevSize": 32, + "code": 59659, + "name": "home", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 9 + }, + { + "icon": { + "paths": [ + "M839.432 199.43c27.492 27.492 50.554 78.672 55.552 120.57h-318.984v-318.984c41.898 4.998 93.076 28.060 120.568 55.552l142.864 142.862zM512 384v-384h-368c-44 0-80 36-80 80v864c0 44 36 80 80 80h672c44 0 80-36 80-80v-560h-384zM576 768v192h-192v-192h-160l256-256 256 256h-160z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "upload" + ], + "defaultCode": 57474, + "grid": 16 + }, + "attrs": [], + "properties": { + "order": 530, + "id": 1702, + "prevSize": 32, + "code": 59668, + "name": "upload", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 10 + }, + { + "icon": { + "paths": [ + "M928 64h-832c-52.8 0-96 43.2-96 96v512c0 52.8 43.2 96 96 96h160v256l307.2-256h364.8c52.8 0 96-43.2 96-96v-512c0-52.8-43.2-96-96-96zM896 640h-379.142l-196.858 174.714v-174.714h-192v-448h768v448z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "bubble" + ], + "defaultCode": 57703, + "grid": 16 + }, + "attrs": [], + "properties": { + "order": 600, + "id": 1703, + "prevSize": 32, + "code": 59676, + "name": "bubble", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 11 + }, + { + "icon": { + "paths": [ + "M622.826 702.736c-22.11-3.518-22.614-64.314-22.614-64.314s64.968-64.316 79.128-150.802c38.090 0 61.618-91.946 23.522-124.296 1.59-34.054 48.96-267.324-190.862-267.324-239.822 0-192.45 233.27-190.864 267.324-38.094 32.35-14.57 124.296 23.522 124.296 14.158 86.486 79.128 150.802 79.128 150.802s-0.504 60.796-22.614 64.314c-71.22 11.332-337.172 128.634-337.172 257.264h896c0-128.63-265.952-245.932-337.174-257.264z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "user" + ], + "defaultCode": 57733, + "grid": 16 + }, + "attrs": [], + "properties": { + "order": 601, + "id": 1704, + "prevSize": 32, + "code": 59677, + "name": "user", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 12 + }, + { + "icon": { + "paths": [ + "M592 448h-16v-192c0-105.87-86.13-192-192-192h-128c-105.87 0-192 86.13-192 192v192h-16c-26.4 0-48 21.6-48 48v480c0 26.4 21.6 48 48 48h544c26.4 0 48-21.6 48-48v-480c0-26.4-21.6-48-48-48zM192 256c0-35.29 28.71-64 64-64h128c35.29 0 64 28.71 64 64v192h-256v-192z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "lock" + ], + "defaultCode": 57811, + "grid": 16 + }, + "attrs": [], + "properties": { + "order": 602, + "id": 1705, + "prevSize": 32, + "code": 59686, + "name": "lock" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 13 + }, + { + "icon": { + "paths": [ + "M768 64c105.87 0 192 86.13 192 192v192h-128v-192c0-35.29-28.71-64-64-64h-128c-35.29 0-64 28.71-64 64v192h16c26.4 0 48 21.6 48 48v480c0 26.4-21.6 48-48 48h-544c-26.4 0-48-21.6-48-48v-480c0-26.4 21.6-48 48-48h400v-192c0-105.87 86.13-192 192-192h128z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "unlock" + ], + "defaultCode": 57812, + "grid": 16 + }, + "attrs": [], + "properties": { + "order": 603, + "id": 1706, + "prevSize": 32, + "code": 59687, + "name": "unlock" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 14 + }, + { + "icon": { + "paths": [ + "M448 128v-16c0-26.4-21.6-48-48-48h-160c-26.4 0-48 21.6-48 48v16h-192v128h192v16c0 26.4 21.6 48 48 48h160c26.4 0 48-21.6 48-48v-16h576v-128h-576zM256 256v-128h128v128h-128zM832 432c0-26.4-21.6-48-48-48h-160c-26.4 0-48 21.6-48 48v16h-576v128h576v16c0 26.4 21.6 48 48 48h160c26.4 0 48-21.6 48-48v-16h192v-128h-192v-16zM640 576v-128h128v128h-128zM448 752c0-26.4-21.6-48-48-48h-160c-26.4 0-48 21.6-48 48v16h-192v128h192v16c0 26.4 21.6 48 48 48h160c26.4 0 48-21.6 48-48v-16h576v-128h-576v-16zM256 896v-128h128v128h-128z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "settings" + ], + "defaultCode": 57819, + "grid": 16 + }, + "attrs": [], + "properties": { + "order": 604, + "id": 1707, + "prevSize": 32, + "code": 59688, + "name": "settings", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 15 + }, + { + "icon": { + "paths": [ + "M192 1024h640l64-704h-768zM640 128v-128h-256v128h-320v192l64-64h768l64 64v-192h-320zM576 128h-128v-64h128v64z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "remove2" + ], + "defaultCode": 57935, + "grid": 16 + }, + "attrs": [], + "properties": { + "order": 605, + "id": 1708, + "prevSize": 32, + "code": 59690, + "name": "remove2", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 16 + }, + { + "icon": { + "paths": [ + "M384 64h256v256h-256zM384 384h256v256h-256zM384 704h256v256h-256z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "menu" + ], + "defaultCode": 58025, + "grid": 16 + }, + "attrs": [], + "properties": { + "order": 606, + "id": 1709, + "prevSize": 32, + "code": 59693, + "name": "menu", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 17 + }, + { + "icon": { + "paths": [ + "M1009.956 915.76l-437.074-871.112c-16.742-29.766-38.812-44.648-60.882-44.648s-44.14 14.882-60.884 44.648l-437.074 871.112c-33.486 59.532-5 108.24 63.304 108.24h869.308c68.302 0 96.792-48.708 63.302-108.24zM512 896c-35.346 0-64-28.654-64-64 0-35.348 28.654-64 64-64 35.348 0 64 28.652 64 64 0 35.346-28.652 64-64 64zM556 704h-88l-20-256c0-35.346 28.654-64 64-64s64 28.654 64 64l-20 256z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "warning" + ], + "defaultCode": 58198, + "grid": 16 + }, + "attrs": [], + "properties": { + "order": 531, + "id": 1710, + "prevSize": 32, + "code": 59696, + "name": "warning" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 18 + }, + { + "icon": { + "paths": [ + "M448 704h128v128h-128zM704 256c35.346 0 64 28.654 64 64v192l-192 128h-128v-64l192-128v-64h-320v-128h384zM512 96c-111.118 0-215.584 43.272-294.156 121.844s-121.844 183.038-121.844 294.156c0 111.118 43.272 215.584 121.844 294.156 78.572 78.572 183.038 121.844 294.156 121.844 111.118 0 215.584-43.272 294.156-121.844 78.572-78.572 121.844-183.038 121.844-294.156 0-111.118-43.272-215.584-121.844-294.156-78.572-78.572-183.038-121.844-294.156-121.844zM512 0v0c282.77 0 512 229.23 512 512s-229.23 512-512 512c-282.77 0-512-229.23-512-512 0-282.77 229.23-512 512-512z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "question" + ], + "defaultCode": 58201, + "grid": 16 + }, + "attrs": [], + "properties": { + "order": 532, + "id": 1711, + "prevSize": 32, + "code": 59697, + "name": "question", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 19 + }, + { + "icon": { + "paths": [ + "M512 0c-282.77 0-512 229.23-512 512s229.23 512 512 512 512-229.23 512-512-229.23-512-512-512zM512 896c-212.078 0-384-171.922-384-384s171.922-384 384-384c212.078 0 384 171.922 384 384 0 212.078-171.922 384-384 384zM768 576h-192v192h-128v-192h-192v-128h192v-192h128v192h192z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "pluscircle" + ], + "defaultCode": 58206, + "grid": 16 + }, + "attrs": [], + "properties": { + "order": 533, + "id": 1712, + "prevSize": 32, + "code": 59698, + "name": "pluscircle", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 20 + }, + { + "icon": { + "paths": [ + "M512 0c-282.77 0-512 229.23-512 512s229.23 512 512 512 512-229.23 512-512-229.23-512-512-512zM448 192h128v128h-128v-128zM640 832h-256v-64h64v-256h-64v-64h192v320h64v64z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "info" + ], + "defaultCode": 58211, + "grid": 16 + }, + "attrs": [], + "properties": { + "order": 534, + "id": 1713, + "prevSize": 32, + "code": 59699, + "name": "info" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 21 + }, + { + "icon": { + "paths": [ + "M1024 736 736 0h-448l-288 288v448l288 288h448l288-288v-448l-288-288zM576 832h-128v-128h128v128zM576 576h-128v-384h128v384z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "notice" + ], + "defaultCode": 58218, + "grid": 16 + }, + "attrs": [], + "properties": { + "order": 535, + "id": 1714, + "prevSize": 32, + "code": 59700, + "name": "notice" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 22 + }, + { + "icon": { + "paths": [ + "M0 640l192 192 320-320 320 320 192-192-511.998-512z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "arrowup" + ], + "defaultCode": 58288, + "grid": 16 + }, + "attrs": [], + "properties": { + "order": 536, + "id": 1715, + "prevSize": 32, + "code": 59707, + "name": "arrowup", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 23 + }, + { + "icon": { + "paths": [ + "M384 0l-192 192 320 320-320 320 192 192 512-512z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "arrowright" + ], + "defaultCode": 58289, + "grid": 16 + }, + "attrs": [], + "properties": { + "order": 537, + "id": 1716, + "prevSize": 32, + "code": 59708, + "name": "arrowright", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 24 + }, + { + "icon": { + "paths": [ + "M1024 384l-192-192-320 320-320-320-192 192 512 511.998z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "arrowdown" + ], + "defaultCode": 58290, + "grid": 16 + }, + "attrs": [], + "properties": { + "order": 538, + "id": 1717, + "prevSize": 32, + "code": 59709, + "name": "arrowdown", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 25 + }, + { + "icon": { + "paths": [ + "M768 640l-256-256-256 256z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "arrowup2" + ], + "defaultCode": 58292, + "grid": 16 + }, + "attrs": [], + "properties": { + "order": 539, + "id": 1718, + "prevSize": 32, + "code": 59711, + "name": "arrowup2", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 26 + }, + { + "icon": { + "paths": [ + "M256 384l256 256 256-256z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "arrowdown2" + ], + "defaultCode": 58294, + "grid": 16 + }, + "attrs": [], + "properties": { + "order": 540, + "id": 1719, + "prevSize": 32, + "code": 59712, + "name": "arrowdown2", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 27 + }, + { + "icon": { + "paths": [ + "M256 256l256 256 256-256zM255.996 575.996l256 256 256-256z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "menu2" + ], + "defaultCode": 58393, + "grid": 16 + }, + "attrs": [], + "properties": { + "order": 541, + "id": 1720, + "prevSize": 32, + "code": 59713, + "name": "menu2", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 28 + }, + { + "icon": { + "paths": [ + "M704 576l128-128v512h-768v-768h512l-128 128h-256v512h512zM960 64v352l-130.744-130.744-354.746 354.744h-90.51v-90.512l354.744-354.744-130.744-130.744z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "newtab" + ], + "defaultCode": 58492, + "grid": 16 + }, + "attrs": [], + "properties": { + "order": 607, + "id": 1721, + "prevSize": 32, + "code": 59745, + "name": "newtab", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 29 + }, + { + "icon": { + "paths": [ + "M960 256v-64l-448 128-448-128v64l320 128v256l-128 448h64l192-448 192 448h64l-128-448v-256zM416 160q0-40 28-68t68-28 68 28 28 68-28 68-68 28-68-28-28-68z" + ], + "attrs": [], + "isMulticolor": false, + "grid": 16, + "tags": [ + "a11y" + ] + }, + "attrs": [], + "properties": { + "order": 608, + "id": 1694, + "prevSize": 32, + "code": 59648, + "name": "a11y" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 30 + }, + { + "icon": { + "paths": [ + "M892.8 982.4l-89.6-89.6c-70.4 80-172.8 131.2-288 131.2-208 0-380.8-166.4-384-377.6 0 0 0 0 0 0 0-3.2 0-3.2 0-6.4s0-3.2 0-6.4v0c0 0 0 0 0-3.2 0 0 0-3.2 0-3.2 3.2-105.6 48-211.2 105.6-304l-192-192 44.8-44.8 182.4 182.4c0 0 0 0 0 0l569.6 569.6c0 0 0 0 0 0l99.2 99.2-48 44.8zM896 633.6c0 0 0 0 0 0 0-3.2 0-6.4 0-6.4-9.6-316.8-384-627.2-384-627.2s-108.8 89.6-208 220.8l70.4 70.4c6.4-9.6 16-22.4 22.4-32 41.6-51.2 83.2-96 115.2-128v0c32 32 73.6 76.8 115.2 128 108.8 137.6 169.6 265.6 172.8 371.2 0 0 0 3.2 0 3.2v0 0c0 3.2 0 3.2 0 6.4s0 3.2 0 3.2v0 0c0 22.4-3.2 41.6-9.6 64l76.8 76.8c16-41.6 28.8-89.6 28.8-137.6 0 0 0 0 0 0 0-3.2 0-3.2 0-6.4s-0-3.2-0-6.4z" + ], + "attrs": [ + {} + ], + "isMulticolor": false, + "tags": [ + "invert" + ], + "grid": 16, + "defaultCode": 58882 + }, + "attrs": [ + {} + ], + "properties": { + "order": 609, + "id": 0, + "prevSize": 32, + "code": 58882, + "name": "invert" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 31 + }, + { + "icon": { + "paths": [ + "M928 128h-416l-32-64h-352l-64 128h896zM904.34 704h74.86l44.8-448h-1024l64 640h484.080c-104.882-37.776-180.080-138.266-180.080-256 0-149.982 122.018-272 272-272 149.98 0 272 122.018 272 272 0 21.678-2.622 43.15-7.66 64zM1002.996 913.75l-198.496-174.692c17.454-28.92 27.5-62.814 27.5-99.058 0-106.040-85.96-192-192-192s-192 85.96-192 192 85.96 192 192 192c36.244 0 70.138-10.046 99.058-27.5l174.692 198.496c22.962 26.678 62.118 28.14 87.006 3.252l5.492-5.492c24.888-24.888 23.426-64.044-3.252-87.006zM640 764c-68.484 0-124-55.516-124-124s55.516-124 124-124 124 55.516 124 124-55.516 124-124 124z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57396, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 0, + "order": 610, + "prevSize": 32, + "code": 57396, + "name": "browse", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 32 + }, + { + "icon": { + "paths": [ + "M768 256h64v64h-64zM640 384h64v64h-64zM640 512h64v64h-64zM640 640h64v64h-64zM512 512h64v64h-64zM512 640h64v64h-64zM384 640h64v64h-64zM768 384h64v64h-64zM768 512h64v64h-64zM768 640h64v64h-64zM768 768h64v64h-64zM640 768h64v64h-64zM512 768h64v64h-64zM384 768h64v64h-64zM256 768h64v64h-64z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "resize", + "dots" + ], + "defaultCode": 57394, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 1, + "order": 611, + "prevSize": 32, + "code": 57394, + "name": "resize", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 33 + }, + { + "icon": { + "paths": [ + "M832 256h-192v-64l-192-192h-448v768h384v256h640v-576l-192-192zM832 346.51l101.49 101.49h-101.49v-101.49zM448 90.51l101.49 101.49h-101.49v-101.49zM64 64h320v192h192v448h-512v-640zM960 960h-512v-192h192v-448h128v192h192v448z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "copy" + ], + "defaultCode": 57393, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 2, + "order": 612, + "prevSize": 32, + "code": 57393, + "name": "copy", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 34 + }, + { + "icon": { + "paths": [ + "M256 64h512v128h-128v768h-128v-768h-128v768h-128v-448c-123.712 0-224-100.288-224-224s100.288-224 224-224zM960 896l-256-224 256-224z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "rtl" + ], + "defaultCode": 57392, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 3, + "order": 613, + "prevSize": 32, + "code": 57392, + "name": "rtl", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 35 + }, + { + "icon": { + "paths": [ + "M448 64h512v128h-128v768h-128v-768h-128v768h-128v-448c-123.712 0-224-100.288-224-224s100.288-224 224-224zM64 448l256 224-256 224z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "ltr" + ], + "defaultCode": 57391, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 4, + "order": 542, + "prevSize": 32, + "code": 57391, + "name": "ltr", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 36 + }, + { + "icon": { + "paths": [ + "M384 64h512v128h-128v768h-128v-768h-128v768h-128v-448c-123.712 0-224-100.288-224-224s100.288-224 224-224z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "visualchars" + ], + "defaultCode": 57390, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 5, + "order": 543, + "prevSize": 32, + "code": 57390, + "name": "visualchars", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 37 + }, + { + "icon": { + "paths": [ + "M731.42 517.036c63.92 47.938 100.58 116.086 100.58 186.964s-36.66 139.026-100.58 186.964c-59.358 44.518-137.284 69.036-219.42 69.036-82.138 0-160.062-24.518-219.42-69.036-63.92-47.938-100.58-116.086-100.58-186.964h128c0 69.382 87.926 128 192 128 104.074 0 192-58.618 192-128 0-69.382-87.926-128-192-128-82.138 0-160.062-24.518-219.42-69.036-63.92-47.94-100.58-116.086-100.58-186.964 0-70.878 36.66-139.024 100.58-186.964 59.358-44.518 137.282-69.036 219.42-69.036 82.136 0 160.062 24.518 219.42 69.036 63.92 47.94 100.58 116.086 100.58 186.964h-128c0-69.382-87.926-128-192-128-104.074 0-192 58.618-192 128 0 69.382 87.926 128 192 128 82.136 0 160.062 24.518 219.42 69.036zM0 512h1024v64h-1024z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "strikethrough" + ], + "defaultCode": 57389, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 6, + "order": 544, + "prevSize": 32, + "code": 57389, + "name": "strikethrough", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 38 + }, + { + "icon": { + "paths": [ + "M704 64h128v416c0 159.058-143.268 288-320 288-176.73 0-320-128.942-320-288v-416h128v416c0 40.166 18.238 78.704 51.354 108.506 36.896 33.204 86.846 51.494 140.646 51.494 53.8 0 103.75-18.29 140.646-51.494 33.116-29.802 51.354-68.34 51.354-108.506v-416zM192 832h640v128h-640z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "underline" + ], + "defaultCode": 57388, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 7, + "order": 545, + "prevSize": 32, + "code": 57388, + "name": "underline", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 39 + }, + { + "icon": { + "paths": [ + "M896 64v64h-128l-320 768h128v64h-448v-64h128l320-768h-128v-64z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "italic" + ], + "defaultCode": 57387, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 8, + "order": 546, + "prevSize": 32, + "code": 57387, + "name": "italic", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 40 + }, + { + "icon": { + "paths": [ + "M707.88 484.652c37.498-44.542 60.12-102.008 60.12-164.652 0-141.16-114.842-256-256-256h-320v896h384c141.158 0 256-114.842 256-256 0-92.956-49.798-174.496-124.12-219.348zM384 192h101.5c55.968 0 101.5 57.42 101.5 128s-45.532 128-101.5 128h-101.5v-256zM543 832h-159v-256h159c58.45 0 106 57.42 106 128s-47.55 128-106 128z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "bold0" + ], + "defaultCode": 57386, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 9, + "order": 547, + "prevSize": 32, + "code": 57386, + "name": "bold", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 41 + }, + { + "icon": { + "paths": [ + "M576 64c247.424 0 448 200.576 448 448s-200.576 448-448 448v-96c94.024 0 182.418-36.614 248.902-103.098 66.484-66.484 103.098-154.878 103.098-248.902 0-94.022-36.614-182.418-103.098-248.902-66.484-66.484-154.878-103.098-248.902-103.098-94.022 0-182.418 36.614-248.902 103.098-51.14 51.138-84.582 115.246-97.306 184.902h186.208l-224 256-224-256h164.57c31.060-217.102 217.738-384 443.43-384zM768 448v128h-256v-320h128v192z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "restoredraft" + ], + "defaultCode": 57384, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 11, + "order": 548, + "prevSize": 32, + "code": 57384, + "name": "restoredraft", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 42 + }, + { + "icon": { + "paths": [ + "M0 512h128v64h-128zM192 512h192v64h-192zM448 512h128v64h-128zM640 512h192v64h-192zM896 512h128v64h-128zM880 0l16 448h-768l16-448h32l16 384h640l16-384zM144 1024l-16-384h768l-16 384h-32l-16-320h-640l-16 320z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "pagebreak" + ], + "defaultCode": 57383, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 12, + "order": 549, + "prevSize": 32, + "code": 57383, + "name": "pagebreak", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 43 + }, + { + "icon": { + "paths": [ + "M384 192h128v64h-128zM576 192h128v64h-128zM896 192v256h-192v-64h128v-128h-64v-64zM320 384h128v64h-128zM512 384h128v64h-128zM192 256v128h64v64h-128v-256h192v64zM384 576h128v64h-128zM576 576h128v64h-128zM896 576v256h-192v-64h128v-128h-64v-64zM320 768h128v64h-128zM512 768h128v64h-128zM192 640v128h64v64h-128v-256h192v64zM960 64h-896v896h896v-896zM1024 0v0 1024h-1024v-1024h1024z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "template" + ], + "defaultCode": 57382, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 13, + "order": 550, + "prevSize": 32, + "code": 57382, + "name": "template", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 44 + }, + { + "icon": { + "paths": [ + "M448 576h-192v-128h192v-192h128v192h192v128h-192v192h-128zM1024 640v384h-1024v-384h128v256h768v-256z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "nonbreaking" + ], + "defaultCode": 57381, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 14, + "order": 551, + "prevSize": 32, + "code": 57381, + "name": "nonbreaking", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 45 + }, + { + "icon": { + "paths": [ + "M128 256h128v192h64v-384c0-35.2-28.8-64-64-64h-128c-35.2 0-64 28.8-64 64v384h64v-192zM128 64h128v128h-128v-128zM960 64v-64h-192c-35.202 0-64 28.8-64 64v320c0 35.2 28.798 64 64 64h192v-64h-192v-320h192zM640 160v-96c0-35.2-28.8-64-64-64h-192v448h192c35.2 0 64-28.8 64-64v-96c0-35.2-8.8-64-44-64 35.2 0 44-28.8 44-64zM576 384h-128v-128h128v128zM576 192h-128v-128h128v128zM832 576l-416 448-224-288 82-70 142 148 352-302z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "spellchecker" + ], + "defaultCode": 57380, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 15, + "order": 552, + "prevSize": 32, + "code": 57380, + "name": "spellchecker", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 46 + }, + { + "icon": { + "paths": [ + "M704 896h256l64-128v256h-384v-214.214c131.112-56.484 224-197.162 224-361.786 0-214.432-157.598-382.266-352-382.266-194.406 0-352 167.832-352 382.266 0 164.624 92.886 305.302 224 361.786v214.214h-384v-256l64 128h256v-32.59c-187.63-66.46-320-227.402-320-415.41 0-247.424 229.23-448 512-448 282.77 0 512 200.576 512 448 0 188.008-132.37 348.95-320 415.41v32.59z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "charmap" + ], + "defaultCode": 57376, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 19, + "order": 614, + "prevSize": 32, + "code": 57376, + "name": "charmap", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 47 + }, + { + "icon": { + "paths": [ + "M768 206v50h128v64h-192v-146l128-60v-50h-128v-64h192v146zM676 256h-136l-188 188-188-188h-136l256 256-256 256h136l188-188 188 188h136l-256-256z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "sup" + ], + "defaultCode": 57375, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 20, + "order": 615, + "prevSize": 32, + "code": 57375, + "name": "sup", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 48 + }, + { + "icon": { + "paths": [ + "M768 910v50h128v64h-192v-146l128-60v-50h-128v-64h192v146zM676 256h-136l-188 188-188-188h-136l256 256-256 256h136l188-188 188 188h136l-256-256z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "sub" + ], + "defaultCode": 57374, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 21, + "order": 616, + "prevSize": 32, + "code": 57374, + "name": "sub", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 49 + }, + { + "icon": { + "paths": [ + "M0 896h576v128h-576zM192 0h704v128h-704zM277.388 832l204.688-784.164 123.85 32.328-196.25 751.836zM929.774 1024l-129.774-129.774-129.774 129.774-62.226-62.226 129.774-129.774-129.774-129.774 62.226-62.226 129.774 129.774 129.774-129.774 62.226 62.226-129.774 129.774 129.774 129.774z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "removeformat" + ], + "defaultCode": 57373, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 22, + "order": 617, + "prevSize": 32, + "code": 57373, + "name": "removeformat", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 50 + }, + { + "icon": { + "paths": [ + "M0 448h1024v128h-1024z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "hr" + ], + "defaultCode": 57372, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 23, + "order": 618, + "prevSize": 32, + "code": 57372, + "name": "hr", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 51 + }, + { + "icon": { + "paths": [ + "M0 64v896h1024v-896h-1024zM384 640v-192h256v192h-256zM640 704v192h-256v-192h256zM640 192v192h-256v-192h256zM320 192v192h-256v-192h256zM64 448h256v192h-256v-192zM704 448h256v192h-256v-192zM704 384v-192h256v192h-256zM64 704h256v192h-256v-192zM704 896v-192h256v192h-256z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "table" + ], + "defaultCode": 57371, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 24, + "order": 619, + "prevSize": 32, + "code": 57371, + "name": "table", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 52 + }, + { + "icon": { + "paths": [ + "M322.018 832l57.6-192h264.764l57.6 192h113.632l-191.996-640h-223.236l-192 640h113.636zM475.618 320h72.764l57.6 192h-187.964l57.6-192z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "forecolor" + ], + "defaultCode": 57370, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 25, + "order": 620, + "prevSize": 32, + "code": 57370, + "name": "forecolor", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 53 + }, + { + "icon": { + "paths": [ + "M512 320c-209.368 0-395.244 100.556-512 256 116.756 155.446 302.632 256 512 256 209.368 0 395.244-100.554 512-256-116.756-155.444-302.632-256-512-256zM448 448c35.346 0 64 28.654 64 64s-28.654 64-64 64-64-28.654-64-64 28.654-64 64-64zM773.616 705.296c-39.648 20.258-81.652 35.862-124.846 46.376-44.488 10.836-90.502 16.328-136.77 16.328-46.266 0-92.282-5.492-136.768-16.324-43.194-10.518-85.198-26.122-124.846-46.376-63.020-32.202-120.222-76.41-167.64-129.298 47.418-52.888 104.62-97.1 167.64-129.298 32.336-16.522 66.242-29.946 101.082-40.040-19.888 30.242-31.468 66.434-31.468 105.336 0 106.040 85.962 192 192 192 106.038 0 192-85.96 192-192 0-38.902-11.582-75.094-31.466-105.34 34.838 10.096 68.744 23.52 101.082 40.042 63.022 32.198 120.218 76.408 167.638 129.298-47.42 52.886-104.618 97.1-167.638 129.296zM860.918 243.722c-108.72-55.554-226.112-83.722-348.918-83.722-122.806 0-240.198 28.168-348.918 83.722-58.772 30.032-113.732 67.904-163.082 112.076v109.206c55.338-58.566 120.694-107.754 192.194-144.29 99.62-50.904 207.218-76.714 319.806-76.714s220.186 25.81 319.804 76.716c71.502 36.536 136.858 85.724 192.196 144.29v-109.206c-49.35-44.174-104.308-82.046-163.082-112.078z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "preview" + ], + "defaultCode": 57369, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 26, + "order": 553, + "prevSize": 32, + "code": 57369, + "name": "preview", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 54 + }, + { + "icon": { + "paths": [ + "M512 192c-212.076 0-384 171.922-384 384s171.922 384 384 384c212.074 0 384-171.922 384-384s-171.926-384-384-384zM715.644 779.646c-54.392 54.396-126.716 84.354-203.644 84.354s-149.25-29.958-203.646-84.354c-54.396-54.394-84.354-126.718-84.354-203.646s29.958-149.25 84.354-203.646c54.396-54.396 126.718-84.354 203.646-84.354s149.252 29.958 203.642 84.354c54.402 54.396 84.358 126.718 84.358 203.646s-29.958 149.252-84.356 203.646zM325.93 203.862l-42.94-85.878c-98.874 49.536-179.47 130.132-229.006 229.008l85.876 42.94c40.248-80.336 105.732-145.822 186.070-186.070zM884.134 389.93l85.878-42.938c-49.532-98.876-130.126-179.472-229.004-229.008l-42.944 85.878c80.338 40.248 145.824 105.732 186.070 186.068zM512 384h-64v192c0 10.11 4.7 19.11 12.022 24.972l-0.012 0.016 160 128 39.976-49.976-147.986-118.39v-176.622z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "inserttime" + ], + "defaultCode": 57368, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 27, + "order": 554, + "prevSize": 32, + "code": 57368, + "name": "inserttime", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 55 + }, + { + "icon": { + "paths": [ + "M320 256l-256 256 256 256h128l-256-256 256-256zM704 256h-128l256 256-256 256h128l256-256z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "code" + ], + "defaultCode": 57367, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 28, + "order": 555, + "prevSize": 32, + "code": 57367, + "name": "code", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 56 + }, + { + "icon": { + "paths": [ + "M448 704h128v128h-128zM704 256c35.346 0 64 28.654 64 64v192l-192 128h-128v-64l192-128v-64h-320v-128h384zM512 96c-111.118 0-215.584 43.272-294.156 121.844s-121.844 183.038-121.844 294.156c0 111.118 43.272 215.584 121.844 294.156 78.572 78.572 183.038 121.844 294.156 121.844 111.118 0 215.584-43.272 294.156-121.844 78.572-78.572 121.844-183.038 121.844-294.156 0-111.118-43.272-215.584-121.844-294.156-78.572-78.572-183.038-121.844-294.156-121.844zM512 0v0c282.77 0 512 229.23 512 512s-229.23 512-512 512c-282.77 0-512-229.23-512-512 0-282.77 229.23-512 512-512z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "help" + ], + "defaultCode": 57366, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 29, + "order": 556, + "prevSize": 32, + "code": 57366, + "name": "help", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 57 + }, + { + "icon": { + "paths": [ + "M0 128v768h1024v-768h-1024zM192 832h-128v-128h128v128zM192 576h-128v-128h128v128zM192 320h-128v-128h128v128zM768 832h-512v-640h512v640zM960 832h-128v-128h128v128zM960 576h-128v-128h128v128zM960 320h-128v-128h128v128zM384 320v384l256-192z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "media" + ], + "defaultCode": 57365, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 30, + "order": 557, + "prevSize": 32, + "code": 57365, + "name": "media", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 58 + }, + { + "icon": { + "paths": [ + "M0 128v832h1024v-832h-1024zM960 896h-896v-704h896v704zM704 352c0-53.019 42.981-96 96-96s96 42.981 96 96c0 53.019-42.981 96-96 96-53.019 0-96-42.981-96-96zM896 832h-768l192-512 256 320 128-96z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "image" + ], + "defaultCode": 57364, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 31, + "order": 558, + "prevSize": 32, + "code": 57364, + "name": "image", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 59 + }, + { + "icon": { + "paths": [ + "M192 0v1024l320-320 320 320v-1024h-640zM768 869.49l-256-256-256 256v-805.49h512v805.49z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "anchor" + ], + "defaultCode": 57363, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 32, + "order": 559, + "prevSize": 32, + "code": 57363, + "name": "anchor", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 60 + }, + { + "icon": { + "paths": [ + "M476.888 675.114c4.56 9.048 6.99 19.158 6.99 29.696 0 17.616-6.744 34.058-18.992 46.308l-163.38 163.38c-12.248 12.248-28.696 18.992-46.308 18.992s-34.060-6.744-46.308-18.992l-99.38-99.38c-12.248-12.25-18.992-28.696-18.992-46.308s6.744-34.060 18.992-46.308l163.38-163.382c12.248-12.246 28.696-18.992 46.308-18.992 10.538 0 20.644 2.43 29.696 6.988l65.338-65.336c-27.87-21.41-61.44-32.16-95.034-32.16-39.986 0-79.972 15.166-110.308 45.502l-163.38 163.382c-60.67 60.67-60.67 159.95 0 220.618l99.38 99.382c30.334 30.332 70.32 45.5 110.306 45.5 39.988 0 79.974-15.168 110.308-45.502l163.38-163.38c55.82-55.82 60.238-144.298 13.344-205.346l-65.34 65.338zM978.496 144.884l-99.38-99.382c-30.334-30.336-70.32-45.502-110.308-45.502-39.986 0-79.97 15.166-110.306 45.502l-163.382 163.382c-55.82 55.82-60.238 144.298-13.342 205.342l65.338-65.34c-4.558-9.050-6.988-19.16-6.988-29.694 0-17.616 6.744-34.060 18.992-46.308l163.382-163.382c12.246-12.248 28.694-18.994 46.306-18.994 17.616 0 34.060 6.746 46.308 18.994l99.38 99.382c12.248 12.248 18.992 28.694 18.992 46.308s-6.744 34.060-18.992 46.308l-163.38 163.382c-12.248 12.248-28.694 18.992-46.308 18.992-10.536 0-20.644-2.43-29.696-6.99l-65.338 65.338c27.872 21.41 61.44 32.16 95.034 32.16 39.988 0 79.974-15.168 110.308-45.504l163.38-163.38c60.672-60.666 60.672-159.944 0-220.614zM233.368 278.624l-191.994-191.994 45.256-45.256 191.994 191.994zM384 0h64v192h-64zM0 384h192v64h-192zM790.632 745.376l191.996 191.996-45.256 45.256-191.996-191.996zM576 832h64v192h-64zM832 576h192v64h-192z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "unlink" + ], + "defaultCode": 57362, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 33, + "order": 560, + "prevSize": 32, + "code": 57362, + "name": "unlink", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 61 + }, + { + "icon": { + "paths": [ + "M320 704c17.6 17.6 47.274 16.726 65.942-1.942l316.118-316.116c18.668-18.668 19.54-48.342 1.94-65.942s-47.274-16.726-65.942 1.942l-316.116 316.116c-18.668 18.668-19.542 48.342-1.942 65.942zM476.888 675.112c4.56 9.050 6.99 19.16 6.99 29.696 0 17.616-6.744 34.060-18.992 46.308l-163.382 163.382c-12.248 12.248-28.694 18.992-46.308 18.992s-34.060-6.744-46.308-18.992l-99.382-99.382c-12.248-12.248-18.992-28.694-18.992-46.308s6.744-34.060 18.992-46.308l163.382-163.382c12.248-12.248 28.694-18.994 46.308-18.994 10.536 0 20.644 2.43 29.696 6.99l65.338-65.338c-27.87-21.41-61.44-32.16-95.034-32.16-39.986 0-79.972 15.166-110.308 45.502l-163.382 163.382c-60.67 60.67-60.67 159.948 0 220.618l99.382 99.382c30.334 30.332 70.32 45.5 110.306 45.5 39.988 0 79.974-15.168 110.308-45.502l163.382-163.382c55.82-55.82 60.238-144.298 13.344-205.344l-65.34 65.34zM978.498 144.884l-99.382-99.382c-30.334-30.336-70.32-45.502-110.308-45.502-39.986 0-79.972 15.166-110.308 45.502l-163.382 163.382c-55.82 55.82-60.238 144.298-13.342 205.342l65.338-65.34c-4.558-9.050-6.988-19.16-6.988-29.694 0-17.616 6.744-34.060 18.992-46.308l163.382-163.382c12.248-12.248 28.694-18.994 46.308-18.994s34.060 6.746 46.308 18.994l99.382 99.382c12.248 12.248 18.992 28.694 18.992 46.308s-6.744 34.060-18.992 46.308l-163.382 163.382c-12.248 12.248-28.694 18.992-46.308 18.992-10.536 0-20.644-2.43-29.696-6.99l-65.338 65.338c27.872 21.41 61.44 32.16 95.034 32.16 39.988 0 79.974-15.168 110.308-45.502l163.382-163.382c60.67-60.666 60.67-159.944 0-220.614z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "link" + ], + "defaultCode": 57361, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 34, + "order": 561, + "prevSize": 32, + "code": 57361, + "name": "link", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 62 + }, + { + "icon": { + "paths": [ + "M0 64h1024v128h-1024zM384 256h640v128h-640zM384 448h640v128h-640zM384 640h640v128h-640zM0 832h1024v128h-1024zM256 320v384l-256-192z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "outdent" + ], + "defaultCode": 57357, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 38, + "order": 562, + "prevSize": 32, + "code": 57357, + "name": "outdent", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 63 + }, + { + "icon": { + "paths": [ + "M0 64h1024v128h-1024zM384 256h640v128h-640zM384 448h640v128h-640zM384 640h640v128h-640zM0 832h1024v128h-1024zM0 704v-384l256 192z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "indent" + ], + "defaultCode": 57356, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 39, + "order": 563, + "prevSize": 32, + "code": 57356, + "name": "indent", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 64 + }, + { + "icon": { + "paths": [ + "M384 832h640v128h-640zM384 448h640v128h-640zM384 64h640v128h-640zM192 0v256h-64v-192h-64v-64zM128 526v50h128v64h-192v-146l128-60v-50h-128v-64h192v146zM256 704v320h-192v-64h128v-64h-128v-64h128v-64h-128v-64z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "numlist" + ], + "defaultCode": 57355, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 40, + "order": 621, + "prevSize": 32, + "code": 57355, + "name": "numlist", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 65 + }, + { + "icon": { + "paths": [ + "M384 64h640v128h-640v-128zM384 448h640v128h-640v-128zM384 832h640v128h-640v-128zM0 128c0-70.692 57.308-128 128-128 70.692 0 128 57.308 128 128 0 70.692-57.308 128-128 128-70.692 0-128-57.308-128-128zM0 512c0-70.692 57.308-128 128-128 70.692 0 128 57.308 128 128 0 70.692-57.308 128-128 128-70.692 0-128-57.308-128-128zM0 896c0-70.692 57.308-128 128-128 70.692 0 128 57.308 128 128 0 70.692-57.308 128-128 128-70.692 0-128-57.308-128-128z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "bullist" + ], + "defaultCode": 57354, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 41, + "order": 622, + "prevSize": 32, + "code": 57354, + "name": "bullist", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 66 + }, + { + "icon": { + "paths": [ + "M64 0h384v64h-384zM576 0h384v64h-384zM952 320h-56v-256h-256v256h-256v-256h-256v256h-56c-39.6 0-72 32.4-72 72v560c0 39.6 32.4 72 72 72h304c39.6 0 72-32.4 72-72v-376h128v376c0 39.6 32.4 72 72 72h304c39.6 0 72-32.4 72-72v-560c0-39.6-32.4-72-72-72zM348 960h-248c-19.8 0-36-14.4-36-32s16.2-32 36-32h248c19.8 0 36 14.4 36 32s-16.2 32-36 32zM544 512h-64c-17.6 0-32-14.4-32-32s14.4-32 32-32h64c17.6 0 32 14.4 32 32s-14.4 32-32 32zM924 960h-248c-19.8 0-36-14.4-36-32s16.2-32 36-32h248c19.8 0 36 14.4 36 32s-16.2 32-36 32z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "searchreplace" + ], + "defaultCode": 57353, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 42, + "order": 623, + "prevSize": 32, + "code": 57353, + "name": "searchreplace", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 67 + }, + { + "icon": { + "paths": [ + "M832 320v-160c0-17.6-14.4-32-32-32h-224v-64c0-35.2-28.8-64-64-64h-128c-35.204 0-64 28.8-64 64v64h-224c-17.602 0-32 14.4-32 32v640c0 17.6 14.398 32 32 32h288v192h448l192-192v-512h-192zM384 64.114c0.034-0.038 0.072-0.078 0.114-0.114h127.768c0.042 0.036 0.082 0.076 0.118 0.114l0 63.886h-128v-63.886zM192 256v-64h512v64h-512zM832 933.49v-101.49h101.49l-101.49 101.49zM960 768h-192v192h-320v-576h512v384z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "paste" + ], + "defaultCode": 57352, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 43, + "order": 624, + "prevSize": 32, + "code": 57352, + "name": "paste", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 68 + }, + { + "icon": { + "paths": [ + "M890.774 709.154c-45.654-45.556-103.728-69.072-157.946-69.072h-29.112l-63.904-64.008 255.62-256.038c63.904-64.010 63.904-192.028 0-256.038l-383.43 384.056-383.432-384.054c-63.904 64.008-63.904 192.028 0 256.038l255.622 256.034-63.906 64.008h-29.114c-54.22 0-112.292 23.518-157.948 69.076-81.622 81.442-92.65 202.484-24.63 270.35 29.97 29.902 70.288 44.494 112.996 44.494 54.216 0 112.29-23.514 157.946-69.072 53.584-53.464 76.742-124 67.084-185.348l65.384-65.488 65.376 65.488c-9.656 61.348 13.506 131.882 67.084 185.348 45.662 45.558 103.732 69.072 157.948 69.072 42.708 0 83.024-14.592 112.994-44.496 68.020-67.866 56.988-188.908-24.632-270.35zM353.024 845.538c-7.698 17.882-19.010 34.346-33.626 48.926-14.636 14.604-31.172 25.918-49.148 33.624-16.132 6.916-32.96 10.568-48.662 10.568-15.146 0-36.612-3.402-52.862-19.612-16.136-16.104-19.52-37.318-19.52-52.288 0-15.542 3.642-32.21 10.526-48.212 7.7-17.884 19.014-34.346 33.626-48.926 14.634-14.606 31.172-25.914 49.15-33.624 16.134-6.914 32.96-10.568 48.664-10.568 15.146 0 36.612 3.4 52.858 19.614 16.134 16.098 19.522 37.316 19.522 52.284 0.002 15.542-3.638 32.216-10.528 48.214zM512.004 666.596c-49.914 0-90.376-40.532-90.376-90.526 0-49.992 40.462-90.52 90.376-90.52s90.372 40.528 90.372 90.52c0 49.998-40.46 90.526-90.372 90.526zM855.272 919.042c-16.248 16.208-37.712 19.612-52.86 19.612-15.704 0-32.53-3.652-48.666-10.568-17.972-7.706-34.508-19.020-49.142-33.624-14.614-14.58-25.926-31.042-33.626-48.926-6.886-15.998-10.526-32.672-10.526-48.212 0-14.966 3.384-36.188 19.52-52.286 16.246-16.208 37.712-19.614 52.86-19.614 15.7 0 32.53 3.654 48.66 10.568 17.978 7.708 34.516 19.018 49.15 33.624 14.61 14.58 25.924 31.042 33.626 48.926 6.884 15.998 10.526 32.67 10.526 48.212-0.002 14.97-3.39 36.186-19.522 52.288z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "cut" + ], + "defaultCode": 57351, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 44, + "order": 625, + "prevSize": 32, + "code": 57351, + "name": "cut", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 69 + }, + { + "icon": { + "paths": [ + "M0 64h1024v128h-1024zM0 256h1024v128h-1024zM0 448h1024v128h-1024zM0 640h1024v128h-1024zM0 832h1024v128h-1024z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "alignjustify" + ], + "defaultCode": 57350, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 45, + "order": 626, + "prevSize": 32, + "code": 57350, + "name": "alignjustify", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 70 + }, + { + "icon": { + "paths": [ + "M0 64h1024v128h-1024zM384 256h640v128h-640zM384 640h640v128h-640zM0 448h1024v128h-1024zM0 832h1024v128h-1024z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "alignright" + ], + "defaultCode": 57349, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 46, + "order": 627, + "prevSize": 32, + "code": 57349, + "name": "alignright", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 71 + }, + { + "icon": { + "paths": [ + "M0 64h1024v128h-1024zM192 256h640v128h-640zM192 640h640v128h-640zM0 448h1024v128h-1024zM0 832h1024v128h-1024z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "aligncenter" + ], + "defaultCode": 57348, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 47, + "order": 564, + "prevSize": 32, + "code": 57348, + "name": "aligncenter", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 72 + }, + { + "icon": { + "paths": [ + "M0 64h1024v128h-1024zM0 256h640v128h-640zM0 640h640v128h-640zM0 448h1024v128h-1024zM0 832h1024v128h-1024z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "alignleft" + ], + "defaultCode": 57347, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 48, + "order": 565, + "prevSize": 32, + "code": 57347, + "name": "alignleft", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 73 + }, + { + "icon": { + "paths": [ + "M1024 592.458v-160.916l-159.144-15.914c-8.186-30.042-20.088-58.548-35.21-84.98l104.596-127.838-113.052-113.050-127.836 104.596c-26.434-15.124-54.942-27.026-84.982-35.208l-15.914-159.148h-160.916l-15.914 159.146c-30.042 8.186-58.548 20.086-84.98 35.208l-127.838-104.594-113.050 113.050 104.596 127.836c-15.124 26.432-27.026 54.94-35.21 84.98l-159.146 15.916v160.916l159.146 15.914c8.186 30.042 20.086 58.548 35.21 84.982l-104.596 127.836 113.048 113.048 127.838-104.596c26.432 15.124 54.94 27.028 84.98 35.21l15.916 159.148h160.916l15.914-159.144c30.042-8.186 58.548-20.088 84.982-35.21l127.836 104.596 113.048-113.048-104.596-127.836c15.124-26.434 27.028-54.942 35.21-84.98l159.148-15.92zM704 576l-128 128h-128l-128-128v-128l128-128h128l128 128v128z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "fullpage" + ], + "defaultCode": 57346, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 49, + "order": 566, + "prevSize": 32, + "code": 57346, + "name": "fullpage", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 74 + }, + { + "icon": { + "paths": [ + "M903.432 199.43l-142.864-142.862c-31.112-31.112-92.568-56.568-136.568-56.568h-480c-44 0-80 36-80 80v864c0 44 36 80 80 80h736c44 0 80-36 80-80v-608c0-44-25.456-105.458-56.568-136.57zM858.178 244.686c3.13 3.13 6.25 6.974 9.28 11.314h-163.458v-163.456c4.34 3.030 8.184 6.15 11.314 9.28l142.864 142.862zM896 944c0 8.672-7.328 16-16 16h-736c-8.672 0-16-7.328-16-16v-864c0-8.672 7.328-16 16-16h480c4.832 0 10.254 0.61 16 1.704v254.296h254.296c1.094 5.746 1.704 11.166 1.704 16v608z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "newdocument" + ], + "defaultCode": 57345, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 50, + "order": 567, + "prevSize": 32, + "code": 57345, + "name": "newdocument", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 75 + }, + { + "icon": { + "paths": [ + "M896 0h-896v1024h1024v-896l-128-128zM512 128h128v256h-128v-256zM896 896h-768v-768h64v320h576v-320h74.978l53.022 53.018v714.982z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "save" + ], + "defaultCode": 57344, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 51, + "order": 568, + "prevSize": 32, + "code": 57344, + "name": "save", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 76 + }, + { + "icon": { + "paths": [ + "M128 544l288 288 480-480-128-128-352 352-160-160z" + ], + "attrs": [], + "isMulticolor": false, + "defaultCode": 57395, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 52, + "order": 569, + "prevSize": 32, + "code": 57395, + "name": "checkbox", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 77 + }, + { + "icon": { + "paths": [ + "M512 512v128h32l32-64h64v256h-48v64h224v-64h-48v-256h64l32 64h32v-128zM832 320v-160c0-17.6-14.4-32-32-32h-224v-64c0-35.2-28.8-64-64-64h-128c-35.204 0-64 28.8-64 64v64h-224c-17.602 0-32 14.4-32 32v640c0 17.6 14.398 32 32 32h288v192h640v-704h-192zM384 64.114c0.034-0.038 0.072-0.078 0.114-0.114h127.768c0.042 0.036 0.082 0.076 0.118 0.114l0 63.886h-128v-63.886zM192 256v-64h512v64h-512zM960 960h-512v-576h512v576z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "pastetext" + ], + "defaultCode": 57397, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 53, + "order": 570, + "prevSize": 32, + "code": 57397, + "name": "pastetext", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 78 + }, + { + "icon": { + "paths": [ + "M1024 0v384l-138.26-138.26-212 212-107.48-107.48 212-212-138.26-138.26zM245.74 138.26l212 212-107.48 107.48-212-212-138.26 138.26v-384h384zM885.74 778.26l138.26-138.26v384h-384l138.26-138.26-212-212 107.48-107.48zM457.74 673.74l-212 212 138.26 138.26h-384v-384l138.26 138.26 212-212z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "fullscreen" + ], + "defaultCode": 57379, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 16, + "order": 571, + "prevSize": 32, + "code": 57379, + "name": "fullscreen", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 79 + }, + { + "icon": { + "paths": [ + "M256 64h512v128h-512zM960 256h-896c-35.2 0-64 28.8-64 64v320c0 35.2 28.796 64 64 64h192v256h512v-256h192c35.2 0 64-28.8 64-64v-320c0-35.2-28.8-64-64-64zM704 896h-384v-320h384v320zM974.4 352c0 25.626-20.774 46.4-46.398 46.4-25.626 0-46.402-20.774-46.402-46.4s20.776-46.4 46.402-46.4c25.626 0 46.398 20.774 46.398 46.4z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "print" + ], + "defaultCode": 57378, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 17, + "order": 572, + "prevSize": 32, + "code": 57378, + "name": "print", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 80 + }, + { + "icon": { + "paths": [ + "M512 0c-282.77 0-512 229.228-512 512 0 282.77 229.228 512 512 512 282.77 0 512-229.23 512-512 0-282.772-229.23-512-512-512zM512 944c-238.586 0-432-193.412-432-432 0-238.586 193.414-432 432-432 238.59 0 432 193.414 432 432 0 238.588-193.41 432-432 432zM384 320c0 35.346-28.654 64-64 64s-64-28.654-64-64 28.654-64 64-64 64 28.654 64 64zM768 320c0 35.346-28.652 64-64 64s-64-28.654-64-64 28.652-64 64-64 64 28.654 64 64zM512 652c141.074 0 262.688-57.532 318.462-123.192-20.872 171.22-156.288 303.192-318.462 303.192-162.118 0-297.498-132.026-318.444-303.168 55.786 65.646 177.386 123.168 318.444 123.168z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "emoticons" + ], + "defaultCode": 57377, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 18, + "order": 573, + "prevSize": 32, + "code": 57377, + "name": "emoticons", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 81 + }, + { + "icon": { + "paths": [ + "M225 448c123.712 0 224 100.29 224 224 0 123.712-100.288 224-224 224-123.712 0-224-100.288-224-224l-1-32c0-247.424 200.576-448 448-448v128c-85.474 0-165.834 33.286-226.274 93.726-11.634 11.636-22.252 24.016-31.83 37.020 11.438-1.8 23.16-2.746 35.104-2.746zM801 448c123.71 0 224 100.29 224 224 0 123.712-100.29 224-224 224-123.71 0-224-100.288-224-224l-1-32c0-247.424 200.576-448 448-448v128c-85.474 0-165.834 33.286-226.274 93.726-11.636 11.636-22.254 24.016-31.832 37.020 11.44-1.8 23.16-2.746 35.106-2.746z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "blockquote" + ], + "defaultCode": 57358, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 37, + "order": 574, + "prevSize": 32, + "code": 57358, + "name": "blockquote", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 82 + }, + { + "icon": { + "paths": [ + "M761.862 1024c113.726-206.032 132.888-520.306-313.862-509.824v253.824l-384-384 384-384v248.372c534.962-13.942 594.57 472.214 313.862 775.628z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "undo" + ], + "defaultCode": 57359, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 36, + "order": 628, + "prevSize": 32, + "code": 57359, + "name": "undo", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 83 + }, + { + "icon": { + "paths": [ + "M576 248.372v-248.372l384 384-384 384v-253.824c-446.75-10.482-427.588 303.792-313.86 509.824-280.712-303.414-221.1-789.57 313.86-775.628z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "redo" + ], + "defaultCode": 57360, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 35, + "order": 629, + "prevSize": 32, + "code": 57360, + "name": "redo", + "ligatures": "" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 84 + }, + { + "icon": { + "paths": [ + "M199.995 381.998v-104.002c0-43.078 34.923-78.001 78.001-78.001h26v-104.002h-26c-100.518 0-182.003 81.485-182.003 182.003v104.002c0 43.078-34.923 78.001-78.001 78.001h-26v104.002h26c43.078 0 78.001 34.923 78.001 78.001v104.002c0 100.515 81.485 182.003 182.003 182.003h26v-104.002h-26c-43.078 0-78.001-34.923-78.001-78.001v-104.002c0-50.931-20.928-96.966-54.646-130.002 33.716-33.036 54.646-79.072 54.646-130.002z", + "M824.005 381.998v-104.002c0-43.078-34.923-78.001-78.001-78.001h-26v-104.002h26c100.515 0 182.003 81.485 182.003 182.003v104.002c0 43.078 34.923 78.001 78.001 78.001h26v104.002h-26c-43.078 0-78.001 34.923-78.001 78.001v104.002c0 100.515-81.488 182.003-182.003 182.003h-26v-104.002h26c43.078 0 78.001-34.923 78.001-78.001v-104.002c0-50.931 20.928-96.966 54.646-130.002-33.716-33.036-54.646-79.072-54.646-130.002z", + "M616.002 356.715c0 57.439-46.562 104.002-104.002 104.002s-104.002-46.562-104.002-104.002c0-57.439 46.562-104.002 104.002-104.002s104.002 46.562 104.002 104.002z", + "M512 511.283c-57.439 0-104.002 46.562-104.002 104.002 0 55.845 26 100.115 105.752 103.88-23.719 33.417-59.441 46.612-105.752 50.944v61.751c0 0 208.003 18.144 208.003-216.577-0.202-57.441-46.56-104.004-104.002-104.004z" + ], + "width": 1024, + "attrs": [], + "isMulticolor": false, + "tags": [ + "code", + "semicolon", + "curly-braces" + ], + "grid": 16, + "defaultCode": 58883 + }, + "attrs": [], + "properties": { + "order": 630, + "id": 1, + "prevSize": 32, + "code": 58883, + "name": "codesample" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 85 + }, + { + "icon": { + "paths": [ + "M864.626 473.162c-65.754-183.44-205.11-348.15-352.626-473.162-147.516 125.012-286.87 289.722-352.626 473.162-40.664 113.436-44.682 236.562 12.584 345.4 65.846 125.14 198.632 205.438 340.042 205.438s274.196-80.298 340.040-205.44c57.27-108.838 53.25-231.962 12.586-345.398zM738.764 758.956c-43.802 83.252-132.812 137.044-226.764 137.044-55.12 0-108.524-18.536-152.112-50.652 13.242 1.724 26.632 2.652 40.112 2.652 117.426 0 228.668-67.214 283.402-171.242 44.878-85.292 40.978-173.848 23.882-244.338 14.558 28.15 26.906 56.198 36.848 83.932 22.606 63.062 40.024 156.34-5.368 242.604z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "drop" + ], + "defaultCode": 57381, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 87, + "order": 631, + "prevSize": 32, + "code": 59701, + "ligatures": "droplet, color9", + "name": "drop" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 86 + }, + { + "icon": { + "paths": [ + "M768 128h-512l-256 256 512 576 512-576-256-256zM512 778.666v-2.666h-2.37l-14.222-16h16.592v-16h-30.814l-14.222-16h45.036v-16h-59.258l-14.222-16h73.48v-16h-87.704l-14.222-16h101.926v-16h-116.148l-14.222-16h130.37v-16h-144.592l-14.222-16h158.814v-16h-173.038l-14.222-16h187.26v-16h-201.482l-14.222-16h215.704v-16h-229.926l-14.222-16h244.148v-16h-258.372l-14.222-16h272.594v-16h-286.816l-14.222-16h301.038v-16h-315.26l-14.222-16h329.482v-16h-343.706l-7.344-8.262 139.072-139.072h211.978v3.334h215.314l16 16h-231.314v16h247.314l16 16h-263.314v16h279.314l16 16h-295.314v16h311.314l16 16h-327.314v16h343.312l7.738 7.738-351.050 394.928z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "diamond", + "gem", + "jewelry", + "dualtone" + ], + "defaultCode": 57889, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 635, + "order": 632, + "prevSize": 32, + "code": 60327, + "ligatures": "diamond2, gem2", + "name": "sharpen" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 87 + }, + { + "icon": { + "paths": [ + "M512 0c-282.77 0-512 229.23-512 512s229.23 512 512 512 512-229.23 512-512-229.23-512-512-512zM128 512c0-212.078 171.922-384 384-384v768c-212.078 0-384-171.922-384-384z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "contrast" + ], + "defaultCode": 58104, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 854, + "order": 633, + "prevSize": 32, + "code": 60628, + "ligatures": "contrast", + "name": "contrast" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 88 + }, + { + "icon": { + "paths": [ + "M893.254 221.254l-90.508-90.508-290.746 290.744-290.746-290.744-90.508 90.506 290.746 290.748-290.746 290.746 90.508 90.508 290.746-290.746 290.746 290.746 90.508-90.51-290.744-290.744z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "remove" + ], + "defaultCode": 60778, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 24, + "order": 634, + "prevSize": 32, + "code": 60778, + "ligatures": "cross2, cancel3", + "name": "remove22" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 89 + }, + { + "icon": { + "paths": [ + "M0 64v384c0 35.346 28.654 64 64 64s64-28.654 64-64v-229.488l677.488 677.488h-229.488c-35.346 0-64 28.652-64 64 0 35.346 28.654 64 64 64h384c35.346 0 64-28.654 64-64v-384c0-35.348-28.654-64-64-64s-64 28.652-64 64v229.488l-677.488-677.488h229.488c35.346 0 64-28.654 64-64s-28.652-64-64-64h-384c-35.346 0-64 28.654-64 64z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "resize2" + ], + "defaultCode": 58329, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 1097, + "order": 575, + "prevSize": 32, + "code": 60921, + "ligatures": "arrow-resize2, diagonal2", + "name": "resize2" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 90 + }, + { + "icon": { + "paths": [ + "M483.2 640l-147.2-336c-9.6-25.6-19.2-44.8-25.6-54.4s-16-12.8-25.6-12.8c-16 0-25.6 3.2-28.8 3.2v-70.4c9.6-6.4 25.6-6.4 38.4-9.6 32 0 57.6 6.4 73.6 22.4 6.4 6.4 12.8 16 19.2 25.6 6.4 12.8 12.8 25.6 16 41.6l121.6 291.2 150.4-371.2h92.8l-198.4 470.4v224h-86.4v-224z", + "M0 0v1024h1024v-1024h-1024zM960 960h-896v-896h896v896z" + ], + "attrs": [ + {}, + {} + ], + "isMulticolor": false, + "tags": [ + "gamma2" + ], + "grid": 16, + "defaultCode": 58880 + }, + "attrs": [ + {}, + {} + ], + "properties": { + "order": 576, + "id": 1, + "prevSize": 32, + "code": 58880, + "name": "gamma" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 91 + }, + { + "icon": { + "paths": [ + "M627.2 880h-579.2v-396.8h579.2v396.8zM553.6 553.6h-435.2v256h435.2v-256z", + "M259.2 227.2c176-176 457.6-176 633.6 0s176 457.6 0 633.6c-121.6 121.6-297.6 160-454.4 108.8 121.6 28.8 262.4-9.6 361.6-108.8 150.4-150.4 160-384 22.4-521.6-121.6-121.6-320-128-470.4-19.2l86.4 86.4-294.4 22.4 22.4-294.4 92.8 92.8z" + ], + "attrs": [ + {}, + {} + ], + "isMulticolor": false, + "tags": [ + "orientation" + ], + "grid": 16, + "defaultCode": 58881 + }, + "attrs": [ + {}, + {} + ], + "properties": { + "order": 577, + "id": 0, + "prevSize": 32, + "code": 58881, + "name": "orientation" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 92 + }, + { + "icon": { + "paths": [ + "M768 544v352h-640v-640h352l128-128h-512c-52.8 0-96 43.2-96 96v704c0 52.8 43.2 96 96 96h704c52.798 0 96-43.2 96-96v-512l-128 128z", + "M864 0l-608 608v160h160l608-608c0-96-64-160-160-160zM416 640l-48-48 480-480 48 48-480 480z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "pencil", + "write", + "edit" + ], + "defaultCode": 57361, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 68, + "order": 578, + "prevSize": 32, + "code": 59669, + "ligatures": "pencil7, write7", + "name": "editimage" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 93 + }, + { + "icon": { + "paths": [ + "M607.998 128.014c-212.070 0-383.986 171.916-383.986 383.986h-191.994l246.848 246.848 246.848-246.848h-191.994c0-151.478 122.798-274.276 274.276-274.276 151.48 0 274.276 122.798 274.276 274.276 0 151.48-122.796 274.276-274.276 274.276v109.71c212.070 0 383.986-171.916 383.986-383.986s-171.916-383.986-383.986-383.986z" + ], + "width": 1024, + "attrs": [], + "isMulticolor": false, + "tags": [ + "rotate-ccw", + "ccw", + "arrow" + ], + "defaultCode": 60072, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 22, + "order": 579, + "prevSize": 32, + "code": 60072, + "ligatures": "rotate-ccw3, ccw4", + "name": "rotateleft" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 94 + }, + { + "icon": { + "paths": [ + "M416.002 128.014c212.070 0 383.986 171.916 383.986 383.986h191.994l-246.848 246.848-246.848-246.848h191.994c0-151.478-122.798-274.276-274.276-274.276-151.48 0-274.276 122.798-274.276 274.276 0 151.48 122.796 274.276 274.276 274.276v109.71c-212.070 0-383.986-171.916-383.986-383.986s171.916-383.986 383.986-383.986z" + ], + "width": 1024, + "attrs": [], + "isMulticolor": false, + "tags": [ + "rotate-cw", + "cw", + "arrow" + ], + "defaultCode": 60073, + "grid": 16 + }, + "attrs": [], + "properties": { + "order": 580, + "id": 1679, + "prevSize": 32, + "code": 60073, + "ligatures": "rotate-cw3, cw4", + "name": "rotateright" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 95 + }, + { + "icon": { + "paths": [ + "M0 384h1024v-384zM1024 960v-384h-1024z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "flip-vertical", + "mirror" + ], + "defaultCode": 57663, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 403, + "order": 581, + "prevSize": 32, + "code": 60074, + "ligatures": "flip-vertical, mirror", + "name": "flipv" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 96 + }, + { + "icon": { + "paths": [ + "M576 0v1024h384zM0 1024h384v-1024z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "flip-horizontal", + "mirror" + ], + "defaultCode": 57664, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 405, + "order": 582, + "prevSize": 32, + "code": 60076, + "ligatures": "flip-horizontal, mirror3", + "name": "fliph" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 97 + }, + { + "icon": { + "paths": [ + "M992.262 871.396l-242.552-206.294c-25.074-22.566-51.89-32.926-73.552-31.926 57.256-67.068 91.842-154.078 91.842-249.176 0-212.078-171.922-384-384-384-212.076 0-384 171.922-384 384 0 212.078 171.922 384 384 384 95.098 0 182.108-34.586 249.176-91.844-1 21.662 9.36 48.478 31.926 73.552l206.294 242.552c35.322 39.246 93.022 42.554 128.22 7.356s31.892-92.898-7.354-128.22zM384 640c-141.384 0-256-114.616-256-256s114.616-256 256-256 256 114.616 256 256-114.614 256-256 256zM448 192h-128v128h-128v128h128v128h128v-128h128v-128h-128z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "zoom-in", + "magnifier", + "magnifier-plus", + "enlarge" + ], + "defaultCode": 57788, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 534, + "order": 583, + "prevSize": 32, + "code": 60213, + "ligatures": "zoom-in3, magnifier9", + "name": "zoomin" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 98 + }, + { + "icon": { + "paths": [ + "M992.262 871.396l-242.552-206.294c-25.074-22.566-51.89-32.926-73.552-31.926 57.256-67.068 91.842-154.078 91.842-249.176 0-212.078-171.922-384-384-384-212.076 0-384 171.922-384 384 0 212.078 171.922 384 384 384 95.098 0 182.108-34.586 249.176-91.844-1 21.662 9.36 48.478 31.926 73.552l206.294 242.552c35.322 39.246 93.022 42.554 128.22 7.356s31.892-92.898-7.354-128.22zM384 640c-141.384 0-256-114.616-256-256s114.616-256 256-256 256 114.616 256 256-114.614 256-256 256zM192 320h384v128h-384z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "zoom-out", + "magnifier", + "magnifier-minus", + "reduce" + ], + "defaultCode": 57789, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 535, + "order": 584, + "prevSize": 32, + "code": 60214, + "ligatures": "zoom-out3, magnifier10", + "name": "zoomout" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 99 + }, + { + "icon": { + "paths": [ + "M64 192h896v192h-896zM64 448h896v192h-896zM64 704h896v192h-896z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "menu", + "list", + "options", + "lines", + "hamburger" + ], + "defaultCode": 58031, + "grid": 16 + }, + "attrs": [], + "properties": { + "order": 585, + "id": 1448, + "prevSize": 32, + "code": 60522, + "ligatures": "menu3, list4", + "name": "options" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 100 + }, + { + "icon": { + "paths": [ + "M512 832c35.346 0 64 28.654 64 64v64c0 35.346-28.654 64-64 64s-64-28.654-64-64v-64c0-35.346 28.654-64 64-64zM512 192c-35.346 0-64-28.654-64-64v-64c0-35.346 28.654-64 64-64s64 28.654 64 64v64c0 35.346-28.654 64-64 64zM960 448c35.346 0 64 28.654 64 64s-28.654 64-64 64h-64c-35.348 0-64-28.654-64-64s28.652-64 64-64h64zM192 512c0 35.346-28.654 64-64 64h-64c-35.346 0-64-28.654-64-64s28.654-64 64-64h64c35.346 0 64 28.654 64 64zM828.784 738.274l45.256 45.258c24.992 24.99 24.992 65.516 0 90.508-24.994 24.992-65.518 24.992-90.51 0l-45.256-45.256c-24.992-24.99-24.992-65.516 0-90.51 24.994-24.992 65.518-24.992 90.51-0zM195.216 285.726l-45.256-45.256c-24.994-24.994-24.994-65.516 0-90.51s65.516-24.994 90.51 0l45.256 45.256c24.994 24.994 24.994 65.516 0 90.51s-65.516 24.994-90.51 0zM828.784 285.726c-24.992 24.992-65.516 24.992-90.51 0-24.992-24.994-24.992-65.516 0-90.51l45.256-45.254c24.992-24.994 65.516-24.994 90.51 0 24.992 24.994 24.992 65.516 0 90.51l-45.256 45.254zM195.216 738.274c24.992-24.992 65.518-24.992 90.508 0 24.994 24.994 24.994 65.52 0 90.51l-45.254 45.256c-24.994 24.992-65.516 24.992-90.51 0s-24.994-65.518 0-90.508l45.256-45.258z", + "M512 256c-141.384 0-256 114.616-256 256 0 141.382 114.616 256 256 256 141.382 0 256-114.618 256-256 0-141.384-114.616-256-256-256zM512 672c-88.366 0-160-71.634-160-160s71.634-160 160-160 160 71.634 160 160-71.634 160-160 160z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "sun", + "weather" + ], + "defaultCode": 58094, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 844, + "order": 635, + "prevSize": 32, + "code": 60620, + "ligatures": "sun2, weather21", + "name": "sun" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 101 + }, + { + "icon": { + "paths": [ + "M715.812 64.48c-60.25-34.784-124.618-55.904-189.572-64.48 122.936 160.082 144.768 384.762 37.574 570.42-107.2 185.67-312.688 279.112-512.788 252.68 39.898 51.958 90.376 97.146 150.628 131.934 245.908 141.974 560.37 57.72 702.344-188.198 141.988-245.924 57.732-560.372-188.186-702.356z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "moon", + "night", + "sleep" + ], + "defaultCode": 58105, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 855, + "order": 636, + "prevSize": 32, + "code": 60621, + "ligatures": "moon, night", + "name": "moon" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 102 + }, + { + "icon": { + "paths": [ + "M672 1024l192-192-320-320 320-320-192-192-512 512z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "arrow-left", + "left", + "previous" + ], + "defaultCode": 58291, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 1056, + "order": 637, + "prevSize": 32, + "code": 60864, + "ligatures": "arrow-left, left4", + "name": "arrowleft" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 103 + }, + { + "icon": { + "paths": [ + "M832 256l192-192-64-64-192 192h-448v-192h-128v192h-192v128h192v512h512v192h128v-192h192v-128h-192v-448zM320 320h320l-320 320v-320zM384 704l320-320v320h-320z" + ], + "attrs": [], + "isMulticolor": false, + "tags": [ + "crop", + "resize", + "cut" + ], + "defaultCode": 58428, + "grid": 16 + }, + "attrs": [], + "properties": { + "id": 1201, + "order": 638, + "prevSize": 32, + "code": 61048, + "ligatures": "crop, resize", + "name": "crop" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 104 + }, + { + "icon": { + "paths": [ + "M0 64v896h1024v-896h-1024zM640 704v192h-256v-192h256zM640 192v192h-256v-192h256zM320 192v192h-256v-192h256zM704 384v-192h256v192h-256zM64 704h256v192h-256v-192zM704 896v-192h256v192h-256z" + ], + "attrs": [ + { + "fill": "rgb(0, 0, 0)" + } + ], + "isMulticolor": false, + "tags": [ + "tablerowprops" + ], + "defaultCode": 58880, + "grid": 16 + }, + "attrs": [ + { + "fill": "rgb(0, 0, 0)" + } + ], + "properties": { + "id": 1680, + "order": 639, + "prevSize": 32, + "code": 58884, + "name": "tablerowprops" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 105 + }, + { + "icon": { + "paths": [ + "M0 64v896h1024v-896h-1024zM640 704v192h-256v-192h256zM640 192v192h-256v-192h256zM320 192v192h-256v-192h256zM64 448h256v192h-256v-192zM704 448h256v192h-256v-192zM704 384v-192h256v192h-256zM64 704h256v192h-256v-192zM704 896v-192h256v192h-256z" + ], + "attrs": [ + { + "fill": "rgb(0, 0, 0)" + } + ], + "isMulticolor": false, + "tags": [ + "tablecellprops" + ], + "defaultCode": 58881, + "grid": 16 + }, + "attrs": [ + { + "fill": "rgb(0, 0, 0)" + } + ], + "properties": { + "id": 1681, + "order": 640, + "prevSize": 32, + "code": 58885, + "name": "tablecellprops" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 106 + }, + { + "icon": { + "paths": [ + "M0 64v832h1024v-832h-1024zM320 832h-256v-192h256v192zM320 576h-256v-192h256v192zM640 832h-256v-192h256v192zM640 576h-256v-192h256v192zM960 832h-256v-192h256v192zM960 576h-256v-192h256v192zM960 320h-896v-192h896v192z" + ], + "attrs": [ + { + "fill": "rgb(0, 0, 0)" + } + ], + "isMulticolor": false, + "tags": [ + "table2" + ], + "defaultCode": 58882, + "grid": 16 + }, + "attrs": [ + { + "fill": "rgb(0, 0, 0)" + } + ], + "properties": { + "id": 1682, + "order": 641, + "prevSize": 32, + "code": 58886, + "name": "table2" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 107 + }, + { + "icon": { + "paths": [ + "M0 64v896h1024v-896h-1024zM384 896v-448h576v448h-576zM640 192v192h-256v-192h256zM320 192v192h-256v-192h256zM64 448h256v192h-256v-192zM704 384v-192h256v192h-256zM64 704h256v192h-256v-192z" + ], + "attrs": [ + { + "fill": "rgb(0, 0, 0)" + } + ], + "isMulticolor": false, + "tags": [ + "tablemergecells" + ], + "defaultCode": 58884, + "grid": 16 + }, + "attrs": [ + { + "fill": "rgb(0, 0, 0)" + } + ], + "properties": { + "id": 1683, + "order": 586, + "prevSize": 32, + "code": 58887, + "name": "tablemergecells" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 108 + }, + { + "icon": { + "paths": [ + "M320 771.2v-182.4h-182.4v-89.6h182.4v-182.4h86.4v182.4h185.6v89.6h-185.6v182.4zM0 64v896h1024v-896h-1024zM640 896h-576v-704h576v704zM960 896h-256v-192h256v192zM960 640h-256v-192h256v192zM960 384h-256v-192h256v192z" + ], + "attrs": [ + { + "fill": "rgb(0, 0, 0)" + } + ], + "isMulticolor": false, + "tags": [ + "tableinsertcolbefore" + ], + "defaultCode": 58885, + "grid": 16 + }, + "attrs": [ + { + "fill": "rgb(0, 0, 0)" + } + ], + "properties": { + "id": 1684, + "order": 587, + "prevSize": 32, + "code": 58888, + "name": "tableinsertcolbefore" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 109 + }, + { + "icon": { + "paths": [ + "M704 316.8v182.4h182.4v89.6h-182.4v182.4h-86.4v-182.4h-185.6v-89.6h185.6v-182.4zM0 64v896h1024v-896h-1024zM320 896h-256v-192h256v192zM320 640h-256v-192h256v192zM320 384h-256v-192h256v192zM960 896h-576v-704h576v704z" + ], + "attrs": [ + { + "fill": "rgb(0, 0, 0)" + } + ], + "isMulticolor": false, + "tags": [ + "tableinsertcolafter" + ], + "defaultCode": 58886, + "grid": 16 + }, + "attrs": [ + { + "fill": "rgb(0, 0, 0)" + } + ], + "properties": { + "id": 1685, + "order": 588, + "prevSize": 32, + "code": 58889, + "name": "tableinsertcolafter" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 110 + }, + { + "icon": { + "paths": [ + "M691.2 451.2h-144v144h-70.4v-144h-144v-67.2h144v-144h70.4v144h144zM0 64v896h1024v-896h-1024zM320 896h-256v-192h256v192zM640 896h-256v-192h256v192zM960 896h-256v-192h256v192zM960 643.2h-896v-451.2h896v451.2z" + ], + "attrs": [ + { + "fill": "rgb(0, 0, 0)" + } + ], + "isMulticolor": false, + "tags": [ + "tableinsertrowbefore" + ], + "defaultCode": 58887, + "grid": 16 + }, + "attrs": [ + { + "fill": "rgb(0, 0, 0)" + } + ], + "properties": { + "id": 1686, + "order": 589, + "prevSize": 32, + "code": 58890, + "name": "tableinsertrowbefore" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 111 + }, + { + "icon": { + "paths": [ + "M332.8 636.8h144v-144h70.4v144h144v67.2h-144v144h-70.4v-144h-144zM0 64v896h1024v-896h-1024zM384 192h256v192h-256v-192zM64 192h256v192h-256v-192zM960 896h-896v-451.2h896v451.2zM960 384h-256v-192h256v192z" + ], + "attrs": [ + { + "fill": "rgb(0, 0, 0)" + } + ], + "isMulticolor": false, + "tags": [ + "tableinsertrowafter" + ], + "defaultCode": 58888, + "grid": 16 + }, + "attrs": [ + { + "fill": "rgb(0, 0, 0)" + } + ], + "properties": { + "id": 1687, + "order": 590, + "prevSize": 32, + "code": 58891, + "name": "tableinsertrowafter" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 112 + }, + { + "icon": { + "paths": [ + "M0 64v896h1024v-896h-1024zM384 192h256v192h-256v-192zM320 896h-256v-192h256v192zM320 640h-256v-192h256v192zM320 384h-256v-192h256v192zM960 896h-576v-448h576v448zM960 384h-256v-192h256v192zM864 803.2l-60.8 60.8-131.2-131.2-131.2 131.2-60.8-60.8 131.2-131.2-131.2-131.2 60.8-60.8 131.2 131.2 131.2-131.2 60.8 60.8-131.2 131.2z" + ], + "attrs": [ + { + "fill": "rgb(0, 0, 0)" + } + ], + "isMulticolor": false, + "tags": [ + "tablesplitcells" + ], + "defaultCode": 58890, + "grid": 16 + }, + "attrs": [ + { + "fill": "rgb(0, 0, 0)" + } + ], + "properties": { + "id": 1688, + "order": 591, + "prevSize": 32, + "code": 58893, + "name": "tablesplitcells" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 113 + }, + { + "icon": { + "paths": [ + "M0 64h1024v896h-1024v-896zM60.8 192v704h899.2v-704h-899.2zM809.6 748.8l-96 96-204.8-204.8-204.8 204.8-96-96 204.8-204.8-204.8-204.8 96-96 204.8 204.8 204.8-204.8 96 96-204.8 204.8z" + ], + "attrs": [ + { + "fill": "rgb(0, 0, 0)" + } + ], + "isMulticolor": false, + "tags": [ + "tabledelete" + ], + "defaultCode": 58891, + "grid": 16 + }, + "attrs": [ + { + "fill": "rgb(0, 0, 0)" + } + ], + "properties": { + "id": 1689, + "order": 592, + "prevSize": 32, + "code": 58894, + "name": "tabledelete" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 114 + }, + { + "icon": { + "paths": [ + "M0 64v832h1024v-832h-1024zM640 832h-256v-192h256v192zM640 576h-256v-192h256v192zM640 320h-256v-192h256v192zM960 832h-256v-192h256v192zM960 576h-256v-192h256v192zM960 320h-256v-192h256v192z" + ], + "attrs": [ + { + "fill": "rgb(0, 0, 0)" + } + ], + "isMulticolor": false, + "tags": [ + "tableleftheader" + ], + "defaultCode": 58922, + "grid": 16 + }, + "attrs": [ + { + "fill": "rgb(0, 0, 0)" + } + ], + "properties": { + "id": 1690, + "order": 593, + "prevSize": 32, + "code": 58922, + "name": "tableleftheader" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 115 + }, + { + "icon": { + "paths": [ + "M0 64v832h1024v-832h-1024zM320 832h-256v-192h256v192zM320 576h-256v-192h256v192zM640 832h-256v-192h256v192zM640 576h-256v-192h256v192zM960 832h-256v-192h256v192zM960 576h-256v-192h256v192z" + ], + "attrs": [ + { + "fill": "rgb(0, 0, 0)" + } + ], + "isMulticolor": false, + "tags": [ + "tabletopheader" + ], + "defaultCode": 58923, + "grid": 16 + }, + "attrs": [ + { + "fill": "rgb(0, 0, 0)" + } + ], + "properties": { + "id": 1691, + "order": 594, + "prevSize": 32, + "code": 58923, + "name": "tabletopheader" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 116 + }, + { + "icon": { + "paths": [ + "M886.4 387.2l-156.8 156.8 160 160-76.8 76.8-160-160-156.8 156.8-76.8-73.6 160-160-163.2-163.2 76.8-76.8 163.2 163.2 156.8-156.8 73.6 76.8zM0 64v896h1024v-896h-1024zM960 384h-22.4l-64 64h86.4v192h-89.6l64 64h25.6v192h-896v-192h310.4l64-64h-374.4v-192h371.2l-64-64h-307.2v-192h896v192z" + ], + "attrs": [], + "isMulticolor": false, + "grid": 16, + "tags": [ + "tabledeleterow" + ], + "defaultCode": 59392 + }, + "attrs": [], + "properties": { + "order": 595, + "id": 1693, + "prevSize": 32, + "code": 59392, + "name": "tabledeleterow" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 117 + }, + { + "icon": { + "paths": [ + "M320 460.8l64 64v12.8l-64 64v-140.8zM640 537.6l64 64v-137.6l-64 64v9.6zM1024 64v896h-1024v-896h1024zM960 192h-256v51.2l-12.8-12.8-51.2 51.2v-89.6h-256v89.6l-51.2-51.2-12.8 12.8v-51.2h-256v704h256v-118.4l35.2 35.2 28.8-28.8v115.2h256v-115.2l48 48 16-16v83.2h256v-707.2zM672 297.6l-156.8 156.8-163.2-163.2-76.8 76.8 163.2 163.2-156.8 156.8 76.8 76.8 156.8-156.8 160 160 76.8-76.8-160-160 156.8-156.8-76.8-76.8z" + ], + "attrs": [], + "isMulticolor": false, + "grid": 16, + "tags": [ + "tabledeletecol" + ], + "defaultCode": 59393 + }, + "attrs": [], + "properties": { + "order": 596, + "id": 1692, + "prevSize": 32, + "code": 59393, + "name": "tabledeletecol" + }, + "setIdx": 2, + "setId": 1, + "iconIdx": 118 + } + ], + "height": 1024, + "metadata": { + "name": "tinymce" + }, + "preferences": { + "showGlyphs": true, + "showQuickUse": true, + "showQuickUse2": true, + "showSVGs": true, + "fontPref": { + "prefix": "icon-", + "metadata": { + "fontFamily": "tinymce", + "majorVersion": 1, + "minorVersion": 0 + }, + "metrics": { + "emSize": 1024, + "baseline": 6.25, + "whitespace": 50 + }, + "resetPoint": 59649, + "embed": false + }, + "imagePref": { + "prefix": "icon-", + "png": true, + "useClassSelector": true, + "color": 4473924, + "bgColor": 16777215 + }, + "historySize": 100, + "gridSize": 16, + "showGrid": true, + "showCodes": true, + "showLiga": false + } +} \ No newline at end of file diff --git a/static/tinymce1.3/skins/lightgray/fonts/tinymce.svg b/static/tinymce1.3/skins/lightgray/fonts/tinymce.svg new file mode 100755 index 00000000..5727cea4 --- /dev/null +++ b/static/tinymce1.3/skins/lightgray/fonts/tinymce.svg @@ -0,0 +1,131 @@ + + + +Generated by IcoMoon + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/static/tinymce1.3/skins/lightgray/fonts/tinymce.ttf b/static/tinymce1.3/skins/lightgray/fonts/tinymce.ttf new file mode 100755 index 00000000..16536bfd Binary files /dev/null and b/static/tinymce1.3/skins/lightgray/fonts/tinymce.ttf differ diff --git a/static/tinymce1.3/skins/lightgray/fonts/tinymce.woff b/static/tinymce1.3/skins/lightgray/fonts/tinymce.woff new file mode 100755 index 00000000..74b50f4c Binary files /dev/null and b/static/tinymce1.3/skins/lightgray/fonts/tinymce.woff differ diff --git a/static/tinymce1.3/skins/lightgray/img/anchor.gif b/static/tinymce1.3/skins/lightgray/img/anchor.gif new file mode 100755 index 00000000..606348c7 Binary files /dev/null and b/static/tinymce1.3/skins/lightgray/img/anchor.gif differ diff --git a/static/tinymce1.3/skins/lightgray/img/loader.gif b/static/tinymce1.3/skins/lightgray/img/loader.gif new file mode 100755 index 00000000..c69e9372 Binary files /dev/null and b/static/tinymce1.3/skins/lightgray/img/loader.gif differ diff --git a/static/tinymce1.3/skins/lightgray/img/object.gif b/static/tinymce1.3/skins/lightgray/img/object.gif new file mode 100755 index 00000000..cccd7f02 Binary files /dev/null and b/static/tinymce1.3/skins/lightgray/img/object.gif differ diff --git a/static/tinymce1.3/skins/lightgray/img/trans.gif b/static/tinymce1.3/skins/lightgray/img/trans.gif new file mode 100755 index 00000000..38848651 Binary files /dev/null and b/static/tinymce1.3/skins/lightgray/img/trans.gif differ diff --git a/static/tinymce1.3/skins/lightgray/skin.ie7.min.css b/static/tinymce1.3/skins/lightgray/skin.ie7.min.css new file mode 100755 index 00000000..8ebe708f --- /dev/null +++ b/static/tinymce1.3/skins/lightgray/skin.ie7.min.css @@ -0,0 +1 @@ +.mce-container,.mce-container *,.mce-widget,.mce-widget *,.mce-reset{margin:0;padding:0;border:0;outline:0;vertical-align:top;background:transparent;text-decoration:none;color:#333;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;text-shadow:none;float:none;position:static;width:auto;height:auto;white-space:nowrap;cursor:inherit;-webkit-tap-highlight-color:transparent;line-height:normal;font-weight:normal;text-align:left;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;direction:ltr;max-width:none}.mce-widget button{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.mce-container *[unselectable]{-moz-user-select:none;-webkit-user-select:none;-o-user-select:none;user-select:none}.mce-fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.mce-fade.mce-in{opacity:1}.mce-tinymce{visibility:inherit !important;position:relative}.mce-fullscreen{border:0;padding:0;margin:0;overflow:hidden;height:100%;z-index:100}div.mce-fullscreen{position:fixed;top:0;left:0;width:100%;height:auto}.mce-tinymce{display:block}.mce-wordcount{position:absolute;top:0;right:0;padding:8px}div.mce-edit-area{background:#FFF;filter:none}.mce-statusbar{position:relative}.mce-statusbar .mce-container-body{position:relative}.mce-fullscreen .mce-resizehandle{display:none}.mce-charmap{border-collapse:collapse}.mce-charmap td{cursor:default;border:1px solid rgba(0,0,0,0.2);width:20px;height:20px;line-height:20px;text-align:center;vertical-align:middle;padding:2px}.mce-charmap td div{text-align:center}.mce-charmap td:hover{background:#D9D9D9}.mce-grid td.mce-grid-cell div{border:1px solid #d6d6d6;width:15px;height:15px;margin:0;cursor:pointer}.mce-grid td.mce-grid-cell div:focus{border-color:#3498db}.mce-grid td.mce-grid-cell div[disabled]{cursor:not-allowed}.mce-grid{border-spacing:2px;border-collapse:separate}.mce-grid a{display:block;border:1px solid transparent}.mce-grid a:hover,.mce-grid a:focus{border-color:#3498db}.mce-grid-border{margin:0 4px 0 4px}.mce-grid-border a{border-color:#d6d6d6;width:13px;height:13px}.mce-grid-border a:hover,.mce-grid-border a.mce-active{border-color:#3498db;background:#3498db}.mce-text-center{text-align:center}div.mce-tinymce-inline{width:100%}.mce-colorbtn-trans div{text-align:center;vertical-align:middle;font-weight:bold;font-size:20px;line-height:16px;color:#707070}.mce-monospace{font-family:"Courier New",Courier,monospace}.mce-toolbar-grp{padding:2px 0}.mce-toolbar-grp .mce-flow-layout-item{margin-bottom:0}.mce-rtl .mce-wordcount{left:0;right:auto}.mce-croprect-container{position:absolute;top:0;left:0}.mce-croprect-handle{position:absolute;top:0;left:0;width:20px;height:20px;border:2px solid white}.mce-croprect-handle-nw{border-width:2px 0 0 2px;margin:-2px 0 0 -2px;cursor:nw-resize;top:100px;left:100px}.mce-croprect-handle-ne{border-width:2px 2px 0 0;margin:-2px 0 0 -20px;cursor:ne-resize;top:100px;left:200px}.mce-croprect-handle-sw{border-width:0 0 2px 2px;margin:-20px 2px 0 -2px;cursor:sw-resize;top:200px;left:100px}.mce-croprect-handle-se{border-width:0 2px 2px 0;margin:-20px 0 0 -20px;cursor:se-resize;top:200px;left:200px}.mce-croprect-handle-move{position:absolute;cursor:move;border:0}.mce-croprect-block{opacity:.3;filter:alpha(opacity=30);zoom:1;position:absolute;background:black}.mce-croprect-handle:focus{border-color:#3498db}.mce-croprect-handle-move:focus{outline:1px solid #3498db}.mce-imagepanel{overflow:auto;background:black}.mce-imagepanel-bg{position:absolute;background:url('data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==')}.mce-imagepanel img{position:absolute}.mce-imagetool.mce-btn .mce-ico{display:block;width:20px;height:20px;text-align:center;line-height:20px;font-size:20px;padding:5px}.mce-arrow-up{margin-top:12px}.mce-arrow-down{margin-top:-12px}.mce-arrow:before,.mce-arrow:after{position:absolute;left:50%;display:block;width:0;height:0;border-style:solid;border-color:transparent;content:""}.mce-arrow.mce-arrow-up:before{top:-9px;border-bottom-color:rgba(0,0,0,0.2);border-width:0 9px 9px;margin-left:-9px}.mce-arrow.mce-arrow-down:before{bottom:-9px;border-top-color:rgba(0,0,0,0.2);border-width:9px 9px 0;margin-left:-9px}.mce-arrow.mce-arrow-up:after{top:-8px;border-bottom-color:#f0f0f0;border-width:0 8px 8px;margin-left:-8px}.mce-arrow.mce-arrow-down:after{bottom:-8px;border-top-color:#f0f0f0;border-width:8px 8px 0;margin-left:-8px}.mce-arrow.mce-arrow-left:before,.mce-arrow.mce-arrow-left:after{margin:0}.mce-arrow.mce-arrow-left:before{left:8px}.mce-arrow.mce-arrow-left:after{left:9px}.mce-arrow.mce-arrow-right:before,.mce-arrow.mce-arrow-right:after{left:auto;margin:0}.mce-arrow.mce-arrow-right:before{right:8px}.mce-arrow.mce-arrow-right:after{right:9px}.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-left:before{left:-9px;top:50%;border-right-color:rgba(0,0,0,0.2);border-width:9px 9px 9px 0;margin-top:-9px}.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-left:after{left:-8px;top:50%;border-right-color:#f0f0f0;border-width:8px 8px 8px 0;margin-top:-8px}.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-left{margin-left:12px}.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-right:before{right:-9px;top:50%;border-left-color:rgba(0,0,0,0.2);border-width:9px 0 9px 9px;margin-top:-9px}.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-right:after{right:-8px;top:50%;border-left-color:#f0f0f0;border-width:8px 0 8px 8px;margin-top:-8px}.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-right{margin-left:-14px}.mce-container,.mce-container-body{display:block}.mce-autoscroll{overflow:hidden}.mce-scrollbar{position:absolute;width:7px;height:100%;top:2px;right:2px;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-scrollbar-h{top:auto;right:auto;left:2px;bottom:2px;width:100%;height:7px}.mce-scrollbar-thumb{position:absolute;background-color:#000;border:1px solid #888;border-color:rgba(85,85,85,0.6);width:5px;height:100%}.mce-scrollbar-h .mce-scrollbar-thumb{width:100%;height:5px}.mce-scrollbar:hover,.mce-scrollbar.mce-active{background-color:#AAA;opacity:.6;filter:alpha(opacity=60);zoom:1}.mce-scroll{position:relative}.mce-panel{border:0 solid #cacaca;border:0 solid rgba(0,0,0,0.2);background-color:#f0f0f0}.mce-floatpanel{position:absolute}.mce-floatpanel.mce-fixed{position:fixed}.mce-floatpanel .mce-arrow,.mce-floatpanel .mce-arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.mce-floatpanel .mce-arrow{border-width:11px}.mce-floatpanel .mce-arrow:after{border-width:10px;content:""}.mce-floatpanel.mce-popover{filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;top:0;left:0;background:#FFF;border:1px solid rgba(0,0,0,0.2);border:1px solid rgba(0,0,0,0.25)}.mce-floatpanel.mce-popover.mce-bottom{margin-top:10px;*margin-top:0}.mce-floatpanel.mce-popover.mce-bottom>.mce-arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:rgba(0,0,0,0.2);border-bottom-color:rgba(0,0,0,0.25);top:-11px}.mce-floatpanel.mce-popover.mce-bottom>.mce-arrow:after{top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#FFF}.mce-floatpanel.mce-popover.mce-bottom.mce-start{margin-left:-22px}.mce-floatpanel.mce-popover.mce-bottom.mce-start>.mce-arrow{left:20px}.mce-floatpanel.mce-popover.mce-bottom.mce-end{margin-left:22px}.mce-floatpanel.mce-popover.mce-bottom.mce-end>.mce-arrow{right:10px;left:auto}.mce-fullscreen{border:0;padding:0;margin:0;overflow:hidden;height:100%}div.mce-fullscreen{position:fixed;top:0;left:0}#mce-modal-block{opacity:0;filter:alpha(opacity=0);zoom:1;position:fixed;left:0;top:0;width:100%;height:100%;background:#000}#mce-modal-block.mce-in{opacity:.3;filter:alpha(opacity=30);zoom:1}.mce-window-move{cursor:move}.mce-window{filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;background:#FFF;position:fixed;top:0;left:0;opacity:0;transform:scale(.1);transition:transform 100ms ease-in,opacity 150ms ease-in}.mce-window.mce-in{transform:scale(1);opacity:1}.mce-window-head{padding:9px 15px;border-bottom:1px solid #c5c5c5;position:relative}.mce-window-head .mce-close{position:absolute;right:0;top:0;height:38px;width:38px;text-align:center;cursor:pointer}.mce-window-head .mce-close i{color:#858585}.mce-close:hover i{color:#adadad}.mce-window-head .mce-title{line-height:20px;font-size:20px;font-weight:bold;text-rendering:optimizelegibility;padding-right:20px}.mce-window .mce-container-body{display:block}.mce-foot{display:block;background-color:#FFF;border-top:1px solid #c5c5c5}.mce-window-head .mce-dragh{position:absolute;top:0;left:0;cursor:move;width:90%;height:100%}.mce-window iframe{width:100%;height:100%}.mce-window-body .mce-listbox{border-color:#ccc}.mce-rtl .mce-window-head .mce-close{position:absolute;right:auto;left:15px}.mce-rtl .mce-window-head .mce-dragh{left:auto;right:0}.mce-rtl .mce-window-head .mce-title{direction:rtl;text-align:right}.mce-tooltip{position:absolute;padding:5px;opacity:.8;filter:alpha(opacity=80);zoom:1}.mce-tooltip-inner{font-size:11px;background-color:#000;color:white;max-width:200px;padding:5px 8px 4px 8px;text-align:center;white-space:normal}.mce-tooltip-arrow{position:absolute;width:0;height:0;line-height:0;border:5px dashed #000}.mce-tooltip-arrow-n{border-bottom-color:#000}.mce-tooltip-arrow-s{border-top-color:#000}.mce-tooltip-arrow-e{border-left-color:#000}.mce-tooltip-arrow-w{border-right-color:#000}.mce-tooltip-nw,.mce-tooltip-sw{margin-left:-14px}.mce-tooltip-ne,.mce-tooltip-se{margin-left:14px}.mce-tooltip-n .mce-tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-nw .mce-tooltip-arrow{top:0;left:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-ne .mce-tooltip-arrow{top:0;right:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-s .mce-tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-sw .mce-tooltip-arrow{bottom:0;left:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-se .mce-tooltip-arrow{bottom:0;right:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-e .mce-tooltip-arrow{right:0;top:50%;margin-top:-5px;border-left-style:solid;border-right:none;border-top-color:transparent;border-bottom-color:transparent}.mce-tooltip-w .mce-tooltip-arrow{left:0;top:50%;margin-top:-5px;border-right-style:solid;border-left:none;border-top-color:transparent;border-bottom-color:transparent}.mce-progress{display:inline-block;position:relative;height:20px}.mce-progress .mce-bar-container{display:inline-block;width:100px;height:100%;margin-right:8px;border:1px solid #ccc;overflow:hidden}.mce-progress .mce-text{display:inline-block;margin-top:auto;margin-bottom:auto;font-size:14px;width:40px;color:#333}.mce-bar{display:block;width:0;height:100%;background-color:#d7d7d7;-webkit-transition:width .2s ease;transition:width .2s ease}.mce-notification{position:absolute;background-color:#F0F0F0;padding:5px;margin-top:5px;border-width:1px;border-style:solid;border-color:#CCCCCC;transition:transform 100ms ease-in,opacity 150ms ease-in;opacity:0}.mce-notification.mce-in{opacity:1}.mce-notification-success{background-color:#dff0d8;border-color:#d6e9c6}.mce-notification-info{background-color:#d9edf7;border-color:#779ECB}.mce-notification-warning{background-color:#fcf8e3;border-color:#faebcc}.mce-notification-error{background-color:#f2dede;border-color:#ebccd1}.mce-notification.mce-has-close{padding-right:15px}.mce-notification .mce-ico{margin-top:5px}.mce-notification-inner{display:inline-block;font-size:14px;margin:5px 8px 4px 8px;text-align:center;white-space:normal;color:#31708f}.mce-notification-inner a{text-decoration:underline;cursor:pointer}.mce-notification .mce-progress{margin-right:8px}.mce-notification .mce-progress .mce-text{margin-top:5px}.mce-notification *,.mce-notification .mce-progress .mce-text{color:#333333}.mce-notification .mce-progress .mce-bar-container{border-color:#CCCCCC}.mce-notification .mce-progress .mce-bar-container .mce-bar{background-color:#333333}.mce-notification-success *,.mce-notification-success .mce-progress .mce-text{color:#3c763d}.mce-notification-success .mce-progress .mce-bar-container{border-color:#d6e9c6}.mce-notification-success .mce-progress .mce-bar-container .mce-bar{background-color:#3c763d}.mce-notification-info *,.mce-notification-info .mce-progress .mce-text{color:#31708f}.mce-notification-info .mce-progress .mce-bar-container{border-color:#779ECB}.mce-notification-info .mce-progress .mce-bar-container .mce-bar{background-color:#31708f}.mce-notification-warning *,.mce-notification-warning .mce-progress .mce-text{color:#8a6d3b}.mce-notification-warning .mce-progress .mce-bar-container{border-color:#faebcc}.mce-notification-warning .mce-progress .mce-bar-container .mce-bar{background-color:#8a6d3b}.mce-notification-error *,.mce-notification-error .mce-progress .mce-text{color:#a94442}.mce-notification-error .mce-progress .mce-bar-container{border-color:#ebccd1}.mce-notification-error .mce-progress .mce-bar-container .mce-bar{background-color:#a94442}.mce-notification .mce-close{position:absolute;top:6px;right:8px;font-size:20px;font-weight:bold;line-height:20px;color:#858585;cursor:pointer;height:20px;overflow:hidden}.mce-abs-layout{position:relative}body .mce-abs-layout-item,.mce-abs-end{position:absolute}.mce-abs-end{width:1px;height:1px}.mce-container-body.mce-abs-layout{overflow:hidden}.mce-btn{border:1px solid #b1b1b1;border-color:transparent transparent transparent transparent;position:relative;text-shadow:0 1px 1px rgba(255,255,255,0.75);display:inline-block;*display:inline;*zoom:1;background-color:#f0f0f0}.mce-btn:hover,.mce-btn:focus{color:#333;background-color:#e3e3e3;border-color:#ccc}.mce-btn.mce-disabled button,.mce-btn.mce-disabled:hover button{cursor:default;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-btn.mce-active,.mce-btn.mce-active:hover{background-color:#dbdbdb;border-color:#ccc}.mce-btn:active{background-color:#e0e0e0;border-color:#ccc}.mce-btn button{padding:4px 8px;font-size:14px;line-height:20px;*line-height:16px;cursor:pointer;color:#333;text-align:center;overflow:visible;-webkit-appearance:none}.mce-btn button::-moz-focus-inner{border:0;padding:0}.mce-btn i{text-shadow:1px 1px none}.mce-primary.mce-btn-has-text{min-width:50px}.mce-primary{color:#fff;border:1px solid transparent;border-color:transparent;background-color:#2d8ac7}.mce-primary:hover,.mce-primary:focus{background-color:#257cb6;border-color:transparent}.mce-primary.mce-disabled button,.mce-primary.mce-disabled:hover button{cursor:default;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-primary.mce-active,.mce-primary.mce-active:hover,.mce-primary:not(.mce-disabled):active{background-color:#206ea1}.mce-primary button,.mce-primary button i{color:#fff;text-shadow:1px 1px none}.mce-btn .mce-txt{font-size:inherit;line-height:inherit;color:inherit}.mce-btn-large button{padding:9px 14px;font-size:16px;line-height:normal}.mce-btn-large i{margin-top:2px}.mce-btn-small button{padding:1px 5px;font-size:12px;*padding-bottom:2px}.mce-btn-small i{line-height:20px;vertical-align:top;*line-height:18px}.mce-btn .mce-caret{margin-top:8px;margin-left:0}.mce-btn-small .mce-caret{margin-top:8px;margin-left:0}.mce-caret{display:inline-block;*display:inline;*zoom:1;width:0;height:0;vertical-align:top;border-top:4px solid #333;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.mce-disabled .mce-caret{border-top-color:#aaa}.mce-caret.mce-up{border-bottom:4px solid #333;border-top:0}.mce-btn-flat{border:0;background:transparent;filter:none}.mce-btn-flat:hover,.mce-btn-flat.mce-active,.mce-btn-flat:focus,.mce-btn-flat:active{border:0;background:#e6e6e6;filter:none}.mce-btn-has-text .mce-ico{padding-right:5px}.mce-rtl .mce-btn button{direction:rtl}.mce-btn-group .mce-btn{border-width:1px;margin:0;margin-left:2px}.mce-btn-group:not(:first-child){border-left:1px solid #d9d9d9;padding-left:3px;margin-left:3px}.mce-btn-group .mce-first{margin-left:0}.mce-btn-group .mce-btn.mce-flow-layout-item{margin:0}.mce-rtl .mce-btn-group .mce-btn{margin-left:0;margin-right:2px}.mce-rtl .mce-btn-group .mce-first{margin-right:0}.mce-rtl .mce-btn-group:not(:first-child){border-left:none;border-right:1px solid #d9d9d9;padding-right:4px;margin-right:4px}.mce-checkbox{cursor:pointer}i.mce-i-checkbox{margin:0 3px 0 0;border:1px solid #c5c5c5;background-color:#f0f0f0;text-indent:-10em;*font-size:0;*line-height:0;*text-indent:0;overflow:hidden}.mce-checked i.mce-i-checkbox{color:#333;font-size:16px;line-height:16px;text-indent:0}.mce-checkbox:focus i.mce-i-checkbox,.mce-checkbox.mce-focus i.mce-i-checkbox{border:1px solid rgba(82,168,236,0.8)}.mce-checkbox.mce-disabled .mce-label,.mce-checkbox.mce-disabled i.mce-i-checkbox{color:#acacac}.mce-checkbox .mce-label{vertical-align:middle}.mce-rtl .mce-checkbox{direction:rtl;text-align:right}.mce-rtl i.mce-i-checkbox{margin:0 0 0 3px}.mce-combobox{position:relative;display:inline-block;*display:inline;*zoom:1;*height:32px}.mce-combobox input{border:1px solid #c5c5c5;border-right-color:#c5c5c5;height:28px}.mce-combobox.mce-disabled input{color:#adadad}.mce-combobox .mce-btn{border:1px solid #c5c5c5;border-left:0;margin:0}.mce-combobox button{padding-right:8px;padding-left:8px}.mce-combobox.mce-disabled .mce-btn button{cursor:default;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-combobox .mce-status{position:absolute;right:2px;top:50%;line-height:16px;margin-top:-8px;font-size:12px;width:15px;height:15px;text-align:center;cursor:pointer}.mce-combobox.mce-has-status input{padding-right:20px}.mce-combobox.mce-has-open .mce-status{right:37px}.mce-combobox .mce-status.mce-i-warning{color:#c09853}.mce-combobox .mce-status.mce-i-checkmark{color:#468847}.mce-menu.mce-combobox-menu{border-top:0;margin-top:0;max-height:200px}.mce-menu.mce-combobox-menu .mce-menu-item{padding:4px 6px 4px 4px;font-size:11px}.mce-menu.mce-combobox-menu .mce-menu-item-sep{padding:0}.mce-menu.mce-combobox-menu .mce-text{font-size:11px}.mce-menu.mce-combobox-menu .mce-menu-item-link,.mce-menu.mce-combobox-menu .mce-menu-item-link b{font-size:11px}.mce-menu.mce-combobox-menu .mce-text b{font-size:11px}.mce-colorbox i{border:1px solid #c5c5c5;width:14px;height:14px}.mce-colorbutton .mce-ico{position:relative}.mce-colorbutton-grid{margin:4px}.mce-colorbutton button{padding-right:6px;padding-left:6px}.mce-colorbutton .mce-preview{padding-right:3px;display:block;position:absolute;left:50%;top:50%;margin-left:-17px;margin-top:7px;background:gray;width:13px;height:2px;overflow:hidden}.mce-colorbutton.mce-btn-small .mce-preview{margin-left:-16px;padding-right:0;width:16px}.mce-colorbutton .mce-open{padding-left:4px;padding-right:4px;border-left:1px solid transparent}.mce-colorbutton:hover .mce-open{border-color:#ccc}.mce-colorbutton.mce-btn-small .mce-open{padding:0 3px 0 3px}.mce-rtl .mce-colorbutton{direction:rtl}.mce-rtl .mce-colorbutton .mce-preview{margin-left:0;padding-right:0;padding-left:3px}.mce-rtl .mce-colorbutton.mce-btn-small .mce-preview{margin-left:0;padding-right:0;padding-left:2px}.mce-rtl .mce-colorbutton .mce-open{padding-left:4px;padding-right:4px;border-left:0}.mce-colorpicker{position:relative;width:250px;height:220px}.mce-colorpicker-sv{position:absolute;top:0;left:0;width:90%;height:100%;border:1px solid #c5c5c5;cursor:crosshair;overflow:hidden}.mce-colorpicker-h-chunk{width:100%}.mce-colorpicker-overlay1,.mce-colorpicker-overlay2{width:100%;height:100%;position:absolute;top:0;left:0}.mce-colorpicker-overlay1{filter:progid:DXImageTransform.Microsoft.gradient(GradientType=1, startColorstr='#ffffff', endColorstr='#00ffffff');-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType=1,startColorstr='#ffffff', endColorstr='#00ffffff')";background:linear-gradient(to right, #fff, rgba(255,255,255,0))}.mce-colorpicker-overlay2{filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#00000000', endColorstr='#000000');-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#00000000', endColorstr='#000000')";background:linear-gradient(to bottom, rgba(0,0,0,0), #000)}.mce-colorpicker-selector1{background:none;position:absolute;width:12px;height:12px;margin:-8px 0 0 -8px;border:1px solid black;border-radius:50%}.mce-colorpicker-selector2{position:absolute;width:10px;height:10px;border:1px solid white;border-radius:50%}.mce-colorpicker-h{position:absolute;top:0;right:0;width:6.5%;height:100%;border:1px solid #c5c5c5;cursor:crosshair}.mce-colorpicker-h-marker{margin-top:-4px;position:absolute;top:0;left:-1px;width:100%;border:1px solid #333;background:#fff;height:4px;z-index:100}.mce-path{display:inline-block;*display:inline;*zoom:1;padding:8px;white-space:normal}.mce-path .mce-txt{display:inline-block;padding-right:3px}.mce-path .mce-path-body{display:inline-block}.mce-path-item{display:inline-block;*display:inline;*zoom:1;cursor:pointer;color:#333}.mce-path-item:hover{text-decoration:underline}.mce-path-item:focus{background:#666;color:#fff}.mce-path .mce-divider{display:inline}.mce-disabled .mce-path-item{color:#aaa}.mce-rtl .mce-path{direction:rtl}.mce-fieldset{border:0 solid #9E9E9E}.mce-fieldset>.mce-container-body{margin-top:-15px}.mce-fieldset-title{margin-left:5px;padding:0 5px 0 5px}.mce-fit-layout{display:inline-block;*display:inline;*zoom:1}.mce-fit-layout-item{position:absolute}.mce-flow-layout-item{display:inline-block;*display:inline;*zoom:1}.mce-flow-layout-item{margin:2px 0 2px 2px}.mce-flow-layout-item.mce-last{margin-right:2px}.mce-flow-layout{white-space:normal}.mce-tinymce-inline .mce-flow-layout{white-space:nowrap}.mce-rtl .mce-flow-layout{text-align:right;direction:rtl}.mce-rtl .mce-flow-layout-item{margin:2px 2px 2px 0}.mce-rtl .mce-flow-layout-item.mce-last{margin-left:2px}.mce-iframe{border:0 solid rgba(0,0,0,0.2);width:100%;height:100%}.mce-infobox{display:inline-block;*display:inline;*zoom:1;text-shadow:0 1px 1px rgba(255,255,255,0.75);overflow:hidden;border:1px solid red}.mce-infobox div{display:block;margin:5px}.mce-infobox div button{position:absolute;top:50%;right:4px;cursor:pointer;margin-top:-8px;display:none}.mce-infobox div button:focus{outline:2px solid #ccc}.mce-infobox.mce-has-help div{margin-right:25px}.mce-infobox.mce-has-help button{display:block}.mce-infobox.mce-success{background:#dff0d8;border-color:#d6e9c6}.mce-infobox.mce-success div{color:#3c763d}.mce-infobox.mce-warning{background:#fcf8e3;border-color:#faebcc}.mce-infobox.mce-warning div{color:#8a6d3b}.mce-infobox.mce-error{background:#f2dede;border-color:#ebccd1}.mce-infobox.mce-error div{color:#a94442}.mce-rtl .mce-infobox div{text-align:right;direction:rtl}.mce-label{display:inline-block;*display:inline;*zoom:1;text-shadow:0 1px 1px rgba(255,255,255,0.75);overflow:hidden}.mce-label.mce-autoscroll{overflow:auto}.mce-label.mce-disabled{color:#aaa}.mce-label.mce-multiline{white-space:pre-wrap}.mce-label.mce-success{color:#468847}.mce-label.mce-warning{color:#c09853}.mce-label.mce-error{color:#b94a48}.mce-rtl .mce-label{text-align:right;direction:rtl}.mce-menubar .mce-menubtn{border-color:transparent;background:transparent;filter:none}.mce-menubar .mce-menubtn button{color:#333}.mce-menubar{border:1px solid rgba(217,217,217,0.52)}.mce-menubar .mce-menubtn button span{color:#333}.mce-menubar .mce-caret{border-top-color:#333}.mce-menubar .mce-menubtn:hover,.mce-menubar .mce-menubtn.mce-active,.mce-menubar .mce-menubtn:focus{border-color:#ccc;background:#fff;filter:none}.mce-menubtn button{color:#333}.mce-menubtn.mce-btn-small span{font-size:12px}.mce-menubtn.mce-fixed-width span{display:inline-block;overflow-x:hidden;text-overflow:ellipsis;width:90px}.mce-menubtn.mce-fixed-width.mce-btn-small span{width:70px}.mce-menubtn .mce-caret{*margin-top:6px}.mce-rtl .mce-menubtn button{direction:rtl;text-align:right}.mce-menu-item{display:block;padding:6px 15px 6px 12px;clear:both;font-weight:normal;line-height:20px;color:#333;white-space:nowrap;cursor:pointer;line-height:normal;border-left:4px solid transparent;margin-bottom:1px}.mce-menu-item .mce-ico,.mce-menu-item .mce-text{color:#333}.mce-menu-item.mce-disabled .mce-text,.mce-menu-item.mce-disabled .mce-ico{color:#adadad}.mce-menu-item:hover .mce-text,.mce-menu-item.mce-selected .mce-text,.mce-menu-item:focus .mce-text{color:white}.mce-menu-item:hover .mce-ico,.mce-menu-item.mce-selected .mce-ico,.mce-menu-item:focus .mce-ico{color:white}.mce-menu-item.mce-disabled:hover{background:#CCC}.mce-menu-shortcut{display:inline-block;color:#adadad}.mce-menu-shortcut{display:inline-block;*display:inline;*zoom:1;padding:0 15px 0 20px}.mce-menu-item:hover .mce-menu-shortcut,.mce-menu-item.mce-selected .mce-menu-shortcut,.mce-menu-item:focus .mce-menu-shortcut{color:white}.mce-menu-item .mce-caret{margin-top:4px;*margin-top:3px;margin-right:6px;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:4px solid #333}.mce-menu-item.mce-selected .mce-caret,.mce-menu-item:focus .mce-caret,.mce-menu-item:hover .mce-caret{border-left-color:white}.mce-menu-align .mce-menu-shortcut{*margin-top:-2px}.mce-menu-align .mce-menu-shortcut,.mce-menu-align .mce-caret{position:absolute;right:0}.mce-menu-item.mce-active i{visibility:visible}.mce-menu-item-normal.mce-active{background-color:#3498db}.mce-menu-item-preview.mce-active{border-left:5px solid #aaa}.mce-menu-item-normal.mce-active .mce-text{color:white}.mce-menu-item-normal.mce-active:hover .mce-text,.mce-menu-item-normal.mce-active:hover .mce-ico{color:white}.mce-menu-item-normal.mce-active:focus .mce-text,.mce-menu-item-normal.mce-active:focus .mce-ico{color:white}.mce-menu-item:hover,.mce-menu-item.mce-selected,.mce-menu-item:focus{text-decoration:none;color:white;background-color:#2d8ac7}.mce-menu-item-link{color:#093;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mce-menu-item-link b{color:#093}.mce-menu-item-ellipsis{display:block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mce-menu-item:hover *,.mce-menu-item.mce-selected *,.mce-menu-item:focus *{color:white}div.mce-menu .mce-menu-item-sep,.mce-menu-item-sep:hover{border:0;padding:0;height:1px;margin:9px 1px;overflow:hidden;background:transparent;border-bottom:1px solid rgba(0,0,0,0.1);cursor:default;filter:none}div.mce-menu .mce-menu-item b{font-weight:bold}.mce-menu-item-indent-1{padding-left:20px}.mce-menu-item-indent-2{padding-left:35px}.mce-menu-item-indent-2{padding-left:35px}.mce-menu-item-indent-3{padding-left:40px}.mce-menu-item-indent-4{padding-left:45px}.mce-menu-item-indent-5{padding-left:50px}.mce-menu-item-indent-6{padding-left:55px}.mce-menu.mce-rtl{direction:rtl}.mce-rtl .mce-menu-item{text-align:right;direction:rtl;padding:6px 12px 6px 15px}.mce-menu-align.mce-rtl .mce-menu-shortcut,.mce-menu-align.mce-rtl .mce-caret{right:auto;left:0}.mce-rtl .mce-menu-item .mce-caret{margin-left:6px;margin-right:0;border-right:4px solid #333;border-left:0}.mce-rtl .mce-menu-item.mce-selected .mce-caret,.mce-rtl .mce-menu-item:focus .mce-caret,.mce-rtl .mce-menu-item:hover .mce-caret{border-left-color:transparent;border-right-color:white}.mce-throbber{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.6;filter:alpha(opacity=60);zoom:1;background:#fff url('img/loader.gif') no-repeat center center}.mce-throbber-inline{position:static;height:50px}.mce-menu .mce-throbber-inline{height:25px;background-size:contain}.mce-menu{position:absolute;left:0;top:0;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;z-index:1000;padding:5px 0 5px 0;margin:-1px 0 0;min-width:160px;background:#fff;border:1px solid #989898;border:1px solid rgba(0,0,0,0.2);z-index:1002;max-height:400px;overflow:auto;overflow-x:hidden}.mce-menu i{display:none}.mce-menu-has-icons i{display:inline-block;*display:inline}.mce-menu-sub-tr-tl{margin:-6px 0 0 -1px}.mce-menu-sub-br-bl{margin:6px 0 0 -1px}.mce-menu-sub-tl-tr{margin:-6px 0 0 1px}.mce-menu-sub-bl-br{margin:6px 0 0 1px}.mce-listbox button{text-align:left;padding-right:20px;position:relative}.mce-listbox .mce-caret{position:absolute;margin-top:-2px;right:8px;top:50%}.mce-rtl .mce-listbox .mce-caret{right:auto;left:8px}.mce-rtl .mce-listbox button{padding-right:10px;padding-left:20px}.mce-container-body .mce-resizehandle{position:absolute;right:0;bottom:0;width:16px;height:16px;visibility:visible;cursor:s-resize;margin:0}.mce-container-body .mce-resizehandle-both{cursor:se-resize}i.mce-i-resize{color:#333}.mce-selectbox{background:#fff;border:1px solid #c5c5c5}.mce-slider{border:1px solid #AAA;background:#EEE;width:100px;height:10px;position:relative;display:block}.mce-slider.mce-vertical{width:10px;height:100px}.mce-slider-handle{border:1px solid #BBB;background:#DDD;display:block;width:13px;height:13px;position:absolute;top:0;left:0;margin-left:-1px;margin-top:-2px}.mce-slider-handle:focus{background:#BBB}.mce-spacer{visibility:hidden}.mce-splitbtn .mce-open{border-left:1px solid transparent}.mce-splitbtn:hover .mce-open{border-left-color:#ccc}.mce-splitbtn button{padding-right:6px;padding-left:6px}.mce-splitbtn .mce-open{padding-right:4px;padding-left:4px}.mce-splitbtn .mce-open.mce-active{background-color:#dbdbdb;outline:1px solid #ccc}.mce-splitbtn.mce-btn-small .mce-open{padding:0 3px 0 3px}.mce-rtl .mce-splitbtn{direction:rtl;text-align:right}.mce-rtl .mce-splitbtn button{padding-right:4px;padding-left:4px}.mce-rtl .mce-splitbtn .mce-open{border-left:0}.mce-stack-layout-item{display:block}.mce-tabs{display:block;border-bottom:1px solid #c5c5c5}.mce-tabs,.mce-tabs+.mce-container-body{background:#FFF}.mce-tab{display:inline-block;*display:inline;*zoom:1;border:1px solid #c5c5c5;border-width:0 1px 0 0;background:#ffffff;padding:8px;text-shadow:0 1px 1px rgba(255,255,255,0.75);height:13px;cursor:pointer}.mce-tab:hover{background:#FDFDFD}.mce-tab.mce-active{background:#FDFDFD;border-bottom-color:transparent;margin-bottom:-1px;height:14px}.mce-rtl .mce-tabs{text-align:right;direction:rtl}.mce-rtl .mce-tab{border-width:0 0 0 1px}.mce-textbox{background:#fff;border:1px solid #c5c5c5;display:inline-block;-webkit-transition:border linear .2s, box-shadow linear .2s;transition:border linear .2s, box-shadow linear .2s;height:28px;resize:none;padding:0 4px 0 4px;white-space:pre-wrap;*white-space:pre;color:#333}.mce-textbox:focus,.mce-textbox.mce-focus{border-color:#3498db}.mce-placeholder .mce-textbox{color:#aaa}.mce-textbox.mce-multiline{padding:4px;height:auto}.mce-textbox.mce-disabled{color:#adadad}.mce-rtl .mce-textbox{text-align:right;direction:rtl}@font-face{font-family:'tinymce';src:url('fonts/tinymce.eot');src:url('fonts/tinymce.eot?#iefix') format('embedded-opentype'),url('fonts/tinymce.woff') format('woff'),url('fonts/tinymce.ttf') format('truetype'),url('fonts/tinymce.svg#tinymce') format('svg');font-weight:normal;font-style:normal}@font-face{font-family:'tinymce-small';src:url('fonts/tinymce-small.eot');src:url('fonts/tinymce-small.eot?#iefix') format('embedded-opentype'),url('fonts/tinymce-small.woff') format('woff'),url('fonts/tinymce-small.ttf') format('truetype'),url('fonts/tinymce-small.svg#tinymce') format('svg');font-weight:normal;font-style:normal}.mce-ico{font-family:'tinymce';font-style:normal;font-weight:normal;font-size:16px;line-height:16px;vertical-align:text-top;-webkit-font-smoothing:antialiased;display:inline-block;background:transparent center center;width:16px;height:16px;color:#333;-ie7-icon:' '}.mce-btn-small .mce-ico{font-family:'tinymce-small'}.mce-ico,i.mce-i-checkbox{zoom:expression(this.runtimeStyle['zoom'] = '1', this.innerHTML = this.currentStyle['-ie7-icon'].substr(1, 1) + ' ')}.mce-i-save{-ie7-icon:"\e000"}.mce-i-newdocument{-ie7-icon:"\e001"}.mce-i-fullpage{-ie7-icon:"\e002"}.mce-i-alignleft{-ie7-icon:"\e003"}.mce-i-aligncenter{-ie7-icon:"\e004"}.mce-i-alignright{-ie7-icon:"\e005"}.mce-i-alignjustify{-ie7-icon:"\e006"}.mce-i-alignnone{-ie7-icon:"\e003"}.mce-i-cut{-ie7-icon:"\e007"}.mce-i-paste{-ie7-icon:"\e008"}.mce-i-searchreplace{-ie7-icon:"\e009"}.mce-i-bullist{-ie7-icon:"\e00a"}.mce-i-numlist{-ie7-icon:"\e00b"}.mce-i-indent{-ie7-icon:"\e00c"}.mce-i-outdent{-ie7-icon:"\e00d"}.mce-i-blockquote{-ie7-icon:"\e00e"}.mce-i-undo{-ie7-icon:"\e00f"}.mce-i-redo{-ie7-icon:"\e010"}.mce-i-link{-ie7-icon:"\e011"}.mce-i-unlink{-ie7-icon:"\e012"}.mce-i-anchor{-ie7-icon:"\e013"}.mce-i-image{-ie7-icon:"\e014"}.mce-i-media{-ie7-icon:"\e015"}.mce-i-help{-ie7-icon:"\e016"}.mce-i-code{-ie7-icon:"\e017"}.mce-i-insertdatetime{-ie7-icon:"\e018"}.mce-i-preview{-ie7-icon:"\e019"}.mce-i-forecolor{-ie7-icon:"\e01a"}.mce-i-backcolor{-ie7-icon:"\e01a"}.mce-i-table{-ie7-icon:"\e01b"}.mce-i-hr{-ie7-icon:"\e01c"}.mce-i-removeformat{-ie7-icon:"\e01d"}.mce-i-subscript{-ie7-icon:"\e01e"}.mce-i-superscript{-ie7-icon:"\e01f"}.mce-i-charmap{-ie7-icon:"\e020"}.mce-i-emoticons{-ie7-icon:"\e021"}.mce-i-print{-ie7-icon:"\e022"}.mce-i-fullscreen{-ie7-icon:"\e023"}.mce-i-spellchecker{-ie7-icon:"\e024"}.mce-i-nonbreaking{-ie7-icon:"\e025"}.mce-i-template{-ie7-icon:"\e026"}.mce-i-pagebreak{-ie7-icon:"\e027"}.mce-i-restoredraft{-ie7-icon:"\e028"}.mce-i-untitled{-ie7-icon:"\e029"}.mce-i-bold{-ie7-icon:"\e02a"}.mce-i-italic{-ie7-icon:"\e02b"}.mce-i-underline{-ie7-icon:"\e02c"}.mce-i-strikethrough{-ie7-icon:"\e02d"}.mce-i-visualchars{-ie7-icon:"\e02e"}.mce-i-ltr{-ie7-icon:"\e02f"}.mce-i-rtl{-ie7-icon:"\e030"}.mce-i-copy{-ie7-icon:"\e031"}.mce-i-resize{-ie7-icon:"\e032"}.mce-i-browse{-ie7-icon:"\e034"}.mce-i-pastetext{-ie7-icon:"\e035"}.mce-i-rotateleft{-ie7-icon:"\eaa8"}.mce-i-rotateright{-ie7-icon:"\eaa9"}.mce-i-crop{-ie7-icon:"\ee78"}.mce-i-editimage{-ie7-icon:"\e914"}.mce-i-options{-ie7-icon:"\ec6a"}.mce-i-flipv{-ie7-icon:"\eaaa"}.mce-i-fliph{-ie7-icon:"\eaac"}.mce-i-zoomin{-ie7-icon:"\eb35"}.mce-i-zoomout{-ie7-icon:"\eb36"}.mce-i-sun{-ie7-icon:"\eccc"}.mce-i-moon{-ie7-icon:"\eccd"}.mce-i-arrowleft{-ie7-icon:"\edc0"}.mce-i-arrowright{-ie7-icon:"\edb8"}.mce-i-drop{-ie7-icon:"\e934"}.mce-i-contrast{-ie7-icon:"\ecd4"}.mce-i-sharpen{-ie7-icon:"\eba7"}.mce-i-palette{-ie7-icon:"\e92a"}.mce-i-resize2{-ie7-icon:"\edf9"}.mce-i-orientation{-ie7-icon:"\e601"}.mce-i-invert{-ie7-icon:"\e602"}.mce-i-gamma{-ie7-icon:"\e600"}.mce-i-remove{-ie7-icon:"\ed6a"}.mce-i-codesample{-ie7-icon:"\e603"}.mce-i-checkbox,.mce-i-selected{-ie7-icon:"\e033"}.mce-i-selected{visibility:hidden}.mce-i-backcolor{background:#BBB} \ No newline at end of file diff --git a/static/tinymce1.3/skins/lightgray/skin.min.css b/static/tinymce1.3/skins/lightgray/skin.min.css new file mode 100755 index 00000000..7e3da52f --- /dev/null +++ b/static/tinymce1.3/skins/lightgray/skin.min.css @@ -0,0 +1,17 @@ +.mce-container,.mce-container *,.mce-widget,.mce-widget *,.mce-reset{margin:0;padding:0;border:0;outline:0;vertical-align:top;background:transparent;text-decoration:none;color:#333;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;text-shadow:none;float:none;position:static;width:auto;height:auto;white-space:nowrap;cursor:inherit;-webkit-tap-highlight-color:transparent;line-height:normal;font-weight:normal;text-align:left;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;direction:ltr;max-width:none}.mce-widget button{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.mce-container *[unselectable]{-moz-user-select:none;-webkit-user-select:none;-o-user-select:none;user-select:none}.mce-fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.mce-fade.mce-in{opacity:1}.mce-tinymce{visibility:inherit !important;position:relative}.mce-fullscreen{border:0;padding:0;margin:0;overflow:hidden;height:100%;z-index:100}div.mce-fullscreen{position:fixed;top:0;left:0;width:100%;height:auto}.mce-tinymce{display:block}.mce-wordcount{position:absolute;top:0;right:0;padding:8px}div.mce-edit-area{background:#FFF;filter:none}.mce-statusbar{position:relative}.mce-statusbar .mce-container-body{position:relative}.mce-fullscreen .mce-resizehandle{display:none}.mce-charmap{border-collapse:collapse}.mce-charmap td{cursor:default;border:1px solid rgba(0,0,0,0.2);width:20px;height:20px;line-height:20px;text-align:center;vertical-align:middle;padding:2px}.mce-charmap td div{text-align:center}.mce-charmap td:hover{background:#D9D9D9}.mce-grid td.mce-grid-cell div{border:1px solid #d6d6d6;width:15px;height:15px;margin:0;cursor:pointer}.mce-grid td.mce-grid-cell div:focus{border-color:#3498db}.mce-grid td.mce-grid-cell div[disabled]{cursor:not-allowed}.mce-grid{border-spacing:2px;border-collapse:separate}.mce-grid a{display:block;border:1px solid transparent}.mce-grid a:hover,.mce-grid a:focus{border-color:#3498db}.mce-grid-border{margin:0 4px 0 4px}.mce-grid-border a{border-color:#d6d6d6;width:13px;height:13px}.mce-grid-border a:hover,.mce-grid-border a.mce-active{border-color:#3498db;background:#3498db}.mce-text-center{text-align:center}div.mce-tinymce-inline{width:100%}.mce-colorbtn-trans div{text-align:center;vertical-align:middle;font-weight:bold;font-size:20px;line-height:16px;color:#707070}.mce-monospace{font-family:"Courier New",Courier,monospace}.mce-toolbar-grp{padding:2px 0}.mce-toolbar-grp .mce-flow-layout-item{margin-bottom:0}.mce-rtl .mce-wordcount{left:0;right:auto}.mce-croprect-container{position:absolute;top:0;left:0}.mce-croprect-handle{position:absolute;top:0;left:0;width:20px;height:20px;border:2px solid white}.mce-croprect-handle-nw{border-width:2px 0 0 2px;margin:-2px 0 0 -2px;cursor:nw-resize;top:100px;left:100px}.mce-croprect-handle-ne{border-width:2px 2px 0 0;margin:-2px 0 0 -20px;cursor:ne-resize;top:100px;left:200px}.mce-croprect-handle-sw{border-width:0 0 2px 2px;margin:-20px 2px 0 -2px;cursor:sw-resize;top:200px;left:100px}.mce-croprect-handle-se{border-width:0 2px 2px 0;margin:-20px 0 0 -20px;cursor:se-resize;top:200px;left:200px}.mce-croprect-handle-move{position:absolute;cursor:move;border:0}.mce-croprect-block{opacity:.3;filter:alpha(opacity=30);zoom:1;position:absolute;background:black}.mce-croprect-handle:focus{border-color:#3498db}.mce-croprect-handle-move:focus{outline:1px solid #3498db}.mce-imagepanel{overflow:auto;background:black}.mce-imagepanel-bg{position:absolute;background:url('data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==')}.mce-imagepanel img{position:absolute}.mce-imagetool.mce-btn .mce-ico{display:block;width:20px;height:20px;text-align:center;line-height:20px;font-size:20px;padding:5px}.mce-arrow-up{margin-top:12px}.mce-arrow-down{margin-top:-12px}.mce-arrow:before,.mce-arrow:after{position:absolute;left:50%;display:block;width:0;height:0;border-style:solid;border-color:transparent;content:""}.mce-arrow.mce-arrow-up:before{top:-9px;border-bottom-color:rgba(0,0,0,0.2);border-width:0 9px 9px;margin-left:-9px}.mce-arrow.mce-arrow-down:before{bottom:-9px;border-top-color:rgba(0,0,0,0.2);border-width:9px 9px 0;margin-left:-9px}.mce-arrow.mce-arrow-up:after{top:-8px;border-bottom-color:#f0f0f0;border-width:0 8px 8px;margin-left:-8px}.mce-arrow.mce-arrow-down:after{bottom:-8px;border-top-color:#f0f0f0;border-width:8px 8px 0;margin-left:-8px}.mce-arrow.mce-arrow-left:before,.mce-arrow.mce-arrow-left:after{margin:0}.mce-arrow.mce-arrow-left:before{left:8px}.mce-arrow.mce-arrow-left:after{left:9px}.mce-arrow.mce-arrow-right:before,.mce-arrow.mce-arrow-right:after{left:auto;margin:0}.mce-arrow.mce-arrow-right:before{right:8px}.mce-arrow.mce-arrow-right:after{right:9px}.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-left:before{left:-9px;top:50%;border-right-color:rgba(0,0,0,0.2);border-width:9px 9px 9px 0;margin-top:-9px}.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-left:after{left:-8px;top:50%;border-right-color:#f0f0f0;border-width:8px 8px 8px 0;margin-top:-8px}.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-left{margin-left:12px}.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-right:before{right:-9px;top:50%;border-left-color:rgba(0,0,0,0.2);border-width:9px 0 9px 9px;margin-top:-9px}.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-right:after{right:-8px;top:50%;border-left-color:#f0f0f0;border-width:8px 0 8px 8px;margin-top:-8px}.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-right{margin-left:-14px}.mce-edit-aria-container>.mce-container-body{display:flex}.mce-edit-aria-container>.mce-container-body .mce-edit-area{flex:1}.mce-edit-aria-container>.mce-container-body .mce-sidebar>.mce-container-body{display:flex;align-items:stretch;height:100%}.mce-edit-aria-container>.mce-container-body .mce-sidebar-panel{min-width:250px;max-width:250px;position:relative}.mce-edit-aria-container>.mce-container-body .mce-sidebar-panel>.mce-container-body{position:absolute;width:100%;height:100%;overflow:auto;top:0;left:0}.mce-sidebar-toolbar{border:0 solid rgba(0,0,0,0.2);border-left-width:1px}.mce-sidebar-toolbar .mce-btn.mce-active,.mce-sidebar-toolbar .mce-btn.mce-active:hover{border:1px solid transparent;border-color:transparent;background-color:#2d8ac7}.mce-sidebar-toolbar .mce-btn.mce-active button,.mce-sidebar-toolbar .mce-btn.mce-active:hover button,.mce-sidebar-toolbar .mce-btn.mce-active button i,.mce-sidebar-toolbar .mce-btn.mce-active:hover button i{color:#fff;text-shadow:1px 1px none}.mce-sidebar-panel{border:0 solid rgba(0,0,0,0.2);border-left-width:1px}.mce-container,.mce-container-body{display:block}.mce-autoscroll{overflow:hidden}.mce-scrollbar{position:absolute;width:7px;height:100%;top:2px;right:2px;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-scrollbar-h{top:auto;right:auto;left:2px;bottom:2px;width:100%;height:7px}.mce-scrollbar-thumb{position:absolute;background-color:#000;border:1px solid #888;border-color:rgba(85,85,85,0.6);width:5px;height:100%}.mce-scrollbar-h .mce-scrollbar-thumb{width:100%;height:5px}.mce-scrollbar:hover,.mce-scrollbar.mce-active{background-color:#AAA;opacity:.6;filter:alpha(opacity=60);zoom:1}.mce-scroll{position:relative}.mce-panel{border:0 solid #cacaca;border:0 solid rgba(0,0,0,0.2);background-color:#f0f0f0}.mce-floatpanel{position:absolute}.mce-floatpanel.mce-fixed{position:fixed}.mce-floatpanel .mce-arrow,.mce-floatpanel .mce-arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.mce-floatpanel .mce-arrow{border-width:11px}.mce-floatpanel .mce-arrow:after{border-width:10px;content:""}.mce-floatpanel.mce-popover{filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;top:0;left:0;background:#FFF;border:1px solid rgba(0,0,0,0.2);border:1px solid rgba(0,0,0,0.25)}.mce-floatpanel.mce-popover.mce-bottom{margin-top:10px;*margin-top:0}.mce-floatpanel.mce-popover.mce-bottom>.mce-arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:rgba(0,0,0,0.2);border-bottom-color:rgba(0,0,0,0.25);top:-11px}.mce-floatpanel.mce-popover.mce-bottom>.mce-arrow:after{top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#FFF}.mce-floatpanel.mce-popover.mce-bottom.mce-start{margin-left:-22px}.mce-floatpanel.mce-popover.mce-bottom.mce-start>.mce-arrow{left:20px}.mce-floatpanel.mce-popover.mce-bottom.mce-end{margin-left:22px}.mce-floatpanel.mce-popover.mce-bottom.mce-end>.mce-arrow{right:10px;left:auto}.mce-fullscreen{border:0;padding:0;margin:0;overflow:hidden;height:100%}div.mce-fullscreen{position:fixed;top:0;left:0}#mce-modal-block{opacity:0;filter:alpha(opacity=0);zoom:1;position:fixed;left:0;top:0;width:100%;height:100%;background:#000}#mce-modal-block.mce-in{opacity:.3;filter:alpha(opacity=30);zoom:1}.mce-window-move{cursor:move}.mce-window{filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;background:#FFF;position:fixed;top:0;left:0;opacity:0;transform:scale(.1);transition:transform 100ms ease-in,opacity 150ms ease-in}.mce-window.mce-in{transform:scale(1);opacity:1}.mce-window-head{padding:9px 15px;border-bottom:1px solid #c5c5c5;position:relative}.mce-window-head .mce-close{position:absolute;right:0;top:0;height:38px;width:38px;text-align:center;cursor:pointer}.mce-window-head .mce-close i{color:#858585}.mce-close:hover i{color:#adadad}.mce-window-head .mce-title{line-height:20px;font-size:20px;font-weight:bold;text-rendering:optimizelegibility;padding-right:20px}.mce-window .mce-container-body{display:block}.mce-foot{display:block;background-color:#FFF;border-top:1px solid #c5c5c5}.mce-window-head .mce-dragh{position:absolute;top:0;left:0;cursor:move;width:90%;height:100%}.mce-window iframe{width:100%;height:100%}.mce-window-body .mce-listbox{border-color:#ccc}.mce-rtl .mce-window-head .mce-close{position:absolute;right:auto;left:15px}.mce-rtl .mce-window-head .mce-dragh{left:auto;right:0}.mce-rtl .mce-window-head .mce-title{direction:rtl;text-align:right}.mce-tooltip{position:absolute;padding:5px;opacity:.8;filter:alpha(opacity=80);zoom:1}.mce-tooltip-inner{font-size:11px;background-color:#000;color:white;max-width:200px;padding:5px 8px 4px 8px;text-align:center;white-space:normal}.mce-tooltip-arrow{position:absolute;width:0;height:0;line-height:0;border:5px dashed #000}.mce-tooltip-arrow-n{border-bottom-color:#000}.mce-tooltip-arrow-s{border-top-color:#000}.mce-tooltip-arrow-e{border-left-color:#000}.mce-tooltip-arrow-w{border-right-color:#000}.mce-tooltip-nw,.mce-tooltip-sw{margin-left:-14px}.mce-tooltip-ne,.mce-tooltip-se{margin-left:14px}.mce-tooltip-n .mce-tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-nw .mce-tooltip-arrow{top:0;left:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-ne .mce-tooltip-arrow{top:0;right:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-s .mce-tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-sw .mce-tooltip-arrow{bottom:0;left:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-se .mce-tooltip-arrow{bottom:0;right:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-e .mce-tooltip-arrow{right:0;top:50%;margin-top:-5px;border-left-style:solid;border-right:none;border-top-color:transparent;border-bottom-color:transparent}.mce-tooltip-w .mce-tooltip-arrow{left:0;top:50%;margin-top:-5px;border-right-style:solid;border-left:none;border-top-color:transparent;border-bottom-color:transparent}.mce-progress{display:inline-block;position:relative;height:20px}.mce-progress .mce-bar-container{display:inline-block;width:100px;height:100%;margin-right:8px;border:1px solid #ccc;overflow:hidden}.mce-progress .mce-text{display:inline-block;margin-top:auto;margin-bottom:auto;font-size:14px;width:40px;color:#333}.mce-bar{display:block;width:0;height:100%;background-color:#d7d7d7;-webkit-transition:width .2s ease;transition:width .2s ease}.mce-notification{position:absolute;background-color:#F0F0F0;padding:5px;margin-top:5px;border-width:1px;border-style:solid;border-color:#CCCCCC;transition:transform 100ms ease-in,opacity 150ms ease-in;opacity:0}.mce-notification.mce-in{opacity:1}.mce-notification-success{background-color:#dff0d8;border-color:#d6e9c6}.mce-notification-info{background-color:#d9edf7;border-color:#779ECB}.mce-notification-warning{background-color:#fcf8e3;border-color:#faebcc}.mce-notification-error{background-color:#f2dede;border-color:#ebccd1}.mce-notification.mce-has-close{padding-right:15px}.mce-notification .mce-ico{margin-top:5px}.mce-notification-inner{display:inline-block;font-size:14px;margin:5px 8px 4px 8px;text-align:center;white-space:normal;color:#31708f}.mce-notification-inner a{text-decoration:underline;cursor:pointer}.mce-notification .mce-progress{margin-right:8px}.mce-notification .mce-progress .mce-text{margin-top:5px}.mce-notification *,.mce-notification .mce-progress .mce-text{color:#333333}.mce-notification .mce-progress .mce-bar-container{border-color:#CCCCCC}.mce-notification .mce-progress .mce-bar-container .mce-bar{background-color:#333333}.mce-notification-success *,.mce-notification-success .mce-progress .mce-text{color:#3c763d}.mce-notification-success .mce-progress .mce-bar-container{border-color:#d6e9c6}.mce-notification-success .mce-progress .mce-bar-container .mce-bar{background-color:#3c763d}.mce-notification-info *,.mce-notification-info .mce-progress .mce-text{color:#31708f}.mce-notification-info .mce-progress .mce-bar-container{border-color:#779ECB}.mce-notification-info .mce-progress .mce-bar-container .mce-bar{background-color:#31708f}.mce-notification-warning *,.mce-notification-warning .mce-progress .mce-text{color:#8a6d3b}.mce-notification-warning .mce-progress .mce-bar-container{border-color:#faebcc}.mce-notification-warning .mce-progress .mce-bar-container .mce-bar{background-color:#8a6d3b}.mce-notification-error *,.mce-notification-error .mce-progress .mce-text{color:#a94442}.mce-notification-error .mce-progress .mce-bar-container{border-color:#ebccd1}.mce-notification-error .mce-progress .mce-bar-container .mce-bar{background-color:#a94442}.mce-notification .mce-close{position:absolute;top:6px;right:8px;font-size:20px;font-weight:bold;line-height:20px;color:#858585;cursor:pointer;height:20px;overflow:hidden}.mce-abs-layout{position:relative}body .mce-abs-layout-item,.mce-abs-end{position:absolute}.mce-abs-end{width:1px;height:1px}.mce-container-body.mce-abs-layout{overflow:hidden}.mce-btn{border:1px solid #b1b1b1;border-color:transparent transparent transparent transparent;position:relative;text-shadow:0 1px 1px rgba(255,255,255,0.75);display:inline-block;*display:inline;*zoom:1;background-color:#f0f0f0}.mce-btn:hover,.mce-btn:focus{color:#333;background-color:#e3e3e3;border-color:#ccc}.mce-btn.mce-disabled button,.mce-btn.mce-disabled:hover button{cursor:default;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-btn.mce-active,.mce-btn.mce-active:hover{background-color:#dbdbdb;border-color:#ccc}.mce-btn:active{background-color:#e0e0e0;border-color:#ccc}.mce-btn button{padding:4px 8px;font-size:14px;line-height:20px;*line-height:16px;cursor:pointer;color:#333;text-align:center;overflow:visible;-webkit-appearance:none}.mce-btn button::-moz-focus-inner{border:0;padding:0}.mce-btn i{text-shadow:1px 1px none}.mce-primary.mce-btn-has-text{min-width:50px}.mce-primary{color:#fff;border:1px solid transparent;border-color:transparent;background-color:#2d8ac7}.mce-primary:hover,.mce-primary:focus{background-color:#257cb6;border-color:transparent}.mce-primary.mce-disabled button,.mce-primary.mce-disabled:hover button{cursor:default;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-primary.mce-active,.mce-primary.mce-active:hover,.mce-primary:not(.mce-disabled):active{background-color:#206ea1}.mce-primary button,.mce-primary button i{color:#fff;text-shadow:1px 1px none}.mce-btn .mce-txt{font-size:inherit;line-height:inherit;color:inherit}.mce-btn-large button{padding:9px 14px;font-size:16px;line-height:normal}.mce-btn-large i{margin-top:2px}.mce-btn-small button{padding:1px 5px;font-size:12px;*padding-bottom:2px}.mce-btn-small i{line-height:20px;vertical-align:top;*line-height:18px}.mce-btn .mce-caret{margin-top:8px;margin-left:0}.mce-btn-small .mce-caret{margin-top:8px;margin-left:0}.mce-caret{display:inline-block;*display:inline;*zoom:1;width:0;height:0;vertical-align:top;border-top:4px solid #333;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.mce-disabled .mce-caret{border-top-color:#aaa}.mce-caret.mce-up{border-bottom:4px solid #333;border-top:0}.mce-btn-flat{border:0;background:transparent;filter:none}.mce-btn-flat:hover,.mce-btn-flat.mce-active,.mce-btn-flat:focus,.mce-btn-flat:active{border:0;background:#e6e6e6;filter:none}.mce-btn-has-text .mce-ico{padding-right:5px}.mce-rtl .mce-btn button{direction:rtl}.mce-btn-group .mce-btn{border-width:1px;margin:0;margin-left:2px}.mce-btn-group:not(:first-child){border-left:1px solid #d9d9d9;padding-left:3px;margin-left:3px}.mce-btn-group .mce-first{margin-left:0}.mce-btn-group .mce-btn.mce-flow-layout-item{margin:0}.mce-rtl .mce-btn-group .mce-btn{margin-left:0;margin-right:2px}.mce-rtl .mce-btn-group .mce-first{margin-right:0}.mce-rtl .mce-btn-group:not(:first-child){border-left:none;border-right:1px solid #d9d9d9;padding-right:4px;margin-right:4px}.mce-checkbox{cursor:pointer}i.mce-i-checkbox{margin:0 3px 0 0;border:1px solid #c5c5c5;background-color:#f0f0f0;text-indent:-10em;*font-size:0;*line-height:0;*text-indent:0;overflow:hidden}.mce-checked i.mce-i-checkbox{color:#333;font-size:16px;line-height:16px;text-indent:0}.mce-checkbox:focus i.mce-i-checkbox,.mce-checkbox.mce-focus i.mce-i-checkbox{border:1px solid rgba(82,168,236,0.8)}.mce-checkbox.mce-disabled .mce-label,.mce-checkbox.mce-disabled i.mce-i-checkbox{color:#acacac}.mce-checkbox .mce-label{vertical-align:middle}.mce-rtl .mce-checkbox{direction:rtl;text-align:right}.mce-rtl i.mce-i-checkbox{margin:0 0 0 3px}.mce-combobox{position:relative;display:inline-block;*display:inline;*zoom:1;*height:32px}.mce-combobox input{border:1px solid #c5c5c5;border-right-color:#c5c5c5;height:28px}.mce-combobox.mce-disabled input{color:#adadad}.mce-combobox .mce-btn{border:1px solid #c5c5c5;border-left:0;margin:0}.mce-combobox button{padding-right:8px;padding-left:8px}.mce-combobox.mce-disabled .mce-btn button{cursor:default;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-combobox .mce-status{position:absolute;right:2px;top:50%;line-height:16px;margin-top:-8px;font-size:12px;width:15px;height:15px;text-align:center;cursor:pointer}.mce-combobox.mce-has-status input{padding-right:20px}.mce-combobox.mce-has-open .mce-status{right:37px}.mce-combobox .mce-status.mce-i-warning{color:#c09853}.mce-combobox .mce-status.mce-i-checkmark{color:#468847}.mce-menu.mce-combobox-menu{border-top:0;margin-top:0;max-height:200px}.mce-menu.mce-combobox-menu .mce-menu-item{padding:4px 6px 4px 4px;font-size:11px}.mce-menu.mce-combobox-menu .mce-menu-item-sep{padding:0}.mce-menu.mce-combobox-menu .mce-text{font-size:11px}.mce-menu.mce-combobox-menu .mce-menu-item-link,.mce-menu.mce-combobox-menu .mce-menu-item-link b{font-size:11px}.mce-menu.mce-combobox-menu .mce-text b{font-size:11px}.mce-colorbox i{border:1px solid #c5c5c5;width:14px;height:14px}.mce-colorbutton .mce-ico{position:relative}.mce-colorbutton-grid{margin:4px}.mce-colorbutton button{padding-right:6px;padding-left:6px}.mce-colorbutton .mce-preview{padding-right:3px;display:block;position:absolute;left:50%;top:50%;margin-left:-17px;margin-top:7px;background:gray;width:13px;height:2px;overflow:hidden}.mce-colorbutton.mce-btn-small .mce-preview{margin-left:-16px;padding-right:0;width:16px}.mce-colorbutton .mce-open{padding-left:4px;padding-right:4px;border-left:1px solid transparent}.mce-colorbutton:hover .mce-open{border-color:#ccc}.mce-colorbutton.mce-btn-small .mce-open{padding:0 3px 0 3px}.mce-rtl .mce-colorbutton{direction:rtl}.mce-rtl .mce-colorbutton .mce-preview{margin-left:0;padding-right:0;padding-left:3px}.mce-rtl .mce-colorbutton.mce-btn-small .mce-preview{margin-left:0;padding-right:0;padding-left:2px}.mce-rtl .mce-colorbutton .mce-open{padding-left:4px;padding-right:4px;border-left:0}.mce-colorpicker{position:relative;width:250px;height:220px}.mce-colorpicker-sv{position:absolute;top:0;left:0;width:90%;height:100%;border:1px solid #c5c5c5;cursor:crosshair;overflow:hidden}.mce-colorpicker-h-chunk{width:100%}.mce-colorpicker-overlay1,.mce-colorpicker-overlay2{width:100%;height:100%;position:absolute;top:0;left:0}.mce-colorpicker-overlay1{filter:progid:DXImageTransform.Microsoft.gradient(GradientType=1, startColorstr='#ffffff', endColorstr='#00ffffff');-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType=1,startColorstr='#ffffff', endColorstr='#00ffffff')";background:linear-gradient(to right, #fff, rgba(255,255,255,0))}.mce-colorpicker-overlay2{filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#00000000', endColorstr='#000000');-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#00000000', endColorstr='#000000')";background:linear-gradient(to bottom, rgba(0,0,0,0), #000)}.mce-colorpicker-selector1{background:none;position:absolute;width:12px;height:12px;margin:-8px 0 0 -8px;border:1px solid black;border-radius:50%}.mce-colorpicker-selector2{position:absolute;width:10px;height:10px;border:1px solid white;border-radius:50%}.mce-colorpicker-h{position:absolute;top:0;right:0;width:6.5%;height:100%;border:1px solid #c5c5c5;cursor:crosshair}.mce-colorpicker-h-marker{margin-top:-4px;position:absolute;top:0;left:-1px;width:100%;border:1px solid #333;background:#fff;height:4px;z-index:100}.mce-path{display:inline-block;*display:inline;*zoom:1;padding:8px;white-space:normal}.mce-path .mce-txt{display:inline-block;padding-right:3px}.mce-path .mce-path-body{display:inline-block}.mce-path-item{display:inline-block;*display:inline;*zoom:1;cursor:pointer;color:#333}.mce-path-item:hover{text-decoration:underline}.mce-path-item:focus{background:#666;color:#fff}.mce-path .mce-divider{display:inline}.mce-disabled .mce-path-item{color:#aaa}.mce-rtl .mce-path{direction:rtl}.mce-fieldset{border:0 solid #9E9E9E}.mce-fieldset>.mce-container-body{margin-top:-15px}.mce-fieldset-title{margin-left:5px;padding:0 5px 0 5px}.mce-fit-layout{display:inline-block;*display:inline;*zoom:1}.mce-fit-layout-item{position:absolute}.mce-flow-layout-item{display:inline-block;*display:inline;*zoom:1}.mce-flow-layout-item{margin:2px 0 2px 2px}.mce-flow-layout-item.mce-last{margin-right:2px}.mce-flow-layout{white-space:normal}.mce-tinymce-inline .mce-flow-layout{white-space:nowrap}.mce-rtl .mce-flow-layout{text-align:right;direction:rtl}.mce-rtl .mce-flow-layout-item{margin:2px 2px 2px 0}.mce-rtl .mce-flow-layout-item.mce-last{margin-left:2px}.mce-iframe{border:0 solid rgba(0,0,0,0.2);width:100%;height:100%}.mce-infobox{display:inline-block;*display:inline;*zoom:1;text-shadow:0 1px 1px rgba(255,255,255,0.75);overflow:hidden;border:1px solid red}.mce-infobox div{display:block;margin:5px}.mce-infobox div button{position:absolute;top:50%;right:4px;cursor:pointer;margin-top:-8px;display:none}.mce-infobox div button:focus{outline:2px solid #ccc}.mce-infobox.mce-has-help div{margin-right:25px}.mce-infobox.mce-has-help button{display:block}.mce-infobox.mce-success{background:#dff0d8;border-color:#d6e9c6}.mce-infobox.mce-success div{color:#3c763d}.mce-infobox.mce-warning{background:#fcf8e3;border-color:#faebcc}.mce-infobox.mce-warning div{color:#8a6d3b}.mce-infobox.mce-error{background:#f2dede;border-color:#ebccd1}.mce-infobox.mce-error div{color:#a94442}.mce-rtl .mce-infobox div{text-align:right;direction:rtl}.mce-label{display:inline-block;*display:inline;*zoom:1;text-shadow:0 1px 1px rgba(255,255,255,0.75);overflow:hidden}.mce-label.mce-autoscroll{overflow:auto}.mce-label.mce-disabled{color:#aaa}.mce-label.mce-multiline{white-space:pre-wrap}.mce-label.mce-success{color:#468847}.mce-label.mce-warning{color:#c09853}.mce-label.mce-error{color:#b94a48}.mce-rtl .mce-label{text-align:right;direction:rtl}.mce-menubar .mce-menubtn{border-color:transparent;background:transparent;filter:none}.mce-menubar .mce-menubtn button{color:#333}.mce-menubar{border:1px solid rgba(217,217,217,0.52)}.mce-menubar .mce-menubtn button span{color:#333}.mce-menubar .mce-caret{border-top-color:#333}.mce-menubar .mce-menubtn:hover,.mce-menubar .mce-menubtn.mce-active,.mce-menubar .mce-menubtn:focus{border-color:#ccc;background:#fff;filter:none}.mce-menubtn button{color:#333}.mce-menubtn.mce-btn-small span{font-size:12px}.mce-menubtn.mce-fixed-width span{display:inline-block;overflow-x:hidden;text-overflow:ellipsis;width:90px}.mce-menubtn.mce-fixed-width.mce-btn-small span{width:70px}.mce-menubtn .mce-caret{*margin-top:6px}.mce-rtl .mce-menubtn button{direction:rtl;text-align:right}.mce-menu-item{display:block;padding:6px 15px 6px 12px;clear:both;font-weight:normal;line-height:20px;color:#333;white-space:nowrap;cursor:pointer;line-height:normal;border-left:4px solid transparent;margin-bottom:1px}.mce-menu-item .mce-ico,.mce-menu-item .mce-text{color:#333}.mce-menu-item.mce-disabled .mce-text,.mce-menu-item.mce-disabled .mce-ico{color:#adadad}.mce-menu-item:hover .mce-text,.mce-menu-item.mce-selected .mce-text,.mce-menu-item:focus .mce-text{color:white}.mce-menu-item:hover .mce-ico,.mce-menu-item.mce-selected .mce-ico,.mce-menu-item:focus .mce-ico{color:white}.mce-menu-item.mce-disabled:hover{background:#CCC}.mce-menu-shortcut{display:inline-block;color:#adadad}.mce-menu-shortcut{display:inline-block;*display:inline;*zoom:1;padding:0 15px 0 20px}.mce-menu-item:hover .mce-menu-shortcut,.mce-menu-item.mce-selected .mce-menu-shortcut,.mce-menu-item:focus .mce-menu-shortcut{color:white}.mce-menu-item .mce-caret{margin-top:4px;*margin-top:3px;margin-right:6px;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:4px solid #333}.mce-menu-item.mce-selected .mce-caret,.mce-menu-item:focus .mce-caret,.mce-menu-item:hover .mce-caret{border-left-color:white}.mce-menu-align .mce-menu-shortcut{*margin-top:-2px}.mce-menu-align .mce-menu-shortcut,.mce-menu-align .mce-caret{position:absolute;right:0}.mce-menu-item.mce-active i{visibility:visible}.mce-menu-item-normal.mce-active{background-color:#3498db}.mce-menu-item-preview.mce-active{border-left:5px solid #aaa}.mce-menu-item-normal.mce-active .mce-text{color:white}.mce-menu-item-normal.mce-active:hover .mce-text,.mce-menu-item-normal.mce-active:hover .mce-ico{color:white}.mce-menu-item-normal.mce-active:focus .mce-text,.mce-menu-item-normal.mce-active:focus .mce-ico{color:white}.mce-menu-item:hover,.mce-menu-item.mce-selected,.mce-menu-item:focus{text-decoration:none;color:white;background-color:#2d8ac7}.mce-menu-item-link{color:#093;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mce-menu-item-link b{color:#093}.mce-menu-item-ellipsis{display:block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mce-menu-item:hover *,.mce-menu-item.mce-selected *,.mce-menu-item:focus *{color:white}div.mce-menu .mce-menu-item-sep,.mce-menu-item-sep:hover{border:0;padding:0;height:1px;margin:9px 1px;overflow:hidden;background:transparent;border-bottom:1px solid rgba(0,0,0,0.1);cursor:default;filter:none}div.mce-menu .mce-menu-item b{font-weight:bold}.mce-menu-item-indent-1{padding-left:20px}.mce-menu-item-indent-2{padding-left:35px}.mce-menu-item-indent-2{padding-left:35px}.mce-menu-item-indent-3{padding-left:40px}.mce-menu-item-indent-4{padding-left:45px}.mce-menu-item-indent-5{padding-left:50px}.mce-menu-item-indent-6{padding-left:55px}.mce-menu.mce-rtl{direction:rtl}.mce-rtl .mce-menu-item{text-align:right;direction:rtl;padding:6px 12px 6px 15px}.mce-menu-align.mce-rtl .mce-menu-shortcut,.mce-menu-align.mce-rtl .mce-caret{right:auto;left:0}.mce-rtl .mce-menu-item .mce-caret{margin-left:6px;margin-right:0;border-right:4px solid #333;border-left:0}.mce-rtl .mce-menu-item.mce-selected .mce-caret,.mce-rtl .mce-menu-item:focus .mce-caret,.mce-rtl .mce-menu-item:hover .mce-caret{border-left-color:transparent;border-right-color:white}.mce-throbber{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.6;filter:alpha(opacity=60);zoom:1;background:#fff url('img/loader.gif') no-repeat center center}.mce-throbber-inline{position:static;height:50px}.mce-menu .mce-throbber-inline{height:25px;background-size:contain}.mce-menu{position:absolute;left:0;top:0;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;z-index:1000;padding:5px 0 5px 0;margin:-1px 0 0;min-width:160px;background:#fff;border:1px solid #989898;border:1px solid rgba(0,0,0,0.2);z-index:1002;max-height:400px;overflow:auto;overflow-x:hidden}.mce-menu i{display:none}.mce-menu-has-icons i{display:inline-block;*display:inline}.mce-menu-sub-tr-tl{margin:-6px 0 0 -1px}.mce-menu-sub-br-bl{margin:6px 0 0 -1px}.mce-menu-sub-tl-tr{margin:-6px 0 0 1px}.mce-menu-sub-bl-br{margin:6px 0 0 1px}.mce-listbox button{text-align:left;padding-right:20px;position:relative}.mce-listbox .mce-caret{position:absolute;margin-top:-2px;right:8px;top:50%}.mce-rtl .mce-listbox .mce-caret{right:auto;left:8px}.mce-rtl .mce-listbox button{padding-right:10px;padding-left:20px}.mce-container-body .mce-resizehandle{position:absolute;right:0;bottom:0;width:16px;height:16px;visibility:visible;cursor:s-resize;margin:0}.mce-container-body .mce-resizehandle-both{cursor:se-resize}i.mce-i-resize{color:#333}.mce-selectbox{background:#fff;border:1px solid #c5c5c5}.mce-slider{border:1px solid #AAA;background:#EEE;width:100px;height:10px;position:relative;display:block}.mce-slider.mce-vertical{width:10px;height:100px}.mce-slider-handle{border:1px solid #BBB;background:#DDD;display:block;width:13px;height:13px;position:absolute;top:0;left:0;margin-left:-1px;margin-top:-2px}.mce-slider-handle:focus{background:#BBB}.mce-spacer{visibility:hidden}.mce-splitbtn .mce-open{border-left:1px solid transparent}.mce-splitbtn:hover .mce-open{border-left-color:#ccc}.mce-splitbtn button{padding-right:6px;padding-left:6px}.mce-splitbtn .mce-open{padding-right:4px;padding-left:4px}.mce-splitbtn .mce-open.mce-active{background-color:#dbdbdb;outline:1px solid #ccc}.mce-splitbtn.mce-btn-small .mce-open{padding:0 3px 0 3px}.mce-rtl .mce-splitbtn{direction:rtl;text-align:right}.mce-rtl .mce-splitbtn button{padding-right:4px;padding-left:4px}.mce-rtl .mce-splitbtn .mce-open{border-left:0}.mce-stack-layout-item{display:block}.mce-tabs{display:block;border-bottom:1px solid #c5c5c5}.mce-tabs,.mce-tabs+.mce-container-body{background:#FFF}.mce-tab{display:inline-block;*display:inline;*zoom:1;border:1px solid #c5c5c5;border-width:0 1px 0 0;background:#ffffff;padding:8px;text-shadow:0 1px 1px rgba(255,255,255,0.75);height:13px;cursor:pointer}.mce-tab:hover{background:#FDFDFD}.mce-tab.mce-active{background:#FDFDFD;border-bottom-color:transparent;margin-bottom:-1px;height:14px}.mce-rtl .mce-tabs{text-align:right;direction:rtl}.mce-rtl .mce-tab{border-width:0 0 0 1px}.mce-textbox{background:#fff;border:1px solid #c5c5c5;display:inline-block;-webkit-transition:border linear .2s, box-shadow linear .2s;transition:border linear .2s, box-shadow linear .2s;height:28px;resize:none;padding:0 4px 0 4px;white-space:pre-wrap;*white-space:pre;color:#333}.mce-textbox:focus,.mce-textbox.mce-focus{border-color:#3498db}.mce-placeholder .mce-textbox{color:#aaa}.mce-textbox.mce-multiline{padding:4px;height:auto}.mce-textbox.mce-disabled{color:#adadad}.mce-rtl .mce-textbox{text-align:right;direction:rtl}@font-face{font-family:'tinymce';src:url('fonts/tinymce.eot');src:url('fonts/tinymce.eot?#iefix') format('embedded-opentype'),url('fonts/tinymce.woff') format('woff'),url('fonts/tinymce.ttf') format('truetype'),url('fonts/tinymce.svg#tinymce') format('svg');font-weight:normal;font-style:normal}@font-face{font-family:'tinymce-small';src:url('fonts/tinymce-small.eot');src:url('fonts/tinymce-small.eot?#iefix') format('embedded-opentype'),url('fonts/tinymce-small.woff') format('woff'),url('fonts/tinymce-small.ttf') format('truetype'),url('fonts/tinymce-small.svg#tinymce') format('svg');font-weight:normal;font-style:normal}.mce-ico{font-family:'tinymce',Arial;font-style:normal;font-weight:normal;font-variant:normal;font-size:16px;line-height:16px;speak:none;vertical-align:text-top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;background:transparent center center;background-size:cover;width:16px;height:16px;color:#333}.mce-btn-small .mce-ico{font-family:'tinymce-small',Arial}.mce-i-save:before{content:"\e000"}.mce-i-newdocument:before{content:"\e001"}.mce-i-fullpage:before{content:"\e002"}.mce-i-alignleft:before{content:"\e003"}.mce-i-aligncenter:before{content:"\e004"}.mce-i-alignright:before{content:"\e005"}.mce-i-alignjustify:before{content:"\e006"}.mce-i-alignnone:before{content:"\e003"}.mce-i-cut:before{content:"\e007"}.mce-i-paste:before{content:"\e008"}.mce-i-searchreplace:before{content:"\e009"}.mce-i-bullist:before{content:"\e00a"}.mce-i-numlist:before{content:"\e00b"}.mce-i-indent:before{content:"\e00c"}.mce-i-outdent:before{content:"\e00d"}.mce-i-blockquote:before{content:"\e00e"}.mce-i-undo:before{content:"\e00f"}.mce-i-redo:before{content:"\e010"}.mce-i-link:before{content:"\e011"}.mce-i-unlink:before{content:"\e012"}.mce-i-anchor:before{content:"\e013"}.mce-i-image:before{content:"\e014"}.mce-i-media:before{content:"\e015"}.mce-i-help:before{content:"\e016"}.mce-i-code:before{content:"\e017"}.mce-i-insertdatetime:before{content:"\e018"}.mce-i-preview:before{content:"\e019"}.mce-i-forecolor:before{content:"\e01a"}.mce-i-backcolor:before{content:"\e01a"}.mce-i-table:before{content:"\e01b"}.mce-i-hr:before{content:"\e01c"}.mce-i-removeformat:before{content:"\e01d"}.mce-i-subscript:before{content:"\e01e"}.mce-i-superscript:before{content:"\e01f"}.mce-i-charmap:before{content:"\e020"}.mce-i-emoticons:before{content:"\e021"}.mce-i-print:before{content:"\e022"}.mce-i-fullscreen:before{content:"\e023"}.mce-i-spellchecker:before{content:"\e024"}.mce-i-nonbreaking:before{content:"\e025"}.mce-i-template:before{content:"\e026"}.mce-i-pagebreak:before{content:"\e027"}.mce-i-restoredraft:before{content:"\e028"}.mce-i-bold:before{content:"\e02a"}.mce-i-italic:before{content:"\e02b"}.mce-i-underline:before{content:"\e02c"}.mce-i-strikethrough:before{content:"\e02d"}.mce-i-visualchars:before{content:"\e02e"}.mce-i-visualblocks:before{content:"\e02e"}.mce-i-ltr:before{content:"\e02f"}.mce-i-rtl:before{content:"\e030"}.mce-i-copy:before{content:"\e031"}.mce-i-resize:before{content:"\e032"}.mce-i-browse:before{content:"\e034"}.mce-i-pastetext:before{content:"\e035"}.mce-i-rotateleft:before{content:"\eaa8"}.mce-i-rotateright:before{content:"\eaa9"}.mce-i-crop:before{content:"\ee78"}.mce-i-editimage:before{content:"\e915"}.mce-i-options:before{content:"\ec6a"}.mce-i-flipv:before{content:"\eaaa"}.mce-i-fliph:before{content:"\eaac"}.mce-i-zoomin:before{content:"\eb35"}.mce-i-zoomout:before{content:"\eb36"}.mce-i-sun:before{content:"\eccc"}.mce-i-moon:before{content:"\eccd"}.mce-i-arrowleft:before{content:"\edc0"}.mce-i-arrowright:before{content:"\e93c"}.mce-i-drop:before{content:"\e935"}.mce-i-contrast:before{content:"\ecd4"}.mce-i-sharpen:before{content:"\eba7"}.mce-i-resize2:before{content:"\edf9"}.mce-i-orientation:before{content:"\e601"}.mce-i-invert:before{content:"\e602"}.mce-i-gamma:before{content:"\e600"}.mce-i-remove:before{content:"\ed6a"}.mce-i-tablerowprops:before{content:"\e604"}.mce-i-tablecellprops:before{content:"\e605"}.mce-i-table2:before{content:"\e606"}.mce-i-tablemergecells:before{content:"\e607"}.mce-i-tableinsertcolbefore:before{content:"\e608"}.mce-i-tableinsertcolafter:before{content:"\e609"}.mce-i-tableinsertrowbefore:before{content:"\e60a"}.mce-i-tableinsertrowafter:before{content:"\e60b"}.mce-i-tablesplitcells:before{content:"\e60d"}.mce-i-tabledelete:before{content:"\e60e"}.mce-i-tableleftheader:before{content:"\e62a"}.mce-i-tabletopheader:before{content:"\e62b"}.mce-i-tabledeleterow:before{content:"\e800"}.mce-i-tabledeletecol:before{content:"\e801"}.mce-i-codesample:before{content:"\e603"}.mce-i-fill:before{content:"\e902"}.mce-i-borderwidth:before{content:"\e903"}.mce-i-line:before{content:"\e904"}.mce-i-count:before{content:"\e905"}.mce-i-translate:before{content:"\e907"}.mce-i-drag:before{content:"\e908"}.mce-i-home:before{content:"\e90b"}.mce-i-upload:before{content:"\e914"}.mce-i-bubble:before{content:"\e91c"}.mce-i-user:before{content:"\e91d"}.mce-i-lock:before{content:"\e926"}.mce-i-unlock:before{content:"\e927"}.mce-i-settings:before{content:"\e928"}.mce-i-remove2:before{content:"\e92a"}.mce-i-menu:before{content:"\e92d"}.mce-i-warning:before{content:"\e930"}.mce-i-question:before{content:"\e931"}.mce-i-pluscircle:before{content:"\e932"}.mce-i-info:before{content:"\e933"}.mce-i-notice:before{content:"\e934"}.mce-i-arrowup:before{content:"\e93b"}.mce-i-arrowdown:before{content:"\e93d"}.mce-i-arrowup2:before{content:"\e93f"}.mce-i-arrowdown2:before{content:"\e940"}.mce-i-menu2:before{content:"\e941"}.mce-i-newtab:before{content:"\e961"}.mce-i-a11y:before{content:"\e900"}.mce-i-plus:before{content:"\e93a"}.mce-i-insert:before{content:"\e93a"}.mce-i-minus:before{content:"\e939"}.mce-i-books:before{content:"\e911"}.mce-i-reload:before{content:"\e906"}.mce-i-toc:before{content:"\e901"}.mce-i-checkmark:before{content:"\e033"}.mce-i-checkbox:before,.mce-i-selected:before{content:"\e033"}.mce-i-insert{font-size:14px}.mce-i-selected{visibility:hidden}i.mce-i-backcolor{text-shadow:none;background:#BBB} +.mce-btn[aria-label~='Numbered'] .mce-open{ + display: none; +} +.mce-btn[aria-label~='Bullet'] .mce-open{ + display: none; +} + +.mce-colorbutton-grid tbody tr:last-child{ + display: none; +} +.mce-custom-color-btn{ + display: none; +} +.mce-fullscreen{ + z-index: 10000; +} diff --git a/static/tinymce1.3/tinymce.min.js b/static/tinymce1.3/tinymce.min.js new file mode 100755 index 00000000..da2dd1a2 --- /dev/null +++ b/static/tinymce1.3/tinymce.min.js @@ -0,0 +1,14 @@ +// 4.5.5 (2017-03-07) +!function(e,t){"use strict";function n(e,t){for(var n,r=[],i=0;i=r.x&&o.x+o.w<=r.w+r.x&&o.y>=r.y&&o.y+o.h<=r.h+r.y)return i[a];return null}function n(e,t,n){return o(e.x-t,e.y-n,e.w+2*t,e.h+2*n)}function r(e,t){var n,r,i,a;return n=l(e.x,t.x),r=l(e.y,t.y),i=s(e.x+e.w,t.x+t.w),a=s(e.y+e.h,t.y+t.h),i-n<0||a-r<0?null:o(n,r,i-n,a-r)}function i(e,t,n){var r,i,a,s,u,c,d,f,p,h;return u=e.x,c=e.y,d=e.x+e.w,f=e.y+e.h,p=t.x+t.w,h=t.y+t.h,r=l(0,t.x-u),i=l(0,t.y-c),a=l(0,d-p),s=l(0,f-h),u+=r,c+=i,n&&(d+=r,f+=i,u-=a,c-=s),d-=a,f-=s,o(u,c,d-u,f-c)}function o(e,t,n,r){return{x:e,y:t,w:n,h:r}}function a(e){return o(e.left,e.top,e.width,e.height)}var s=Math.min,l=Math.max,u=Math.round;return{inflate:n,relativePosition:e,findBestRelativePosition:t,intersect:r,clamp:i,create:o,fromClientRect:a}}),r(u,[],function(){function e(e,t){return function(){e.apply(t,arguments)}}function t(t){if("object"!=typeof this)throw new TypeError("Promises must be constructed via new");if("function"!=typeof t)throw new TypeError("not a function");this._state=null,this._value=null,this._deferreds=[],s(t,e(r,this),e(i,this))}function n(e){var t=this;return null===this._state?void this._deferreds.push(e):void l(function(){var n=t._state?e.onFulfilled:e.onRejected;if(null===n)return void(t._state?e.resolve:e.reject)(t._value);var r;try{r=n(t._value)}catch(i){return void e.reject(i)}e.resolve(r)})}function r(t){try{if(t===this)throw new TypeError("A promise cannot be resolved with itself.");if(t&&("object"==typeof t||"function"==typeof t)){var n=t.then;if("function"==typeof n)return void s(e(n,t),e(r,this),e(i,this))}this._state=!0,this._value=t,o.call(this)}catch(a){i.call(this,a)}}function i(e){this._state=!1,this._value=e,o.call(this)}function o(){for(var e=0,t=this._deferreds.length;e=534;return{opera:r,webkit:i,ie:o,gecko:l,mac:u,iOS:c,android:d,contentEditable:g,transparentSrc:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",caretAfter:8!=o,range:window.getSelection&&"Range"in window,documentMode:o&&!s?document.documentMode||7:10,fileApi:f,ceFalse:o===!1||o>8,canHaveCSP:o===!1||o>11,desktop:!p&&!h,windowsPhone:m}}),r(f,[c,d],function(e,t){function n(e,t,n,r){e.addEventListener?e.addEventListener(t,n,r||!1):e.attachEvent&&e.attachEvent("on"+t,n)}function r(e,t,n,r){e.removeEventListener?e.removeEventListener(t,n,r||!1):e.detachEvent&&e.detachEvent("on"+t,n)}function i(e,t){var n,r=t;return n=e.path,n&&n.length>0&&(r=n[0]),e.deepPath&&(n=e.deepPath(),n&&n.length>0&&(r=n[0])),r}function o(e,n){function r(){return!1}function o(){return!0}var a,s=n||{},l;for(a in e)c[a]||(s[a]=e[a]);if(s.target||(s.target=s.srcElement||document),t.experimentalShadowDom&&(s.target=i(e,s.target)),e&&u.test(e.type)&&e.pageX===l&&e.clientX!==l){var d=s.target.ownerDocument||document,f=d.documentElement,p=d.body;s.pageX=e.clientX+(f&&f.scrollLeft||p&&p.scrollLeft||0)-(f&&f.clientLeft||p&&p.clientLeft||0),s.pageY=e.clientY+(f&&f.scrollTop||p&&p.scrollTop||0)-(f&&f.clientTop||p&&p.clientTop||0)}return s.preventDefault=function(){s.isDefaultPrevented=o,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},s.stopPropagation=function(){s.isPropagationStopped=o,e&&(e.stopPropagation?e.stopPropagation():e.cancelBubble=!0)},s.stopImmediatePropagation=function(){s.isImmediatePropagationStopped=o,s.stopPropagation()},s.isDefaultPrevented||(s.isDefaultPrevented=r,s.isPropagationStopped=r,s.isImmediatePropagationStopped=r),"undefined"==typeof s.metaKey&&(s.metaKey=!1),s}function a(t,i,o){function a(){o.domLoaded||(o.domLoaded=!0,i(c))}function s(){("complete"===u.readyState||"interactive"===u.readyState&&u.body)&&(r(u,"readystatechange",s),a())}function l(){try{u.documentElement.doScroll("left")}catch(t){return void e.setTimeout(l)}a()}var u=t.document,c={type:"ready"};return o.domLoaded?void i(c):(u.addEventListener?"complete"===u.readyState?a():n(t,"DOMContentLoaded",a):(n(u,"readystatechange",s),u.documentElement.doScroll&&t.self===t.top&&l()),void n(t,"load",a))}function s(){function e(e,t){var n,r,o,a,s=i[t];if(n=s&&s[e.type])for(r=0,o=n.length;rw.cacheLength&&delete e[t.shift()],e[n+" "]=r}var t=[];return e}function r(e){return e[F]=!0,e}function i(e){var t=D.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function o(e,t){for(var n=e.split("|"),r=e.length;r--;)w.attrHandle[n[r]]=t}function a(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||X)-(~e.sourceIndex||X);if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function s(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function l(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function u(e){return r(function(t){return t=+t,r(function(n,r){for(var i,o=e([],n.length,t),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function c(e){return e&&typeof e.getElementsByTagName!==Y&&e}function d(){}function f(e){for(var t=0,n=e.length,r="";t1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function m(t,n,r){for(var i=0,o=n.length;i-1&&(r[u]=!(a[u]=d))}}else b=g(b===a?b.splice(h,b.length):b),o?o(null,a,b,l):Z.apply(a,b)})}function y(e){for(var t,n,r,i=e.length,o=w.relative[e[0].type],a=o||w.relative[" "],s=o?1:0,l=p(function(e){return e===t},a,!0),u=p(function(e){return te.call(t,e)>-1},a,!0),c=[function(e,n,r){return!o&&(r||n!==T)||((t=n).nodeType?l(e,n,r):u(e,n,r))}];s1&&h(c),s>1&&f(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(se,"$1"),n,s0,o=t.length>0,a=function(r,a,s,l,u){var c,d,f,p=0,h="0",m=r&&[],v=[],y=T,b=r||o&&w.find.TAG("*",u),C=U+=null==y?1:Math.random()||.1,x=b.length;for(u&&(T=a!==D&&a);h!==x&&null!=(c=b[h]);h++){if(o&&c){for(d=0;f=t[d++];)if(f(c,a,s)){l.push(c);break}u&&(U=C)}i&&((c=!f&&c)&&p--,r&&m.push(c))}if(p+=h,i&&h!==p){for(d=0;f=n[d++];)f(m,v,a,s);if(r){if(p>0)for(;h--;)m[h]||v[h]||(v[h]=J.call(l));v=g(v)}Z.apply(l,v),u&&!r&&v.length>0&&p+n.length>1&&e.uniqueSort(l)}return u&&(U=C,T=y),m};return i?r(a):a}var C,x,w,E,N,_,S,k,T,R,A,B,D,L,M,P,O,H,I,F="sizzle"+-new Date,z=window.document,U=0,W=0,V=n(),$=n(),q=n(),j=function(e,t){return e===t&&(A=!0),0},Y=typeof t,X=1<<31,K={}.hasOwnProperty,G=[],J=G.pop,Q=G.push,Z=G.push,ee=G.slice,te=G.indexOf||function(e){for(var t=0,n=this.length;t+~]|"+re+")"+re+"*"),ce=new RegExp("="+re+"*([^\\]'\"]*?)"+re+"*\\]","g"),de=new RegExp(ae),fe=new RegExp("^"+ie+"$"),pe={ID:new RegExp("^#("+ie+")"),CLASS:new RegExp("^\\.("+ie+")"),TAG:new RegExp("^("+ie+"|[*])"),ATTR:new RegExp("^"+oe),PSEUDO:new RegExp("^"+ae),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+re+"*(even|odd|(([+-]|)(\\d*)n|)"+re+"*(?:([+-]|)"+re+"*(\\d+)|))"+re+"*\\)|)","i"),bool:new RegExp("^(?:"+ne+")$","i"),needsContext:new RegExp("^"+re+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+re+"*((?:-\\d)?\\d*)"+re+"*\\)|)(?=[^-]|$)","i")},he=/^(?:input|select|textarea|button)$/i,me=/^h\d$/i,ge=/^[^{]+\{\s*\[native \w/,ve=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ye=/[+~]/,be=/'|\\/g,Ce=new RegExp("\\\\([\\da-f]{1,6}"+re+"?|("+re+")|.)","ig"),xe=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)};try{Z.apply(G=ee.call(z.childNodes),z.childNodes),G[z.childNodes.length].nodeType}catch(we){Z={apply:G.length?function(e,t){Q.apply(e,ee.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}x=e.support={},N=e.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},B=e.setDocument=function(e){function t(e){try{return e.top}catch(t){}return null}var n,r=e?e.ownerDocument||e:z,o=r.defaultView;return r!==D&&9===r.nodeType&&r.documentElement?(D=r,L=r.documentElement,M=!N(r),o&&o!==t(o)&&(o.addEventListener?o.addEventListener("unload",function(){B()},!1):o.attachEvent&&o.attachEvent("onunload",function(){B()})),x.attributes=i(function(e){return e.className="i",!e.getAttribute("className")}),x.getElementsByTagName=i(function(e){return e.appendChild(r.createComment("")),!e.getElementsByTagName("*").length}),x.getElementsByClassName=ge.test(r.getElementsByClassName),x.getById=i(function(e){return L.appendChild(e).id=F,!r.getElementsByName||!r.getElementsByName(F).length}),x.getById?(w.find.ID=function(e,t){if(typeof t.getElementById!==Y&&M){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},w.filter.ID=function(e){var t=e.replace(Ce,xe);return function(e){return e.getAttribute("id")===t}}):(delete w.find.ID,w.filter.ID=function(e){var t=e.replace(Ce,xe);return function(e){var n=typeof e.getAttributeNode!==Y&&e.getAttributeNode("id");return n&&n.value===t}}),w.find.TAG=x.getElementsByTagName?function(e,t){if(typeof t.getElementsByTagName!==Y)return t.getElementsByTagName(e)}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},w.find.CLASS=x.getElementsByClassName&&function(e,t){if(M)return t.getElementsByClassName(e)},O=[],P=[],(x.qsa=ge.test(r.querySelectorAll))&&(i(function(e){e.innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&P.push("[*^$]="+re+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||P.push("\\["+re+"*(?:value|"+ne+")"),e.querySelectorAll(":checked").length||P.push(":checked")}),i(function(e){var t=r.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&P.push("name"+re+"*[*^$|!~]?="),e.querySelectorAll(":enabled").length||P.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),P.push(",.*:")})),(x.matchesSelector=ge.test(H=L.matches||L.webkitMatchesSelector||L.mozMatchesSelector||L.oMatchesSelector||L.msMatchesSelector))&&i(function(e){x.disconnectedMatch=H.call(e,"div"),H.call(e,"[s!='']:x"),O.push("!=",ae)}),P=P.length&&new RegExp(P.join("|")),O=O.length&&new RegExp(O.join("|")),n=ge.test(L.compareDocumentPosition),I=n||ge.test(L.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},j=n?function(e,t){if(e===t)return A=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n?n:(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!x.sortDetached&&t.compareDocumentPosition(e)===n?e===r||e.ownerDocument===z&&I(z,e)?-1:t===r||t.ownerDocument===z&&I(z,t)?1:R?te.call(R,e)-te.call(R,t):0:4&n?-1:1)}:function(e,t){if(e===t)return A=!0,0;var n,i=0,o=e.parentNode,s=t.parentNode,l=[e],u=[t];if(!o||!s)return e===r?-1:t===r?1:o?-1:s?1:R?te.call(R,e)-te.call(R,t):0;if(o===s)return a(e,t);for(n=e;n=n.parentNode;)l.unshift(n);for(n=t;n=n.parentNode;)u.unshift(n);for(;l[i]===u[i];)i++;return i?a(l[i],u[i]):l[i]===z?-1:u[i]===z?1:0},r):D},e.matches=function(t,n){return e(t,null,null,n)},e.matchesSelector=function(t,n){if((t.ownerDocument||t)!==D&&B(t),n=n.replace(ce,"='$1']"),x.matchesSelector&&M&&(!O||!O.test(n))&&(!P||!P.test(n)))try{var r=H.call(t,n);if(r||x.disconnectedMatch||t.document&&11!==t.document.nodeType)return r}catch(i){}return e(n,D,null,[t]).length>0},e.contains=function(e,t){return(e.ownerDocument||e)!==D&&B(e),I(e,t)},e.attr=function(e,n){(e.ownerDocument||e)!==D&&B(e);var r=w.attrHandle[n.toLowerCase()],i=r&&K.call(w.attrHandle,n.toLowerCase())?r(e,n,!M):t;return i!==t?i:x.attributes||!M?e.getAttribute(n):(i=e.getAttributeNode(n))&&i.specified?i.value:null},e.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},e.uniqueSort=function(e){var t,n=[],r=0,i=0;if(A=!x.detectDuplicates,R=!x.sortStable&&e.slice(0),e.sort(j),A){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return R=null,e},E=e.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=E(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=E(t);return n},w=e.selectors={cacheLength:50,createPseudo:r,match:pe,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Ce,xe),e[3]=(e[3]||e[4]||e[5]||"").replace(Ce,xe),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(t){return t[1]=t[1].toLowerCase(),"nth"===t[1].slice(0,3)?(t[3]||e.error(t[0]),t[4]=+(t[4]?t[5]+(t[6]||1):2*("even"===t[3]||"odd"===t[3])),t[5]=+(t[7]+t[8]||"odd"===t[3])):t[3]&&e.error(t[0]),t},PSEUDO:function(e){var t,n=!e[6]&&e[2];return pe.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&de.test(n)&&(t=_(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Ce,xe).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=V[e+" "];return t||(t=new RegExp("(^|"+re+")"+e+"("+re+"|$)"))&&V(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==Y&&e.getAttribute("class")||"")})},ATTR:function(t,n,r){return function(i){var o=e.attr(i,t);return null==o?"!="===n:!n||(o+="","="===n?o===r:"!="===n?o!==r:"^="===n?r&&0===o.indexOf(r):"*="===n?r&&o.indexOf(r)>-1:"$="===n?r&&o.slice(-r.length)===r:"~="===n?(" "+o+" ").indexOf(r)>-1:"|="===n&&(o===r||o.slice(0,r.length+1)===r+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,l){var u,c,d,f,p,h,m=o!==a?"nextSibling":"previousSibling",g=t.parentNode,v=s&&t.nodeName.toLowerCase(),y=!l&&!s;if(g){if(o){for(;m;){for(d=t;d=d[m];)if(s?d.nodeName.toLowerCase()===v:1===d.nodeType)return!1;h=m="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?g.firstChild:g.lastChild],a&&y){for(c=g[F]||(g[F]={}),u=c[e]||[],p=u[0]===U&&u[1],f=u[0]===U&&u[2],d=p&&g.childNodes[p];d=++p&&d&&d[m]||(f=p=0)||h.pop();)if(1===d.nodeType&&++f&&d===t){c[e]=[U,p,f];break}}else if(y&&(u=(t[F]||(t[F]={}))[e])&&u[0]===U)f=u[1];else for(;(d=++p&&d&&d[m]||(f=p=0)||h.pop())&&((s?d.nodeName.toLowerCase()!==v:1!==d.nodeType)||!++f||(y&&((d[F]||(d[F]={}))[e]=[U,f]),d!==t)););return f-=i,f===r||f%r===0&&f/r>=0}}},PSEUDO:function(t,n){var i,o=w.pseudos[t]||w.setFilters[t.toLowerCase()]||e.error("unsupported pseudo: "+t);return o[F]?o(n):o.length>1?(i=[t,t,"",n],w.setFilters.hasOwnProperty(t.toLowerCase())?r(function(e,t){for(var r,i=o(e,n),a=i.length;a--;)r=te.call(e,i[a]),e[r]=!(t[r]=i[a])}):function(e){return o(e,0,i)}):o}},pseudos:{not:r(function(e){var t=[],n=[],i=S(e.replace(se,"$1"));return i[F]?r(function(e,t,n,r){for(var o,a=i(e,null,r,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,r,o){return t[0]=e,i(t,null,o,n),!n.pop()}}),has:r(function(t){return function(n){return e(t,n).length>0}}),contains:r(function(e){return e=e.replace(Ce,xe),function(t){return(t.textContent||t.innerText||E(t)).indexOf(e)>-1}}),lang:r(function(t){return fe.test(t||"")||e.error("unsupported lang: "+t),t=t.replace(Ce,xe).toLowerCase(),function(e){var n;do if(n=M?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return n=n.toLowerCase(),n===t||0===n.indexOf(t+"-");while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=window.location&&window.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===L},focus:function(e){return e===D.activeElement&&(!D.hasFocus||D.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!w.pseudos.empty(e)},header:function(e){return me.test(e.nodeName)},input:function(e){return he.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:u(function(){return[0]}),last:u(function(e,t){return[t-1]}),eq:u(function(e,t,n){return[n<0?n+t:n]}),even:u(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:u(function(e,t,n){for(var r=n<0?n+t:n;++r2&&"ID"===(a=o[0]).type&&x.getById&&9===t.nodeType&&M&&w.relative[o[1].type]){if(t=(w.find.ID(a.matches[0].replace(Ce,xe),t)||[])[0],!t)return n;u&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(i=pe.needsContext.test(e)?0:o.length;i--&&(a=o[i],!w.relative[s=a.type]);)if((l=w.find[s])&&(r=l(a.matches[0].replace(Ce,xe),ye.test(o[0].type)&&c(t.parentNode)||t))){if(o.splice(i,1),e=r.length&&f(o),!e)return Z.apply(n,r),n;break}}return(u||S(e,d))(r,t,!M,n,ye.test(e)&&c(t.parentNode)||t),n},x.sortStable=F.split("").sort(j).join("")===F,x.detectDuplicates=!!A,B(),x.sortDetached=i(function(e){return 1&e.compareDocumentPosition(D.createElement("div"))}),i(function(e){return e.innerHTML="
","#"===e.firstChild.getAttribute("href")})||o("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),x.attributes&&i(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||o("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),i(function(e){return null==e.getAttribute("disabled")})||o(ne,function(e,t,n){var r;if(!n)return e[t]===!0?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),e}),r(h,[],function(){function e(e){var t=e,n,r;if(!c(e))for(t=[],n=0,r=e.length;n=0;i--)u(e,t[i],n,r);else for(i=0;i)[^>]*$|#([\w\-]*)$)/,S=e.Event,k,T=r.makeMap("children,contents,next,prev"),R=r.makeMap("fillOpacity fontWeight lineHeight opacity orphans widows zIndex zoom"," "),A=r.makeMap("checked compact declare defer disabled ismap multiple nohref noshade nowrap readonly selected"," "),B={"for":"htmlFor","class":"className",readonly:"readOnly"},D={"float":"cssFloat"},L={},M={},P=/^\s*|\s*$/g;return f.fn=f.prototype={constructor:f,selector:"",context:null,length:0,init:function(e,t){var n=this,r,i;if(!e)return n;if(e.nodeType)return n.context=n[0]=e,n.length=1,n;if(t&&t.nodeType)n.context=t;else{if(t)return f(e).attr(t);n.context=t=document}if(a(e)){if(n.selector=e,r="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:_.exec(e),!r)return f(t).find(e);if(r[1])for(i=l(e,v(t)).firstChild;i;)E.call(n,i),i=i.nextSibling;else{if(i=v(t).getElementById(r[2]),!i)return n;if(i.id!==r[2])return n.find(e);n.length=1,n[0]=i}}else this.add(e,!1);return n},toArray:function(){return r.toArray(this)},add:function(e,t){var n=this,r,i;if(a(e))return n.add(f(e));if(t!==!1)for(r=f.unique(n.toArray().concat(f.makeArray(e))),n.length=r.length,i=0;i1&&(T[e]||(i=f.unique(i)),0===e.indexOf("parents")&&(i=i.reverse())),i=f(i),n?i.filter(n):i}}),m({parentsUntil:function(e,t){return y(e,"parentNode",t)},nextUntil:function(e,t){return b(e,"nextSibling",1,t).slice(1)},prevUntil:function(e,t){return b(e,"previousSibling",1,t).slice(1)}},function(e,t){f.fn[e]=function(n,r){var i=this,o=[];return i.each(function(){var e=t.call(o,this,n,o);e&&(f.isArray(e)?o.push.apply(o,e):o.push(e))}),this.length>1&&(o=f.unique(o),0!==e.indexOf("parents")&&"prevUntil"!==e||(o=o.reverse())),o=f(o),r?o.filter(r):o}}),f.fn.is=function(e){return!!e&&this.filter(e).length>0},f.fn.init.prototype=f.fn,f.overrideDefaults=function(e){function t(r,i){return n=n||e(),0===arguments.length&&(r=n.element),i||(i=n.context),new t.fn.init(r,i)}var n;return f.extend(t,this),t},i.ie&&i.ie<8&&(x(L,"get",{maxlength:function(e){var t=e.maxLength;return 2147483647===t?k:t},size:function(e){var t=e.size;return 20===t?k:t},"class":function(e){return e.className},style:function(e){var t=e.style.cssText;return 0===t.length?k:t}}),x(L,"set",{"class":function(e,t){e.className=t},style:function(e,t){e.style.cssText=t}})),i.ie&&i.ie<9&&(D["float"]="styleFloat",x(M,"set",{opacity:function(e,t){var n=e.style;null===t||""===t?n.removeAttribute("filter"):(n.zoom=1,n.filter="alpha(opacity="+100*t+")")}})),f.attrHooks=L,f.cssHooks=M,f}),r(v,[],function(){return function(e,t){function n(e,t,n,r){function i(e){return e=parseInt(e,10).toString(16),e.length>1?e:"0"+e}return"#"+i(t)+i(n)+i(r)}var r=/rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)/gi,i=/(?:url(?:(?:\(\s*\"([^\"]+)\"\s*\))|(?:\(\s*\'([^\']+)\'\s*\))|(?:\(\s*([^)\s]+)\s*\))))|(?:\'([^\']+)\')|(?:\"([^\"]+)\")/gi,o=/\s*([^:]+):\s*([^;]+);?/g,a=/\s+$/,s,l={},u,c,d,f="\ufeff";for(e=e||{},t&&(c=t.getValidStyles(),d=t.getInvalidStyles()),u=("\\\" \\' \\; \\: ; : "+f).split(" "),s=0;s-1&&n||(y[e+t]=s==-1?l[0]:l.join(" "),delete y[e+"-top"+t],delete y[e+"-right"+t],delete y[e+"-bottom"+t],delete y[e+"-left"+t])}}function c(e){var t=y[e],n;if(t){for(t=t.split(" "),n=t.length;n--;)if(t[n]!==t[0])return!1;return y[e]=t[0],!0}}function d(e,t,n,r){c(t)&&c(n)&&c(r)&&(y[e]=y[t]+" "+y[n]+" "+y[r],delete y[t],delete y[n],delete y[r])}function p(e){return w=!0,l[e]}function h(e,t){return w&&(e=e.replace(/\uFEFF[0-9]/g,function(e){return l[e]})),t||(e=e.replace(/\\([\'\";:])/g,"$1")),e}function m(e){return String.fromCharCode(parseInt(e.slice(1),16))}function g(e){return e.replace(/\\[0-9a-f]+/gi,m)}function v(t,n,r,i,o,a){if(o=o||a)return o=h(o),"'"+o.replace(/\'/g,"\\'")+"'";if(n=h(n||r||i),!e.allow_script_urls){var s=n.replace(/[\s\r\n]+/g,"");if(/(java|vb)script:/i.test(s))return"";if(!e.allow_svg_data_urls&&/^data:image\/svg/i.test(s))return""}return E&&(n=E.call(N,n,"style")),"url('"+n.replace(/\'/g,"\\'")+"')"}var y={},b,C,x,w,E=e.url_converter,N=e.url_converter_scope||this;if(t){for(t=t.replace(/[\u0000-\u001F]/g,""),t=t.replace(/\\[\"\';:\uFEFF]/g,p).replace(/\"[^\"]+\"|\'[^\']+\'/g,function(e){return e.replace(/[;:]/g,p)});b=o.exec(t);)if(o.lastIndex=b.index+b[0].length,C=b[1].replace(a,"").toLowerCase(),x=b[2].replace(a,""),C&&x){if(C=g(C),x=g(x),C.indexOf(f)!==-1||C.indexOf('"')!==-1)continue;if(!e.allow_script_urls&&("behavior"==C||/expression\s*\(|\/\*|\*\//.test(x)))continue;"font-weight"===C&&"700"===x?x="bold":"color"!==C&&"background-color"!==C||(x=x.toLowerCase()),x=x.replace(r,n),x=x.replace(i,v),y[C]=w?h(x,!0):x}u("border","",!0),u("border","-width"),u("border","-color"),u("border","-style"),u("padding",""),u("margin",""),d("border","border-width","border-style","border-color"),"medium none"===y.border&&delete y.border,"none"===y["border-image"]&&delete y["border-image"]}return y},serialize:function(e,t){function n(t){var n,r,o,a;if(n=c[t])for(r=0,o=n.length;r0?" ":"")+t+": "+a+";")}function r(e,t){var n;return n=d["*"],(!n||!n[e])&&(n=d[t],!n||!n[e])}var i="",o,a;if(t&&c)n("*"),n(t);else for(o in e)a=e[o],!a||d&&!r(o,t)||(i+=(i.length>0?" ":"")+o+": "+a+";");return i}}}}),r(y,[],function(){return function(e,t){function n(e,n,r,i){var o,a;if(e){if(!i&&e[n])return e[n];if(e!=t){if(o=e[r])return o;for(a=e.parentNode;a&&a!=t;a=a.parentNode)if(o=a[r])return o}}}function r(e,n,r,i){var o,a,s;if(e){if(o=e[r],t&&o===t)return;if(o){if(!i)for(s=o[n];s;s=s[n])if(!s[n])return s;return o}if(a=e.parentNode,a&&a!==t)return a}}var i=e;this.current=function(){return i},this.next=function(e){return i=n(i,"firstChild","nextSibling",e)},this.prev=function(e){return i=n(i,"lastChild","previousSibling",e)},this.prev2=function(e){return i=r(i,"lastChild","previousSibling",e)}}}),r(b,[m],function(e){function t(n){function r(){return P.createDocumentFragment()}function i(e,t){E(F,e,t)}function o(e,t){E(z,e,t)}function a(e){i(e.parentNode,j(e))}function s(e){i(e.parentNode,j(e)+1)}function l(e){o(e.parentNode,j(e))}function u(e){o(e.parentNode,j(e)+1)}function c(e){e?(M[V]=M[W],M[$]=M[U]):(M[W]=M[V],M[U]=M[$]),M.collapsed=F}function d(e){a(e),u(e)}function f(e){i(e,0),o(e,1===e.nodeType?e.childNodes.length:e.nodeValue.length)}function p(e,t){var n=M[W],r=M[U],i=M[V],o=M[$],a=t.startContainer,s=t.startOffset,l=t.endContainer,u=t.endOffset;return 0===e?w(n,r,a,s):1===e?w(i,o,a,s):2===e?w(i,o,l,u):3===e?w(n,r,l,u):void 0}function h(){N(I)}function m(){return N(O)}function g(){return N(H)}function v(e){var t=this[W],r=this[U],i,o;3!==t.nodeType&&4!==t.nodeType||!t.nodeValue?(t.childNodes.length>0&&(o=t.childNodes[r]),o?t.insertBefore(e,o):3==t.nodeType?n.insertAfter(e,t):t.appendChild(e)):r?r>=t.nodeValue.length?n.insertAfter(e,t):(i=t.splitText(r),t.parentNode.insertBefore(e,i)):t.parentNode.insertBefore(e,t)}function y(e){var t=M.extractContents();M.insertNode(e),e.appendChild(t),M.selectNode(e)}function b(){return q(new t(n),{startContainer:M[W],startOffset:M[U],endContainer:M[V],endOffset:M[$],collapsed:M.collapsed,commonAncestorContainer:M.commonAncestorContainer})}function C(e,t){var n;if(3==e.nodeType)return e;if(t<0)return e;for(n=e.firstChild;n&&t>0;)--t,n=n.nextSibling;return n?n:e}function x(){return M[W]==M[V]&&M[U]==M[$]}function w(e,t,r,i){var o,a,s,l,u,c;if(e==r)return t==i?0:t0&&M.collapse(e):M.collapse(e),M.collapsed=x(),M.commonAncestorContainer=n.findCommonAncestor(M[W],M[V])}function N(e){var t,n=0,r=0,i,o,a,s,l,u;if(M[W]==M[V])return _(e);for(t=M[V],i=t.parentNode;i;t=i,i=i.parentNode){if(i==M[W])return S(t,e);++n}for(t=M[W],i=t.parentNode;i;t=i,i=i.parentNode){if(i==M[V])return k(t,e);++r}for(o=r-n,a=M[W];o>0;)a=a.parentNode,o--;for(s=M[V];o<0;)s=s.parentNode,o++;for(l=a.parentNode,u=s.parentNode;l!=u;l=l.parentNode,u=u.parentNode)a=l,s=u;return T(a,s,e)}function _(e){var t,n,i,o,a,s,l,u,c;if(e!=I&&(t=r()),M[U]==M[$])return t;if(3==M[W].nodeType){if(n=M[W].nodeValue,i=n.substring(M[U],M[$]),e!=H&&(o=M[W],u=M[U],c=M[$]-M[U],0===u&&c>=o.nodeValue.length-1?o.parentNode.removeChild(o):o.deleteData(u,c),M.collapse(F)),e==I)return;return i.length>0&&t.appendChild(P.createTextNode(i)),t}for(o=C(M[W],M[U]),a=M[$]-M[U];o&&a>0;)s=o.nextSibling,l=D(o,e),t&&t.appendChild(l),--a,o=s;return e!=H&&M.collapse(F),t}function S(e,t){var n,i,o,a,s,l;if(t!=I&&(n=r()),i=R(e,t),n&&n.appendChild(i),o=j(e),a=o-M[U],a<=0)return t!=H&&(M.setEndBefore(e),M.collapse(z)),n;for(i=e.previousSibling;a>0;)s=i.previousSibling,l=D(i,t),n&&n.insertBefore(l,n.firstChild),--a,i=s;return t!=H&&(M.setEndBefore(e),M.collapse(z)),n}function k(e,t){var n,i,o,a,s,l;for(t!=I&&(n=r()),o=A(e,t),n&&n.appendChild(o),i=j(e),++i,a=M[$]-i,o=e.nextSibling;o&&a>0;)s=o.nextSibling,l=D(o,t),n&&n.appendChild(l),--a,o=s;return t!=H&&(M.setStartAfter(e),M.collapse(F)),n}function T(e,t,n){var i,o,a,s,l,u,c;for(n!=I&&(o=r()),i=A(e,n),o&&o.appendChild(i),a=j(e),s=j(t),++a,l=s-a,u=e.nextSibling;l>0;)c=u.nextSibling,i=D(u,n),o&&o.appendChild(i),u=c,--l;return i=R(t,n),o&&o.appendChild(i),n!=H&&(M.setStartAfter(e),M.collapse(F)),o}function R(e,t){var n=C(M[V],M[$]-1),r,i,o,a,s,l=n!=M[V];if(n==e)return B(n,l,z,t);for(r=n.parentNode,i=B(r,z,z,t);r;){for(;n;)o=n.previousSibling,a=B(n,l,z,t),t!=I&&i.insertBefore(a,i.firstChild),l=F,n=o;if(r==e)return i;n=r.previousSibling,r=r.parentNode,s=B(r,z,z,t),t!=I&&s.appendChild(i),i=s}}function A(e,t){var n=C(M[W],M[U]),r=n!=M[W],i,o,a,s,l;if(n==e)return B(n,r,F,t);for(i=n.parentNode,o=B(i,z,F,t);i;){for(;n;)a=n.nextSibling,s=B(n,r,F,t),t!=I&&o.appendChild(s),r=F,n=a;if(i==e)return o;n=i.nextSibling,i=i.parentNode,l=B(i,z,F,t),t!=I&&l.appendChild(o),o=l}}function B(e,t,r,i){var o,a,s,l,u;if(t)return D(e,i);if(3==e.nodeType){if(o=e.nodeValue,r?(l=M[U],a=o.substring(l),s=o.substring(0,l)):(l=M[$],a=o.substring(0,l),s=o.substring(l)),i!=H&&(e.nodeValue=s),i==I)return;return u=n.clone(e,z),u.nodeValue=a,u}if(i!=I)return n.clone(e,z)}function D(e,t){return t!=I?t==H?n.clone(e,F):e:void e.parentNode.removeChild(e)}function L(){return n.create("body",null,g()).outerText}var M=this,P=n.doc,O=0,H=1,I=2,F=!0,z=!1,U="startOffset",W="startContainer",V="endContainer",$="endOffset",q=e.extend,j=n.nodeIndex;return q(M,{startContainer:P,startOffset:0,endContainer:P,endOffset:0,collapsed:F,commonAncestorContainer:P,START_TO_START:0,START_TO_END:1,END_TO_END:2,END_TO_START:3,setStart:i,setEnd:o,setStartBefore:a,setStartAfter:s,setEndBefore:l,setEndAfter:u,collapse:c,selectNode:d,selectNodeContents:f,compareBoundaryPoints:p,deleteContents:h,extractContents:m,cloneContents:g,insertNode:v,surroundContents:y,cloneRange:b,toStringIE:L}),M}return t.prototype.toString=function(){return this.toStringIE()},t}),r(C,[m],function(e){function t(e){var t;return t=document.createElement("div"),t.innerHTML=e,t.textContent||t.innerText||e}function n(e,t){var n,r,i,a={};if(e){for(e=e.split(","),t=t||10,n=0;n\"\u0060\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,l=/[<>&\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,u=/[<>&\"\']/g,c=/&#([a-z0-9]+);?|&([a-z0-9]+);/gi,d={128:"\u20ac",130:"\u201a",131:"\u0192",132:"\u201e",133:"\u2026",134:"\u2020",135:"\u2021",136:"\u02c6",137:"\u2030",138:"\u0160",139:"\u2039",140:"\u0152",142:"\u017d",145:"\u2018",146:"\u2019",147:"\u201c",148:"\u201d",149:"\u2022",150:"\u2013",151:"\u2014",152:"\u02dc",153:"\u2122",154:"\u0161",155:"\u203a",156:"\u0153",158:"\u017e",159:"\u0178"};o={'"':""","'":"'","<":"<",">":">","&":"&","`":"`"},a={"<":"<",">":">","&":"&",""":'"',"'":"'"},i=n("50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,t9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro",32);var f={encodeRaw:function(e,t){return e.replace(t?s:l,function(e){return o[e]||e})},encodeAllRaw:function(e){return(""+e).replace(u,function(e){return o[e]||e})},encodeNumeric:function(e,t){return e.replace(t?s:l,function(e){return e.length>1?"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";":o[e]||"&#"+e.charCodeAt(0)+";"})},encodeNamed:function(e,t,n){return n=n||i,e.replace(t?s:l,function(e){return o[e]||n[e]||e})},getEncodeFunc:function(e,t){function a(e,n){return e.replace(n?s:l,function(e){return o[e]||t[e]||"&#"+e.charCodeAt(0)+";"||e})}function u(e,n){return f.encodeNamed(e,n,t)}return t=n(t)||i,e=r(e.replace(/\+/g,",")),e.named&&e.numeric?a:e.named?t?u:f.encodeNamed:e.numeric?f.encodeNumeric:f.encodeRaw},decode:function(e){return e.replace(c,function(e,n){return n?(n="x"===n.charAt(0).toLowerCase()?parseInt(n.substr(1),16):parseInt(n,10),n>65535?(n-=65536,String.fromCharCode(55296+(n>>10),56320+(1023&n))):d[n]||String.fromCharCode(n)):a[e]||i[e]||t(e)})}};return f}),r(x,[m,c],function(e,t){return function(n,r){function i(e){n.getElementsByTagName("head")[0].appendChild(e)}function o(r,o,u){function c(){for(var e=b.passed,t=e.length;t--;)e[t]();b.status=2,b.passed=[],b.failed=[]}function d(){for(var e=b.failed,t=e.length;t--;)e[t]();b.status=3,b.passed=[],b.failed=[]}function f(){var e=navigator.userAgent.match(/WebKit\/(\d*)/);return!!(e&&e[1]<536)}function p(e,n){e()||((new Date).getTime()-y0)return v=n.createElement("style"),v.textContent='@import "'+r+'"',m(),void i(v);h()}i(g),g.href=r}}var a=0,s={},l;r=r||{},l=r.maxLoadTime||5e3,this.load=o}}),r(w,[p,g,v,f,y,b,C,d,m,x],function(e,n,r,i,o,a,s,l,u,c){function d(e,t){var n={},r=t.keep_values,i;return i={set:function(n,r,i){t.url_converter&&(r=t.url_converter.call(t.url_converter_scope||e,r,i,n[0])),n.attr("data-mce-"+i,r).attr(i,r)},get:function(e,t){return e.attr("data-mce-"+t)||e.attr(t)}},n={style:{set:function(e,t){return null!==t&&"object"==typeof t?void e.css(t):(r&&e.attr("data-mce-style",t),void e.attr("style",t))},get:function(t){var n=t.attr("data-mce-style")||t.attr("style");return n=e.serializeStyle(e.parseStyle(n),t[0].nodeName)}}},r&&(n.href=n.src=i),n}function f(e,t){var n=t.attr("style");n=e.serializeStyle(e.parseStyle(n),t[0].nodeName),n||(n=null),t.attr("data-mce-style",n)}function p(e,t){var n=0,r,i;if(e)for(r=e.nodeType,e=e.previousSibling;e;e=e.previousSibling)i=e.nodeType,(!t||3!=i||i!=r&&e.nodeValue.length)&&(n++,r=i);return n}function h(e,t){var o=this,a;o.doc=e,o.win=window,o.files={},o.counter=0,o.stdMode=!b||e.documentMode>=8,o.boxModel=!b||"CSS1Compat"==e.compatMode||o.stdMode,o.styleSheetLoader=new c(e),o.boundEvents=[],o.settings=t=t||{},o.schema=t.schema,o.styles=new r({url_converter:t.url_converter,url_converter_scope:t.url_converter_scope},t.schema),o.fixDoc(e),o.events=t.ownEvents?new i(t.proxy):i.Event,o.attrHooks=d(o,t),a=t.schema?t.schema.getBlockElements():{},o.$=n.overrideDefaults(function(){return{context:e,element:o.getRoot()}}),o.isBlock=function(e){if(!e)return!1;var t=e.nodeType;return t?!(1!==t||!a[e.nodeName]):!!a[e]}}var m=u.each,g=u.is,v=u.grep,y=u.trim,b=l.ie,C=/^([a-z0-9],?)+$/i,x=/^[ \t\r\n]*$/;return h.prototype={$$:function(e){return"string"==typeof e&&(e=this.get(e)),this.$(e)},root:null,fixDoc:function(e){var t=this.settings,n;if(b&&t.schema){"abbr article aside audio canvas details figcaption figure footer header hgroup mark menu meter nav output progress section summary time video".replace(/\w+/g,function(t){e.createElement(t)});for(n in t.schema.getCustomElements())e.createElement(n)}},clone:function(e,t){var n=this,r,i;return!b||1!==e.nodeType||t?e.cloneNode(t):(i=n.doc,t?r.firstChild:(r=i.createElement(e.nodeName),m(n.getAttribs(e),function(t){n.setAttrib(r,t.nodeName,n.getAttrib(e,t.nodeName))}),r))},getRoot:function(){var e=this;return e.settings.root_element||e.doc.body},getViewPort:function(e){var t,n;return e=e?e:this.win,t=e.document,n=this.boxModel?t.documentElement:t.body,{x:e.pageXOffset||n.scrollLeft,y:e.pageYOffset||n.scrollTop,w:e.innerWidth||n.clientWidth,h:e.innerHeight||n.clientHeight}},getRect:function(e){var t=this,n,r;return e=t.get(e),n=t.getPos(e),r=t.getSize(e),{x:n.x,y:n.y,w:r.w,h:r.h}},getSize:function(e){var t=this,n,r;return e=t.get(e),n=t.getStyle(e,"width"),r=t.getStyle(e,"height"),n.indexOf("px")===-1&&(n=0),r.indexOf("px")===-1&&(r=0), +{w:parseInt(n,10)||e.offsetWidth||e.clientWidth,h:parseInt(r,10)||e.offsetHeight||e.clientHeight}},getParent:function(e,t,n){return this.getParents(e,t,n,!1)},getParents:function(e,n,r,i){var o=this,a,s=[];for(e=o.get(e),i=i===t,r=r||("BODY"!=o.getRoot().nodeName?o.getRoot().parentNode:null),g(n,"string")&&(a=n,n="*"===n?function(e){return 1==e.nodeType}:function(e){return o.is(e,a)});e&&e!=r&&e.nodeType&&9!==e.nodeType;){if(!n||n(e)){if(!i)return e;s.push(e)}e=e.parentNode}return i?s:null},get:function(e){var t;return e&&this.doc&&"string"==typeof e&&(t=e,e=this.doc.getElementById(e),e&&e.id!==t)?this.doc.getElementsByName(t)[1]:e},getNext:function(e,t){return this._findSib(e,t,"nextSibling")},getPrev:function(e,t){return this._findSib(e,t,"previousSibling")},select:function(t,n){var r=this;return e(t,r.get(n)||r.settings.root_element||r.doc,[])},is:function(n,r){var i;if(n.length===t){if("*"===r)return 1==n.nodeType;if(C.test(r)){for(r=r.toLowerCase().split(/,/),n=n.nodeName.toLowerCase(),i=r.length-1;i>=0;i--)if(r[i]==n)return!0;return!1}}if(n.nodeType&&1!=n.nodeType)return!1;var o=n.nodeType?[n]:n;return e(r,o[0].ownerDocument||o[0],null,o).length>0},add:function(e,t,n,r,i){var o=this;return this.run(e,function(e){var a;return a=g(t,"string")?o.doc.createElement(t):t,o.setAttribs(a,n),r&&(r.nodeType?a.appendChild(r):o.setHTML(a,r)),i?a:e.appendChild(a)})},create:function(e,t,n){return this.add(this.doc.createElement(e),e,t,n,1)},createHTML:function(e,t,n){var r="",i;r+="<"+e;for(i in t)t.hasOwnProperty(i)&&null!==t[i]&&"undefined"!=typeof t[i]&&(r+=" "+i+'="'+this.encode(t[i])+'"');return"undefined"!=typeof n?r+">"+n+"":r+" />"},createFragment:function(e){var t,n,r=this.doc,i;for(i=r.createElement("div"),t=r.createDocumentFragment(),e&&(i.innerHTML=e);n=i.firstChild;)t.appendChild(n);return t},remove:function(e,t){return e=this.$$(e),t?e.each(function(){for(var e;e=this.firstChild;)3==e.nodeType&&0===e.data.length?this.removeChild(e):this.parentNode.insertBefore(e,this)}).remove():e.remove(),e.length>1?e.toArray():e[0]},setStyle:function(e,t,n){e=this.$$(e).css(t,n),this.settings.update_styles&&f(this,e)},getStyle:function(e,n,r){return e=this.$$(e),r?e.css(n):(n=n.replace(/-(\D)/g,function(e,t){return t.toUpperCase()}),"float"==n&&(n=l.ie&&l.ie<12?"styleFloat":"cssFloat"),e[0]&&e[0].style?e[0].style[n]:t)},setStyles:function(e,t){e=this.$$(e).css(t),this.settings.update_styles&&f(this,e)},removeAllAttribs:function(e){return this.run(e,function(e){var t,n=e.attributes;for(t=n.length-1;t>=0;t--)e.removeAttributeNode(n.item(t))})},setAttrib:function(e,t,n){var r=this,i,o,a=r.settings;""===n&&(n=null),e=r.$$(e),i=e.attr(t),e.length&&(o=r.attrHooks[t],o&&o.set?o.set(e,n,t):e.attr(t,n),i!=n&&a.onSetAttrib&&a.onSetAttrib({attrElm:e,attrName:t,attrValue:n}))},setAttribs:function(e,t){var n=this;n.$$(e).each(function(e,r){m(t,function(e,t){n.setAttrib(r,t,e)})})},getAttrib:function(e,t,n){var r=this,i,o;return e=r.$$(e),e.length&&(i=r.attrHooks[t],o=i&&i.get?i.get(e,t):e.attr(t)),"undefined"==typeof o&&(o=n||""),o},getPos:function(e,t){var r=this,i=0,o=0,a,s=r.doc,l=s.body,u;if(e=r.get(e),t=t||l,e){if(t===l&&e.getBoundingClientRect&&"static"===n(l).css("position"))return u=e.getBoundingClientRect(),t=r.boxModel?s.documentElement:l,i=u.left+(s.documentElement.scrollLeft||l.scrollLeft)-t.clientLeft,o=u.top+(s.documentElement.scrollTop||l.scrollTop)-t.clientTop,{x:i,y:o};for(a=e;a&&a!=t&&a.nodeType;)i+=a.offsetLeft||0,o+=a.offsetTop||0,a=a.offsetParent;for(a=e.parentNode;a&&a!=t&&a.nodeType;)i-=a.scrollLeft||0,o-=a.scrollTop||0,a=a.parentNode}return{x:i,y:o}},parseStyle:function(e){return this.styles.parse(e)},serializeStyle:function(e,t){return this.styles.serialize(e,t)},addStyle:function(e){var t=this,n=t.doc,r,i;if(t!==h.DOM&&n===document){var o=h.DOM.addedStyles;if(o=o||[],o[e])return;o[e]=!0,h.DOM.addedStyles=o}i=n.getElementById("mceDefaultStyles"),i||(i=n.createElement("style"),i.id="mceDefaultStyles",i.type="text/css",r=n.getElementsByTagName("head")[0],r.firstChild?r.insertBefore(i,r.firstChild):r.appendChild(i)),i.styleSheet?i.styleSheet.cssText+=e:i.appendChild(n.createTextNode(e))},loadCSS:function(e){var t=this,n=t.doc,r;return t!==h.DOM&&n===document?void h.DOM.loadCSS(e):(e||(e=""),r=n.getElementsByTagName("head")[0],void m(e.split(","),function(e){var i;e=u._addCacheSuffix(e),t.files[e]||(t.files[e]=!0,i=t.create("link",{rel:"stylesheet",href:e}),b&&n.documentMode&&n.recalc&&(i.onload=function(){n.recalc&&n.recalc(),i.onload=null}),r.appendChild(i))}))},addClass:function(e,t){this.$$(e).addClass(t)},removeClass:function(e,t){this.toggleClass(e,t,!1)},hasClass:function(e,t){return this.$$(e).hasClass(t)},toggleClass:function(e,t,r){this.$$(e).toggleClass(t,r).each(function(){""===this.className&&n(this).attr("class",null)})},show:function(e){this.$$(e).show()},hide:function(e){this.$$(e).hide()},isHidden:function(e){return"none"==this.$$(e).css("display")},uniqueId:function(e){return(e?e:"mce_")+this.counter++},setHTML:function(e,t){e=this.$$(e),b?e.each(function(e,r){if(r.canHaveHTML!==!1){for(;r.firstChild;)r.removeChild(r.firstChild);try{r.innerHTML="
"+t,r.removeChild(r.firstChild)}catch(i){n("
").html("
"+t).contents().slice(1).appendTo(r)}return t}}):e.html(t)},getOuterHTML:function(e){return e=this.get(e),1==e.nodeType&&"outerHTML"in e?e.outerHTML:n("
").append(n(e).clone()).html()},setOuterHTML:function(e,t){var r=this;r.$$(e).each(function(){try{if("outerHTML"in this)return void(this.outerHTML=t)}catch(e){}r.remove(n(this).html(t),!0)})},decode:s.decode,encode:s.encodeAllRaw,insertAfter:function(e,t){return t=this.get(t),this.run(e,function(e){var n,r;return n=t.parentNode,r=t.nextSibling,r?n.insertBefore(e,r):n.appendChild(e),e})},replace:function(e,t,n){var r=this;return r.run(t,function(t){return g(t,"array")&&(e=e.cloneNode(!0)),n&&m(v(t.childNodes),function(t){e.appendChild(t)}),t.parentNode.replaceChild(e,t)})},rename:function(e,t){var n=this,r;return e.nodeName!=t.toUpperCase()&&(r=n.create(t),m(n.getAttribs(e),function(t){n.setAttrib(r,t.nodeName,n.getAttrib(e,t.nodeName))}),n.replace(r,e,1)),r||e},findCommonAncestor:function(e,t){for(var n=e,r;n;){for(r=t;r&&n!=r;)r=r.parentNode;if(n==r)break;n=n.parentNode}return!n&&e.ownerDocument?e.ownerDocument.documentElement:n},toHex:function(e){return this.styles.toHex(u.trim(e))},run:function(e,t,n){var r=this,i;return"string"==typeof e&&(e=r.get(e)),!!e&&(n=n||this,e.nodeType||!e.length&&0!==e.length?t.call(n,e):(i=[],m(e,function(e,o){e&&("string"==typeof e&&(e=r.get(e)),i.push(t.call(n,e,o)))}),i))},getAttribs:function(e){var t;if(e=this.get(e),!e)return[];if(b){if(t=[],"OBJECT"==e.nodeName)return e.attributes;"OPTION"===e.nodeName&&this.getAttrib(e,"selected")&&t.push({specified:1,nodeName:"selected"});var n=/<\/?[\w:\-]+ ?|=[\"][^\"]+\"|=\'[^\']+\'|=[\w\-]+|>/gi;return e.cloneNode(!1).outerHTML.replace(n,"").replace(/[\w:\-]+/gi,function(e){t.push({specified:1,nodeName:e})}),t}return e.attributes},isEmpty:function(e,t){var n=this,r,i,a,s,l,u,c=0;if(e=e.firstChild){l=new o(e,e.parentNode),t=t||(n.schema?n.schema.getNonEmptyElements():null),s=n.schema?n.schema.getWhiteSpaceElements():{};do{if(a=e.nodeType,1===a){var d=e.getAttribute("data-mce-bogus");if(d){e=l.next("all"===d);continue}if(u=e.nodeName.toLowerCase(),t&&t[u]){if("br"===u){c++,e=l.next();continue}return!1}for(i=n.getAttribs(e),r=i.length;r--;)if(u=i[r].nodeName,"name"===u||"data-mce-bookmark"===u)return!1}if(8==a)return!1;if(3===a&&!x.test(e.nodeValue))return!1;if(3===a&&e.parentNode&&s[e.parentNode.nodeName]&&x.test(e.nodeValue))return!1;e=l.next()}while(e)}return c<=1},createRng:function(){var e=this.doc;return e.createRange?e.createRange():new a(this)},nodeIndex:p,split:function(e,t,n){function r(e){function t(e){var t=e.previousSibling&&"SPAN"==e.previousSibling.nodeName,n=e.nextSibling&&"SPAN"==e.nextSibling.nodeName;return t&&n}var n,o=e.childNodes,a=e.nodeType;if(1!=a||"bookmark"!=e.getAttribute("data-mce-type")){for(n=o.length-1;n>=0;n--)r(o[n]);if(9!=a){if(3==a&&e.nodeValue.length>0){var s=y(e.nodeValue).length;if(!i.isBlock(e.parentNode)||s>0||0===s&&t(e))return}else if(1==a&&(o=e.childNodes,1==o.length&&o[0]&&1==o[0].nodeType&&"bookmark"==o[0].getAttribute("data-mce-type")&&e.parentNode.insertBefore(o[0],e),o.length||/^(br|hr|input|img)$/i.test(e.nodeName)))return;i.remove(e)}return e}}var i=this,o=i.createRng(),a,s,l;if(e&&t)return o.setStart(e.parentNode,i.nodeIndex(e)),o.setEnd(t.parentNode,i.nodeIndex(t)),a=o.extractContents(),o=i.createRng(),o.setStart(t.parentNode,i.nodeIndex(t)+1),o.setEnd(e.parentNode,i.nodeIndex(e)+1),s=o.extractContents(),l=e.parentNode,l.insertBefore(r(a),e),n?l.insertBefore(n,e):l.insertBefore(t,e),l.insertBefore(r(s),e),i.remove(e),n||t},bind:function(e,t,n,r){var i=this;if(u.isArray(e)){for(var o=e.length;o--;)e[o]=i.bind(e[o],t,n,r);return e}return!i.settings.collect||e!==i.doc&&e!==i.win||i.boundEvents.push([e,t,n,r]),i.events.bind(e,t,n,r||i)},unbind:function(e,t,n){var r=this,i;if(u.isArray(e)){for(i=e.length;i--;)e[i]=r.unbind(e[i],t,n);return e}if(r.boundEvents&&(e===r.doc||e===r.win))for(i=r.boundEvents.length;i--;){var o=r.boundEvents[i];e!=o[0]||t&&t!=o[1]||n&&n!=o[2]||this.events.unbind(o[0],o[1],o[2])}return this.events.unbind(e,t,n)},fire:function(e,t,n){return this.events.fire(e,t,n)},getContentEditable:function(e){var t;return e&&1==e.nodeType?(t=e.getAttribute("data-mce-contenteditable"),t&&"inherit"!==t?t:"inherit"!==e.contentEditable?e.contentEditable:null):null},getContentEditableParent:function(e){for(var t=this.getRoot(),n=null;e&&e!==t&&(n=this.getContentEditable(e),null===n);e=e.parentNode);return n},destroy:function(){var t=this;if(t.boundEvents){for(var n=t.boundEvents.length;n--;){var r=t.boundEvents[n];this.events.unbind(r[0],r[1],r[2])}t.boundEvents=null}e.setDocument&&e.setDocument(),t.win=t.doc=t.root=t.events=t.frag=null},isChildOf:function(e,t){for(;e;){if(t===e)return!0;e=e.parentNode}return!1},dumpRng:function(e){return"startContainer: "+e.startContainer.nodeName+", startOffset: "+e.startOffset+", endContainer: "+e.endContainer.nodeName+", endOffset: "+e.endOffset},_findSib:function(e,t,n){var r=this,i=t;if(e)for("string"==typeof i&&(i=function(e){return r.is(e,t)}),e=e[n];e;e=e[n])if(i(e))return e;return null}},h.DOM=new h(document),h.nodeIndex=p,h}),r(E,[w,m],function(e,t){function n(){function e(e,n,i){function o(){l.remove(c),u&&(u.onreadystatechange=u.onload=u=null),n()}function s(){a(i)?i():"undefined"!=typeof console&&console.log&&console.log("Failed to load script: "+e)}var l=r,u,c;c=l.uniqueId(),u=document.createElement("script"),u.id=c,u.type="text/javascript",u.src=t._addCacheSuffix(e),"onreadystatechange"in u?u.onreadystatechange=function(){/loaded|complete/.test(u.readyState)&&o()}:u.onload=o,u.onerror=s,(document.getElementsByTagName("head")[0]||document.body).appendChild(u)}var n=0,s=1,l=2,u=3,c={},d=[],f={},p=[],h=0,m;this.isDone=function(e){return c[e]==l},this.markDone=function(e){c[e]=l},this.add=this.load=function(e,t,r,i){var o=c[e];o==m&&(d.push(e),c[e]=n),t&&(f[e]||(f[e]=[]),f[e].push({success:t,failure:i,scope:r||this}))},this.remove=function(e){delete c[e],delete f[e]},this.loadQueue=function(e,t,n){this.loadScripts(d,e,t,n)},this.loadScripts=function(t,n,r,d){function g(e,t){i(f[t],function(t){a(t[e])&&t[e].call(t.scope)}),f[t]=m}var v,y=[];p.push({success:n,failure:d,scope:r||this}),(v=function(){var n=o(t);t.length=0,i(n,function(t){return c[t]===l?void g("success",t):c[t]===u?void g("failure",t):void(c[t]!==s&&(c[t]=s,h++,e(t,function(){c[t]=l,h--,g("success",t),v()},function(){c[t]=u,h--,y.push(t),g("failure",t),v()})))}),h||(i(p,function(e){0===y.length?a(e.success)&&e.success.call(e.scope):a(e.failure)&&e.failure.call(e.scope,y)}),p.length=0)})()}}var r=e.DOM,i=t.each,o=t.grep,a=function(e){return"function"==typeof e};return n.ScriptLoader=new n,n}),r(N,[E,m],function(e,n){function r(){var e=this;e.items=[],e.urls={},e.lookup={}}var i=n.each;return r.prototype={get:function(e){return this.lookup[e]?this.lookup[e].instance:t},dependencies:function(e){var t;return this.lookup[e]&&(t=this.lookup[e].dependencies),t||[]},requireLangPack:function(t,n){var i=r.language;if(i&&r.languageLoad!==!1){if(n)if(n=","+n+",",n.indexOf(","+i.substr(0,2)+",")!=-1)i=i.substr(0,2);else if(n.indexOf(","+i+",")==-1)return;e.ScriptLoader.add(this.urls[t]+"/langs/"+i+".js")}},add:function(e,t,n){return this.items.push(t),this.lookup[e]={instance:t,dependencies:n},t},remove:function(e){delete this.urls[e],delete this.lookup[e]},createUrl:function(e,t){return"object"==typeof t?t:{prefix:e.prefix,resource:t,suffix:e.suffix}},addComponents:function(t,n){var r=this.urls[t];i(n,function(t){e.ScriptLoader.add(r+"/"+t)})},load:function(n,o,a,s,l){function u(){var r=c.dependencies(n);i(r,function(e){var n=c.createUrl(o,e);c.load(n.resource,n,t,t)}),a&&(s?a.call(s):a.call(e))}var c=this,d=o;c.urls[n]||("object"==typeof o&&(d=o.prefix+o.resource+o.suffix),0!==d.indexOf("/")&&d.indexOf("://")==-1&&(d=r.baseURL+"/"+d),c.urls[n]=d.substring(0,d.lastIndexOf("/")),c.lookup[n]?u():e.ScriptLoader.add(d,u,s,l))}},r.PluginManager=new r,r.ThemeManager=new r,r}),r(_,[],function(){function e(e){return function(t){return!!t&&t.nodeType==e}}function t(e){return e=e.toLowerCase().split(" "),function(t){var n,r;if(t&&t.nodeType)for(r=t.nodeName.toLowerCase(),n=0;nn.length-1?t=n.length-1:t<0&&(t=0),n[t]||e}function s(e,t,n){for(;e&&e!==t;){if(n(e))return e;e=e.parentNode}return null}function l(e,t,n){return null!==s(e,t,n)}function u(e){return"_mce_caret"===e.id}function c(e,t){return v(e)&&l(e,t,u)===!1}function d(e){this.walk=function(t,n){function r(e){var t;return t=e[0],3===t.nodeType&&t===l&&u>=t.nodeValue.length&&e.splice(0,1),t=e[e.length-1],0===d&&e.length>0&&t===c&&3===t.nodeType&&e.splice(e.length-1,1),e}function i(e,t,n){for(var r=[];e&&e!=n;e=e[t])r.push(e);return r}function o(e,t){do{if(e.parentNode==t)return e;e=e.parentNode}while(e)}function s(e,t,o){var a=o?"nextSibling":"previousSibling";for(g=e,v=g.parentNode;g&&g!=t;g=v)v=g.parentNode,y=i(g==e?g:g[a],a),y.length&&(o||y.reverse(),n(r(y)))}var l=t.startContainer,u=t.startOffset,c=t.endContainer,d=t.endOffset,f,p,m,g,v,y,b;if(b=e.select("td[data-mce-selected],th[data-mce-selected]"),b.length>0)return void h(b,function(e){n([e])});if(1==l.nodeType&&l.hasChildNodes()&&(l=l.childNodes[u]),1==c.nodeType&&c.hasChildNodes()&&(c=a(c,d)),l==c)return n(r([l]));for(f=e.findCommonAncestor(l,c),g=l;g;g=g.parentNode){if(g===c)return s(l,f,!0);if(g===f)break}for(g=c;g;g=g.parentNode){if(g===l)return s(c,f);if(g===f)break}p=o(l,f)||l,m=o(c,f)||c,s(l,p,!0),y=i(p==l?p:p.nextSibling,"nextSibling",m==c?m.nextSibling:m),y.length&&n(r(y)),s(c,m)},this.split=function(e){function t(e,t){return e.splitText(t)}var n=e.startContainer,r=e.startOffset,i=e.endContainer,o=e.endOffset;return n==i&&3==n.nodeType?r>0&&rr?(o-=r,n=i=t(i,o).previousSibling,o=i.nodeValue.length,r=0):o=0):(3==n.nodeType&&r>0&&r0&&o0)return f=y,p=n?y.nodeValue.length:0,void(i=!0);if(e.isBlock(y)||b[y.nodeName.toLowerCase()])return;s=y}o&&s&&(f=s,i=!0,p=0)}var f,p,h,m=e.getRoot(),y,b,C,x;if(f=n[(r?"start":"end")+"Container"],p=n[(r?"start":"end")+"Offset"],x=1==f.nodeType&&p===f.childNodes.length,b=e.schema.getNonEmptyElements(),C=r,!v(f)){if(1==f.nodeType&&p>f.childNodes.length-1&&(C=!1),9===f.nodeType&&(f=e.getRoot(),p=0),f===m){if(C&&(y=f.childNodes[p>0?p-1:0])){if(v(y))return;if(b[y.nodeName]||"TABLE"==y.nodeName)return}if(f.hasChildNodes()){if(p=Math.min(!C&&p>0?p-1:p,f.childNodes.length-1),f=f.childNodes[p],p=0,!o&&f===m.lastChild&&"TABLE"===f.nodeName)return;if(l(f)||v(f))return;if(f.hasChildNodes()&&!/TABLE/.test(f.nodeName)){y=f,h=new t(f,m);do{if(g(y)||v(y)){i=!1;break}if(3===y.nodeType&&y.nodeValue.length>0){p=C?0:y.nodeValue.length,f=y,i=!0;break}if(b[y.nodeName.toLowerCase()]&&!a(y)){p=e.nodeIndex(y),f=y.parentNode,"IMG"!=y.nodeName||C||p++,i=!0;break}}while(y=C?h.next():h.prev())}}}o&&(3===f.nodeType&&0===p&&d(!0),1===f.nodeType&&(y=f.childNodes[p],y||(y=f.childNodes[p-1]),!y||"BR"!==y.nodeName||u(y,"A")||s(y)||s(y,!0)||d(!0,y))),C&&!o&&3===f.nodeType&&p===f.nodeValue.length&&d(!1),i&&n["set"+(r?"Start":"End")](f,p)}}var i,o;return o=n.collapsed,r(!0),o||r(),i&&o&&n.collapse(!0),i}}function f(t,n,r){var i,o,a;if(i=r.elementFromPoint(t,n),o=r.body.createTextRange(),i&&"HTML"!=i.tagName||(i=r.body),o.moveToElementText(i),a=e.toArray(o.getClientRects()),a=a.sort(function(e,t){return e=Math.abs(Math.max(e.top-n,e.bottom-n)),t=Math.abs(Math.max(t.top-n,t.bottom-n)),e-t}),a.length>0){n=(a[0].bottom+a[0].top)/2;try{return o.moveToPoint(t,n),o.collapse(!0),o}catch(s){}}return null}function p(e,t){var n=e&&e.parentElement?e.parentElement():null;return g(s(n,t,o))?null:e}var h=e.each,m=n.isContentEditableTrue,g=n.isContentEditableFalse,v=i.isCaretContainer;return d.compareRanges=function(e,t){if(e&&t){if(!e.item&&!e.duplicate)return e.startContainer==t.startContainer&&e.startOffset==t.startOffset;if(e.item&&t.item&&e.item(0)===t.item(0))return!0;if(e.isEqual&&t.isEqual&&t.isEqual(e))return!0}return!1},d.getCaretRangeFromPoint=function(e,t,n){var r,i;if(n.caretPositionFromPoint)i=n.caretPositionFromPoint(e,t),r=n.createRange(),r.setStart(i.offsetNode,i.offset),r.collapse(!0);else if(n.caretRangeFromPoint)r=n.caretRangeFromPoint(e,t);else if(n.body.createTextRange){r=n.body.createTextRange();try{r.moveToPoint(e,t),r.collapse(!0)}catch(o){r=f(e,t,n)}return p(r,n.body)}return r},d.getSelectedNode=function(e){var t=e.startContainer,n=e.startOffset;return t.hasChildNodes()&&e.endOffset==n+1?t.childNodes[n]:null},d.getNode=function(e,t){return 1==e.nodeType&&e.hasChildNodes()&&(t>=e.childNodes.length&&(t=e.childNodes.length-1),e=e.childNodes[t]),e},d}),r(R,[T,d,c],function(e,t,n){return function(r){function i(e){var t,n;if(n=r.$(e).parentsUntil(r.getBody()).add(e),n.length===a.length){for(t=n.length;t>=0&&n[t]===a[t];t--);if(t===-1)return a=n,!0}return a=n,!1}var o,a=[];"onselectionchange"in r.getDoc()||r.on("NodeChange Click MouseUp KeyUp Focus",function(t){var n,i;n=r.selection.getRng(),i={startContainer:n.startContainer,startOffset:n.startOffset,endContainer:n.endContainer,endOffset:n.endOffset},"nodechange"!=t.type&&e.compareRanges(i,o)||r.fire("SelectionChange"),o=i}),r.on("contextmenu",function(){r.fire("SelectionChange")}),r.on("SelectionChange",function(){var e=r.selection.getStart(!0);!t.range&&r.selection.isCollapsed()||!i(e)&&r.dom.isChildOf(e,r.getBody())&&r.nodeChanged({selectionChange:!0})}),r.on("MouseUp",function(e){e.isDefaultPrevented()||("IMG"==r.selection.getNode().nodeName?n.setEditorTimeout(r,function(){r.nodeChanged()}):r.nodeChanged())}),this.nodeChanged=function(e){var t=r.selection,n,i,o;r.initialized&&t&&!r.settings.disable_nodechange&&!r.readonly&&(o=r.getBody(),n=t.getStart()||o,n.ownerDocument==r.getDoc()&&r.dom.isChildOf(n,o)||(n=o),"IMG"==n.nodeName&&t.isCollapsed()&&(n=n.parentNode),i=[],r.dom.getParent(n,function(e){return e===o||void i.push(e)}),e=e||{},e.element=n,e.parents=i,r.fire("NodeChange",e))}}}),r(A,[],function(){function e(e,t,n){var r,i,o=n?"lastChild":"firstChild",a=n?"prev":"next";if(e[o])return e[o];if(e!==t){if(r=e[a])return r;for(i=e.parent;i&&i!==t;i=i.parent)if(r=i[a])return r}}function t(e,t){this.name=e,this.type=t,1===t&&(this.attributes=[],this.attributes.map={})}var n=/^[ \t\r\n]*$/,r={"#text":3,"#comment":8,"#cdata":4,"#pi":7,"#doctype":10,"#document-fragment":11};return t.prototype={replace:function(e){var t=this;return e.parent&&e.remove(),t.insert(e,t),t.remove(),t},attr:function(e,t){var n=this,r,i,o;if("string"!=typeof e){for(i in e)n.attr(i,e[i]);return n}if(r=n.attributes){if(t!==o){if(null===t){if(e in r.map)for(delete r.map[e],i=r.length;i--;)if(r[i].name===e)return r=r.splice(i,1),n;return n}if(e in r.map){for(i=r.length;i--;)if(r[i].name===e){r[i].value=t;break}}else r.push({name:e,value:t});return r.map[e]=t,n}return r.map[e]}},clone:function(){var e=this,n=new t(e.name,e.type),r,i,o,a,s;if(o=e.attributes){for(s=[],s.map={},r=0,i=o.length;r