├── .babelrc ├── .editorconfig ├── .eslintignore ├── .eslintrc.js ├── .gitignore ├── .postcssrc.js ├── .vscode └── settings.json ├── README.md ├── build ├── build.js ├── check-versions.js ├── dev-client.js ├── dev-server.js ├── utils.js ├── vue-loader.conf.js ├── webpack.base.conf.js ├── webpack.dev.conf.js ├── webpack.prod.conf.js └── webpack.test.conf.js ├── config ├── dev.env.js ├── index.js ├── prod.env.js └── test.env.js ├── docs ├── svg │ ├── data.svg │ ├── decision.svg │ ├── document.svg │ ├── manualInput.svg │ ├── process.svg │ ├── start.svg │ ├── storeData.svg │ ├── terminator.svg │ └── 图标制作模版.ai ├── 基础配置.md └── 教程.md ├── element-variables.css ├── index.html ├── package-lock.json ├── package.json ├── src ├── App.vue ├── api │ ├── fetch.js │ └── index.js ├── assets │ ├── arrow.png │ ├── bg.png │ ├── bg.svg │ ├── iconfont.js │ └── point.png ├── components │ └── icon.js ├── main.js ├── router │ └── index.js ├── store │ ├── flow.js │ └── index.js ├── style │ └── common.scss └── views │ └── flow │ ├── Flow.vue │ ├── FlowArrow.vue │ ├── FlowCrumbs.vue │ ├── FlowHeader.vue │ ├── FlowLeftTool.vue │ ├── FlowLine.vue │ ├── FlowLineDraw.vue │ ├── FlowMainDraw.vue │ ├── FlowNode.vue │ ├── FlowNodeDraw.vue │ ├── FlowPath.vue │ ├── FlowRefLine.vue │ ├── FlowRight.vue │ ├── FlowTopTool.vue │ ├── ToolMenu.vue │ ├── components │ └── SvgImage.vue │ ├── flow.scss │ └── utils │ └── index.js ├── static └── .gitkeep ├── test ├── e2e │ ├── custom-assertions │ │ └── elementCount.js │ ├── nightwatch.conf.js │ ├── runner.js │ └── specs │ │ └── test.js └── unit │ ├── .eslintrc │ ├── index.js │ ├── karma.conf.js │ └── specs │ └── Hello.spec.js ├── theme ├── alert.css ├── autocomplete.css ├── badge.css ├── base.css ├── breadcrumb-item.css ├── breadcrumb.css ├── button-group.css ├── button.css ├── card.css ├── carousel-item.css ├── carousel.css ├── cascader.css ├── checkbox-button.css ├── checkbox-group.css ├── checkbox.css ├── col.css ├── collapse-item.css ├── collapse.css ├── color-picker.css ├── date-picker.css ├── dialog.css ├── dropdown-item.css ├── dropdown-menu.css ├── dropdown.css ├── element-variables.css ├── fonts │ ├── element-icons.ttf │ └── element-icons.woff ├── form-item.css ├── form.css ├── icon.css ├── index.css ├── input-number.css ├── input.css ├── loading.css ├── menu-item-group.css ├── menu-item.css ├── menu.css ├── message-box.css ├── message.css ├── notification.css ├── option-group.css ├── option.css ├── pagination.css ├── popover.css ├── progress.css ├── radio-button.css ├── radio-group.css ├── radio.css ├── rate.css ├── reset.css ├── row.css ├── scrollbar.css ├── select-dropdown.css ├── select.css ├── slider.css ├── spinner.css ├── step.css ├── steps.css ├── submenu.css ├── switch.css ├── tab-pane.css ├── table-column.css ├── table.css ├── tabs.css ├── tag.css ├── time-picker.css ├── time-select.css ├── tooltip.css ├── transfer.css ├── tree.css └── upload.css ├── vueflow.png └── yarn.lock /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | [ 4 | "env", 5 | { 6 | "modules": false, 7 | "targets": { 8 | "browsers": [ 9 | "> 1%", 10 | "last 2 versions", 11 | "not ie <= 8" 12 | ] 13 | } 14 | } 15 | ], 16 | "stage-2" 17 | ], 18 | "plugins": [ 19 | "transform-runtime", 20 | "transform-vue-jsx", 21 | [ 22 | "component", 23 | [ 24 | { 25 | "libraryName": "element-ui", 26 | "styleLibraryName": "~theme" 27 | } 28 | ] 29 | ], 30 | "lodash" 31 | ] 32 | } -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | insert_final_newline = false 9 | trim_trailing_whitespace = true 10 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | build/*.js 2 | config/*.js 3 | node_modules/** 4 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | // http://eslint.org/docs/user-guide/configuring 2 | 3 | module.exports = { 4 | root: true, 5 | parser: 'babel-eslint', 6 | parserOptions: { 7 | sourceType: 'module' 8 | }, 9 | env: { 10 | browser: true, 11 | }, 12 | // https://github.com/feross/standard/blob/master/RULES.md#javascript-standard-style 13 | // extends: 'standard', 14 | // required to lint *.vue files 15 | plugins: [ 16 | 'html' 17 | ], 18 | // add your custom rules here 19 | 'rules': { 20 | // allow paren-less arrow functions 21 | 'arrow-parens': 0, 22 | // allow async-await 23 | 'generator-star-spacing': 0, 24 | // allow debugger during development 25 | 'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | Thumbs.db 3 | db.json 4 | *.log 5 | node_modules/ 6 | .history/ -------------------------------------------------------------------------------- /.postcssrc.js: -------------------------------------------------------------------------------- 1 | // https://github.com/michael-ciniawsky/postcss-load-config 2 | 3 | module.exports = { 4 | "plugins": { 5 | // to edit target browsers: use "browserslist" field in package.json 6 | "autoprefixer": {} 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "git.ignoreLimitWarning": true 3 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## 基于vue+vuex+svg的流程图 2 | 3 | - [基础配置](./docs/基础配置.md) 4 | - [教程](./docs/教程.md) 5 | 6 | ## 预览 7 | 8 | ![预览](/vueflow.png) 9 | 10 | ## 快速运行 11 | 12 | ``` bash 13 | # install dependencies 14 | npm install 15 | 16 | # serve with hot reload at localhost:8081 17 | npm run dev 18 | 19 | ``` 20 | 21 | ## 其他 22 | 23 | JavaScript教程收集归纳,含有阮一峰,JavaScript高级程序设计,你不懂的JavaScript集合。[地址](https://befreefe.github.io/) 24 | 25 | [个人博客](https://leer0911.github.io/) -------------------------------------------------------------------------------- /build/build.js: -------------------------------------------------------------------------------- 1 | require('./check-versions')() 2 | 3 | process.env.NODE_ENV = 'production' 4 | 5 | var ora = require('ora') 6 | var rm = require('rimraf') 7 | var path = require('path') 8 | var chalk = require('chalk') 9 | var webpack = require('webpack') 10 | var config = require('../config') 11 | var webpackConfig = require('./webpack.prod.conf') 12 | 13 | var spinner = ora('building for production...') 14 | spinner.start() 15 | 16 | rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => { 17 | if (err) throw err 18 | webpack(webpackConfig, function (err, stats) { 19 | spinner.stop() 20 | if (err) throw err 21 | process.stdout.write(stats.toString({ 22 | colors: true, 23 | modules: false, 24 | children: false, 25 | chunks: false, 26 | chunkModules: false 27 | }) + '\n\n') 28 | 29 | console.log(chalk.cyan(' Build complete.\n')) 30 | console.log(chalk.yellow( 31 | ' Tip: built files are meant to be served over an HTTP server.\n' + 32 | ' Opening index.html over file:// won\'t work.\n' 33 | )) 34 | }) 35 | }) 36 | -------------------------------------------------------------------------------- /build/check-versions.js: -------------------------------------------------------------------------------- 1 | var chalk = require('chalk') 2 | var semver = require('semver') 3 | var packageConfig = require('../package.json') 4 | var shell = require('shelljs') 5 | function exec (cmd) { 6 | return require('child_process').execSync(cmd).toString().trim() 7 | } 8 | 9 | var versionRequirements = [ 10 | { 11 | name: 'node', 12 | currentVersion: semver.clean(process.version), 13 | versionRequirement: packageConfig.engines.node 14 | } 15 | ] 16 | 17 | if (shell.which('npm')) { 18 | versionRequirements.push({ 19 | name: 'npm', 20 | currentVersion: exec('npm --version'), 21 | versionRequirement: packageConfig.engines.npm 22 | }) 23 | } 24 | 25 | module.exports = function () { 26 | var warnings = [] 27 | for (var i = 0; i < versionRequirements.length; i++) { 28 | var mod = versionRequirements[i] 29 | if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) { 30 | warnings.push(mod.name + ': ' + 31 | chalk.red(mod.currentVersion) + ' should be ' + 32 | chalk.green(mod.versionRequirement) 33 | ) 34 | } 35 | } 36 | 37 | if (warnings.length) { 38 | console.log('') 39 | console.log(chalk.yellow('To use this template, you must update following to modules:')) 40 | console.log() 41 | for (var i = 0; i < warnings.length; i++) { 42 | var warning = warnings[i] 43 | console.log(' ' + warning) 44 | } 45 | console.log() 46 | process.exit(1) 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /build/dev-client.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | require('eventsource-polyfill') 3 | var hotClient = require('webpack-hot-middleware/client?noInfo=true&reload=true') 4 | 5 | hotClient.subscribe(function (event) { 6 | if (event.action === 'reload') { 7 | window.location.reload() 8 | } 9 | }) 10 | -------------------------------------------------------------------------------- /build/dev-server.js: -------------------------------------------------------------------------------- 1 | require('./check-versions')() 2 | 3 | var config = require('../config') 4 | if (!process.env.NODE_ENV) { 5 | process.env.NODE_ENV = JSON.parse(config.dev.env.NODE_ENV) 6 | } 7 | 8 | var opn = require('opn') 9 | var path = require('path') 10 | var express = require('express') 11 | var webpack = require('webpack') 12 | var proxyMiddleware = require('http-proxy-middleware') 13 | var webpackConfig = process.env.NODE_ENV === 'testing' 14 | ? require('./webpack.prod.conf') 15 | : require('./webpack.dev.conf') 16 | 17 | // default port where dev server listens for incoming traffic 18 | var port = process.env.PORT || config.dev.port 19 | // automatically open browser, if not set will be false 20 | var autoOpenBrowser = !!config.dev.autoOpenBrowser 21 | // Define HTTP proxies to your custom API backend 22 | // https://github.com/chimurai/http-proxy-middleware 23 | var proxyTable = config.dev.proxyTable 24 | 25 | var app = express() 26 | var compiler = webpack(webpackConfig) 27 | 28 | var devMiddleware = require('webpack-dev-middleware')(compiler, { 29 | publicPath: webpackConfig.output.publicPath, 30 | quiet: true 31 | }) 32 | 33 | var hotMiddleware = require('webpack-hot-middleware')(compiler, { 34 | log: false, 35 | heartbeat: 2000 36 | }) 37 | // force page reload when html-webpack-plugin template changes 38 | compiler.plugin('compilation', function (compilation) { 39 | compilation.plugin('html-webpack-plugin-after-emit', function (data, cb) { 40 | hotMiddleware.publish({ action: 'reload' }) 41 | cb() 42 | }) 43 | }) 44 | 45 | // proxy api requests 46 | Object.keys(proxyTable).forEach(function (context) { 47 | var options = proxyTable[context] 48 | if (typeof options === 'string') { 49 | options = { target: options } 50 | } 51 | app.use(proxyMiddleware(options.filter || context, options)) 52 | }) 53 | 54 | // handle fallback for HTML5 history API 55 | app.use(require('connect-history-api-fallback')()) 56 | 57 | // serve webpack bundle output 58 | app.use(devMiddleware) 59 | 60 | // enable hot-reload and state-preserving 61 | // compilation error display 62 | app.use(hotMiddleware) 63 | 64 | // serve pure static assets 65 | var staticPath = path.posix.join(config.dev.assetsPublicPath, config.dev.assetsSubDirectory) 66 | app.use(staticPath, express.static('./static')) 67 | 68 | var uri = 'http://localhost:' + port 69 | 70 | var _resolve 71 | var readyPromise = new Promise(resolve => { 72 | _resolve = resolve 73 | }) 74 | 75 | console.log('> Starting dev server...') 76 | devMiddleware.waitUntilValid(() => { 77 | console.log('> Listening at ' + uri + '\n') 78 | // when env is testing, don't need open it 79 | if (autoOpenBrowser && process.env.NODE_ENV !== 'testing') { 80 | opn(uri) 81 | } 82 | _resolve() 83 | }) 84 | 85 | var server = app.listen(port) 86 | 87 | module.exports = { 88 | ready: readyPromise, 89 | close: () => { 90 | server.close() 91 | } 92 | } 93 | -------------------------------------------------------------------------------- /build/utils.js: -------------------------------------------------------------------------------- 1 | var path = require('path') 2 | var config = require('../config') 3 | var ExtractTextPlugin = require('extract-text-webpack-plugin') 4 | 5 | exports.assetsPath = function (_path) { 6 | var assetsSubDirectory = process.env.NODE_ENV === 'production' 7 | ? config.build.assetsSubDirectory 8 | : config.dev.assetsSubDirectory 9 | return path.posix.join(assetsSubDirectory, _path) 10 | } 11 | 12 | exports.cssLoaders = function (options) { 13 | options = options || {} 14 | 15 | var cssLoader = { 16 | loader: 'css-loader', 17 | options: { 18 | minimize: process.env.NODE_ENV === 'production', 19 | sourceMap: options.sourceMap 20 | } 21 | } 22 | 23 | // generate loader string to be used with extract text plugin 24 | function generateLoaders (loader, loaderOptions) { 25 | var loaders = [cssLoader] 26 | if (loader) { 27 | loaders.push({ 28 | loader: loader + '-loader', 29 | options: Object.assign({}, loaderOptions, { 30 | sourceMap: options.sourceMap 31 | }) 32 | }) 33 | } 34 | 35 | // Extract CSS when that option is specified 36 | // (which is the case during production build) 37 | if (options.extract) { 38 | return ExtractTextPlugin.extract({ 39 | use: loaders, 40 | fallback: 'vue-style-loader' 41 | }) 42 | } else { 43 | return ['vue-style-loader'].concat(loaders) 44 | } 45 | } 46 | 47 | // https://vue-loader.vuejs.org/en/configurations/extract-css.html 48 | return { 49 | css: generateLoaders(), 50 | postcss: generateLoaders(), 51 | less: generateLoaders('less'), 52 | sass: generateLoaders('sass', { indentedSyntax: true }), 53 | scss: generateLoaders('sass'), 54 | stylus: generateLoaders('stylus'), 55 | styl: generateLoaders('stylus') 56 | } 57 | } 58 | 59 | // Generate loaders for standalone style files (outside of .vue) 60 | exports.styleLoaders = function (options) { 61 | var output = [] 62 | var loaders = exports.cssLoaders(options) 63 | for (var extension in loaders) { 64 | var loader = loaders[extension] 65 | output.push({ 66 | test: new RegExp('\\.' + extension + '$'), 67 | use: loader 68 | }) 69 | } 70 | return output 71 | } 72 | -------------------------------------------------------------------------------- /build/vue-loader.conf.js: -------------------------------------------------------------------------------- 1 | var utils = require('./utils') 2 | var config = require('../config') 3 | var isProduction = process.env.NODE_ENV === 'production' 4 | 5 | module.exports = { 6 | loaders: utils.cssLoaders({ 7 | sourceMap: isProduction 8 | ? config.build.productionSourceMap 9 | : config.dev.cssSourceMap, 10 | extract: isProduction 11 | }), 12 | transformToRequire: { 13 | video: 'src', 14 | source: 'src', 15 | img: 'src', 16 | image: 'xlink:href' 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /build/webpack.base.conf.js: -------------------------------------------------------------------------------- 1 | var path = require('path') 2 | var utils = require('./utils') 3 | var config = require('../config') 4 | var vueLoaderConfig = require('./vue-loader.conf') 5 | 6 | function resolve (dir) { 7 | return path.join(__dirname, '..', dir) 8 | } 9 | 10 | module.exports = { 11 | entry: { 12 | app: './src/main.js' 13 | }, 14 | output: { 15 | path: config.build.assetsRoot, 16 | filename: '[name].js', 17 | publicPath: process.env.NODE_ENV === 'production' 18 | ? config.build.assetsPublicPath 19 | : config.dev.assetsPublicPath 20 | }, 21 | resolve: { 22 | extensions: ['.js', '.vue', '.json'], 23 | alias: { 24 | 'vue$': 'vue/dist/vue.esm.js', 25 | '@': resolve('src'), 26 | 'api': resolve('src/api'), 27 | 'assets': resolve('src/assets'), 28 | 'components': resolve('src/components'), 29 | 'plugins': resolve('src/plugins'), 30 | 'style': resolve('src/style'), 31 | 'views': resolve('src/views'), 32 | 'static': resolve('src/static') 33 | } 34 | }, 35 | module: { 36 | rules: [ 37 | { 38 | test: /\.(js|vue)$/, 39 | loader: 'eslint-loader', 40 | enforce: 'pre', 41 | include: [resolve('src'), resolve('test')], 42 | options: { 43 | formatter: require('eslint-friendly-formatter') 44 | } 45 | }, 46 | { 47 | test: /\.vue$/, 48 | loader: 'vue-loader', 49 | options: vueLoaderConfig 50 | }, 51 | { 52 | test: /\.js$/, 53 | loader: 'babel-loader', 54 | include: [resolve('src'), resolve('test')] 55 | }, 56 | { 57 | test: /\.(png|jpe?g|gif|svg)(\?.*)?$/, 58 | loader: 'url-loader', 59 | options: { 60 | limit: 10000, 61 | name: utils.assetsPath('img/[name].[hash:7].[ext]') 62 | } 63 | }, 64 | { 65 | test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/, 66 | loader: 'url-loader', 67 | options: { 68 | limit: 10000, 69 | name: utils.assetsPath('media/[name].[hash:7].[ext]') 70 | } 71 | }, 72 | { 73 | test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/, 74 | loader: 'url-loader', 75 | options: { 76 | limit: 10000, 77 | name: utils.assetsPath('fonts/[name].[hash:7].[ext]') 78 | } 79 | } 80 | ] 81 | } 82 | } 83 | -------------------------------------------------------------------------------- /build/webpack.dev.conf.js: -------------------------------------------------------------------------------- 1 | var utils = require('./utils') 2 | var webpack = require('webpack') 3 | var config = require('../config') 4 | var merge = require('webpack-merge') 5 | var baseWebpackConfig = require('./webpack.base.conf') 6 | var HtmlWebpackPlugin = require('html-webpack-plugin') 7 | var FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin') 8 | 9 | // add hot-reload related code to entry chunks 10 | Object.keys(baseWebpackConfig.entry).forEach(function (name) { 11 | baseWebpackConfig.entry[name] = ['./build/dev-client'].concat(baseWebpackConfig.entry[name]) 12 | }) 13 | 14 | module.exports = merge(baseWebpackConfig, { 15 | module: { 16 | rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap }) 17 | }, 18 | // cheap-module-eval-source-map is faster for development 19 | devtool: '#cheap-module-eval-source-map', 20 | plugins: [ 21 | new webpack.DefinePlugin({ 22 | 'process.env': config.dev.env 23 | }), 24 | // https://github.com/glenjamin/webpack-hot-middleware#installation--usage 25 | new webpack.HotModuleReplacementPlugin(), 26 | new webpack.NoEmitOnErrorsPlugin(), 27 | // https://github.com/ampedandwired/html-webpack-plugin 28 | new HtmlWebpackPlugin({ 29 | filename: 'index.html', 30 | template: 'index.html', 31 | inject: true 32 | }), 33 | new FriendlyErrorsPlugin() 34 | ] 35 | }) 36 | -------------------------------------------------------------------------------- /build/webpack.prod.conf.js: -------------------------------------------------------------------------------- 1 | var path = require('path') 2 | var utils = require('./utils') 3 | var webpack = require('webpack') 4 | var config = require('../config') 5 | var merge = require('webpack-merge') 6 | var baseWebpackConfig = require('./webpack.base.conf') 7 | var CopyWebpackPlugin = require('copy-webpack-plugin') 8 | var HtmlWebpackPlugin = require('html-webpack-plugin') 9 | var ExtractTextPlugin = require('extract-text-webpack-plugin') 10 | var OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin') 11 | var Ugjs = require('uglifyjs-webpack-plugin') 12 | 13 | var env = process.env.NODE_ENV === 'testing' 14 | ? require('../config/test.env') 15 | : config.build.env 16 | 17 | var webpackConfig = merge(baseWebpackConfig, { 18 | module: { 19 | rules: utils.styleLoaders({ 20 | sourceMap: config.build.productionSourceMap, 21 | extract: true 22 | }) 23 | }, 24 | devtool: config.build.productionSourceMap ? '#source-map' : false, 25 | output: { 26 | path: config.build.assetsRoot, 27 | filename: utils.assetsPath('js/[name].[chunkhash].js'), 28 | chunkFilename: utils.assetsPath('js/[id].[chunkhash].js') 29 | }, 30 | plugins: [ 31 | // http://vuejs.github.io/vue-loader/en/workflow/production.html 32 | new webpack.DefinePlugin({ 33 | 'process.env': env 34 | }), 35 | // new webpack.optimize.UglifyJsPlugin({ 36 | // compress: { 37 | // warnings: false 38 | // }, 39 | // sourceMap: true 40 | // }), 41 | new Ugjs({ 42 | parallel: true 43 | }), 44 | // extract css into its own file 45 | new ExtractTextPlugin({ 46 | filename: utils.assetsPath('css/[name].[contenthash].css') 47 | }), 48 | // Compress extracted CSS. We are using this plugin so that possible 49 | // duplicated CSS from different components can be deduped. 50 | new OptimizeCSSPlugin({ 51 | cssProcessorOptions: { 52 | safe: true 53 | } 54 | }), 55 | // generate dist index.html with correct asset hash for caching. 56 | // you can customize output by editing /index.html 57 | // see https://github.com/ampedandwired/html-webpack-plugin 58 | new HtmlWebpackPlugin({ 59 | filename: process.env.NODE_ENV === 'testing' 60 | ? 'index.html' 61 | : config.build.index, 62 | template: 'index.html', 63 | inject: true, 64 | minify: { 65 | removeComments: true, 66 | collapseWhitespace: true, 67 | removeAttributeQuotes: true 68 | // more options: 69 | // https://github.com/kangax/html-minifier#options-quick-reference 70 | }, 71 | // necessary to consistently work with multiple chunks via CommonsChunkPlugin 72 | chunksSortMode: 'dependency' 73 | }), 74 | // split vendor js into its own file 75 | new webpack.optimize.CommonsChunkPlugin({ 76 | name: 'vendor', 77 | minChunks: function (module, count) { 78 | // any required modules inside node_modules are extracted to vendor 79 | return ( 80 | module.resource && 81 | /\.js$/.test(module.resource) && 82 | module.resource.indexOf( 83 | path.join(__dirname, '../node_modules') 84 | ) === 0 85 | ) 86 | } 87 | }), 88 | // extract webpack runtime and module manifest to its own file in order to 89 | // prevent vendor hash from being updated whenever app bundle is updated 90 | new webpack.optimize.CommonsChunkPlugin({ 91 | name: 'manifest', 92 | chunks: ['vendor'] 93 | }), 94 | // copy custom static assets 95 | new CopyWebpackPlugin([ 96 | { 97 | from: path.resolve(__dirname, '../static'), 98 | to: config.build.assetsSubDirectory, 99 | ignore: ['.*'] 100 | } 101 | ]) 102 | ] 103 | }) 104 | 105 | if (config.build.productionGzip) { 106 | var CompressionWebpackPlugin = require('compression-webpack-plugin') 107 | 108 | webpackConfig.plugins.push( 109 | new CompressionWebpackPlugin({ 110 | asset: '[path].gz[query]', 111 | algorithm: 'gzip', 112 | test: new RegExp( 113 | '\\.(' + 114 | config.build.productionGzipExtensions.join('|') + 115 | ')$' 116 | ), 117 | threshold: 10240, 118 | minRatio: 0.8 119 | }) 120 | ) 121 | } 122 | 123 | if (config.build.bundleAnalyzerReport) { 124 | var BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin 125 | webpackConfig.plugins.push(new BundleAnalyzerPlugin()) 126 | } 127 | 128 | module.exports = webpackConfig 129 | -------------------------------------------------------------------------------- /build/webpack.test.conf.js: -------------------------------------------------------------------------------- 1 | // This is the webpack config used for unit tests. 2 | 3 | var utils = require('./utils') 4 | var webpack = require('webpack') 5 | var merge = require('webpack-merge') 6 | var baseConfig = require('./webpack.base.conf') 7 | 8 | var webpackConfig = merge(baseConfig, { 9 | // use inline sourcemap for karma-sourcemap-loader 10 | module: { 11 | rules: utils.styleLoaders() 12 | }, 13 | devtool: '#inline-source-map', 14 | resolveLoader: { 15 | alias: { 16 | // necessary to to make lang="scss" work in test when using vue-loader's ?inject option 17 | // see discussion at https://github.com/vuejs/vue-loader/issues/724 18 | 'scss-loader': 'sass-loader' 19 | } 20 | }, 21 | plugins: [ 22 | new webpack.DefinePlugin({ 23 | 'process.env': require('../config/test.env') 24 | }) 25 | ] 26 | }) 27 | 28 | // no need for app entry during tests 29 | delete webpackConfig.entry 30 | 31 | module.exports = webpackConfig 32 | -------------------------------------------------------------------------------- /config/dev.env.js: -------------------------------------------------------------------------------- 1 | var merge = require('webpack-merge') 2 | var prodEnv = require('./prod.env') 3 | 4 | module.exports = merge(prodEnv, { 5 | NODE_ENV: '"development"' 6 | }) 7 | -------------------------------------------------------------------------------- /config/index.js: -------------------------------------------------------------------------------- 1 | // see http://vuejs-templates.github.io/webpack for documentation. 2 | var path = require('path') 3 | 4 | module.exports = { 5 | build: { 6 | env: require('./prod.env'), 7 | index: path.resolve(__dirname, '../dist/index.html'), 8 | assetsRoot: path.resolve(__dirname, '../dist'), 9 | assetsSubDirectory: 'static', 10 | assetsPublicPath: '/', 11 | productionSourceMap: false, 12 | // Gzip off by default as many popular static hosts such as 13 | // Surge or Netlify already gzip all static assets for you. 14 | // Before setting to `true`, make sure to: 15 | // npm install --save-dev compression-webpack-plugin 16 | productionGzip: false, 17 | productionGzipExtensions: ['js', 'css'], 18 | // Run the build command with an extra argument to 19 | // View the bundle analyzer report after build finishes: 20 | // `npm run build --report` 21 | // Set to `true` or `false` to always turn it on or off 22 | bundleAnalyzerReport: process.env.npm_config_report 23 | }, 24 | dev: { 25 | env: require('./dev.env'), 26 | port: 8081, 27 | autoOpenBrowser: true, 28 | assetsSubDirectory: 'static', 29 | assetsPublicPath: '/', 30 | proxyTable: {}, 31 | // CSS Sourcemaps off by default because relative paths are "buggy" 32 | // with this option, according to the CSS-Loader README 33 | // (https://github.com/webpack/css-loader#sourcemaps) 34 | // In our experience, they generally work as expected, 35 | // just be aware of this issue when enabling this option. 36 | cssSourceMap: false 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /config/prod.env.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | NODE_ENV: '"production"' 3 | } 4 | -------------------------------------------------------------------------------- /config/test.env.js: -------------------------------------------------------------------------------- 1 | var merge = require('webpack-merge') 2 | var devEnv = require('./dev.env') 3 | 4 | module.exports = merge(devEnv, { 5 | NODE_ENV: '"testing"' 6 | }) 7 | -------------------------------------------------------------------------------- /docs/svg/图标制作模版.ai: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leer0911/myVueDemo/a7e1ea7bf9d41cea68409030d22f830e3d852281/docs/svg/图标制作模版.ai -------------------------------------------------------------------------------- /docs/基础配置.md: -------------------------------------------------------------------------------- 1 | # 基础配置 2 | 3 | 本项目基于vue-cli自动构建。在项目最初搭建时,可能会新增scss支持,ElementUI按需引入等,下面将简单介绍对应用法。 4 | 5 | ## 如何添加 scss 支持 6 | 7 | yarn 安装 node-sass 8 | 9 | ```bash 10 | # 设置node-sass二进制源 11 | yarn config set sass_binary_site http://cdn.npm.taobao.org/dist/node-sass -g 12 | 13 | # 安装依赖 14 | yarn add node-sass -D 15 | 16 | yarn add sass -D 17 | 18 | yarn add sass-loader -D 19 | 20 | yarn add scss-loader -D 21 | 22 | yarn add scss-loader -D 23 | 24 | ``` 25 | 26 | ## element 主题自定义 27 | 28 | 项目后期将集成到基于Element UI搭建的后台系统,以下为ElementUI自定义主题步骤: 29 | 30 | ```bash 31 | npm i element-theme -g 32 | npm i element-theme-default -D 33 | 34 | # 自定义变量文件 35 | et -i 36 | 37 | # 编译主题 38 | et 39 | ``` 40 | 41 | ## element 按需引入 42 | 43 | > 借助 [babel-plugin-component](https://github.com/QingWei-Li/babel-plugin-component) 44 | > [babelrc](http://www.ruanyifeng.com/blog/2016/01/babel.html) 45 | ```bash 46 | npm install babel-plugin-component -D 47 | ``` 48 | 49 | 然后,将 .babelrc 修改为: 50 | 51 | ```json 52 | { 53 | "presets": [ 54 | ["es2015", { "modules": false }] 55 | ], 56 | "plugins": [["component", [ 57 | { 58 | "libraryName": "element-ui", 59 | "styleLibraryName": "theme-default" 60 | } 61 | ]]] 62 | } 63 | ``` 64 | 65 | ## lodash ES6开发环境 66 | 67 | 如果有使用lodash可以添加ES6开发环境 68 | 69 | ```bash 70 | yarn add lodash 71 | yarn add babel-plugin-lodash -D 72 | ``` 73 | 74 | ## webpack相关 75 | 76 | [webpack优化指南](https://segmentfault.com/a/1190000007891318) 77 | 78 | vendor过大问题 79 | 80 | 建议使用gzip,使用之后体积会只有原先1/3左右。还可以使用懒加载或者[Code Splitting](https://zhuanlan.zhihu.com/p/26710831)。打出来的 app.js 过大,查看一下是不是Uglify配置不正确或者sourceMap没弄对。 优化相关请看[该文章](https://zhuanlan.zhihu.com/p/27710902) 81 | 82 | > 备注:加速打包速度应用了 [uglifyjs-webpack-plugin](https://github.com/aui/uglifyjs-webpack-plugin) 主要开启 parallel 平行打包以及缓存文件来提速 83 | 84 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | platform 6 | 7 | 8 |
9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "platform", 3 | "version": "1.0.0", 4 | "description": " platform", 5 | "author": "leer0911 <445220716@qq.com>", 6 | "private": true, 7 | "scripts": { 8 | "dev": "node build/dev-server.js", 9 | "start": "node build/dev-server.js", 10 | "build": "node build/build.js", 11 | "unit": "cross-env BABEL_ENV=test karma start test/unit/karma.conf.js --single-run", 12 | "e2e": "node test/e2e/runner.js", 13 | "test": "npm run unit && npm run e2e", 14 | "lint": "eslint --ext .js,.vue src test/unit/specs test/e2e/specs" 15 | }, 16 | "dependencies": { 17 | "axios": "^0.16.2", 18 | "d3": "^5.4.0", 19 | "element-theme": "^0.7.2", 20 | "element-ui": "^1.4.2", 21 | "immutable": "^3.8.1", 22 | "js-cookie": "^2.1.4", 23 | "lodash": "^4.17.4", 24 | "qs": "^6.5.0", 25 | "vue": "^2.3.3", 26 | "vue-router": "^2.6.0", 27 | "vuex": "^2.4.0" 28 | }, 29 | "devDependencies": { 30 | "autoprefixer": "^7.1.2", 31 | "babel-core": "^6.22.1", 32 | "babel-eslint": "^7.1.1", 33 | "babel-helper-vue-jsx-merge-props": "^2.0.2", 34 | "babel-loader": "^7.1.1", 35 | "babel-plugin-component": "^0.10.0", 36 | "babel-plugin-istanbul": "^4.1.1", 37 | "babel-plugin-lodash": "^3.2.11", 38 | "babel-plugin-syntax-jsx": "^6.18.0", 39 | "babel-plugin-transform-runtime": "^6.22.0", 40 | "babel-plugin-transform-vue-jsx": "^3.5.0", 41 | "babel-preset-env": "^1.3.2", 42 | "babel-preset-es2015": "^6.24.1", 43 | "babel-preset-stage-2": "^6.22.0", 44 | "babel-register": "^6.22.0", 45 | "chai": "^3.5.0", 46 | "chalk": "^2.0.1", 47 | "chromedriver": "^2.27.2", 48 | "connect-history-api-fallback": "^1.3.0", 49 | "copy-webpack-plugin": "^4.0.1", 50 | "cross-env": "^5.0.1", 51 | "cross-spawn": "^5.0.1", 52 | "css-loader": "^0.28.0", 53 | "cssnano": "^3.10.0", 54 | "element-theme-default": "^1.4.2", 55 | "eslint": "^3.19.0", 56 | "eslint-config-standard": "^6.2.1", 57 | "eslint-friendly-formatter": "^3.0.0", 58 | "eslint-loader": "^1.7.1", 59 | "eslint-plugin-html": "^3.0.0", 60 | "eslint-plugin-promise": "^3.4.0", 61 | "eslint-plugin-standard": "^2.0.1", 62 | "eventsource-polyfill": "^0.9.6", 63 | "express": "^4.14.1", 64 | "extract-text-webpack-plugin": "^2.0.0", 65 | "file-loader": "^0.11.1", 66 | "friendly-errors-webpack-plugin": "^1.1.3", 67 | "html-webpack-plugin": "^2.28.0", 68 | "http-proxy-middleware": "^0.17.3", 69 | "inject-loader": "^3.0.0", 70 | "karma": "^1.4.1", 71 | "karma-coverage": "^1.1.1", 72 | "karma-mocha": "^1.3.0", 73 | "karma-phantomjs-launcher": "^1.0.2", 74 | "karma-phantomjs-shim": "^1.4.0", 75 | "karma-sinon-chai": "^1.3.1", 76 | "karma-sourcemap-loader": "^0.3.7", 77 | "karma-spec-reporter": "0.0.31", 78 | "karma-webpack": "^2.0.2", 79 | "lolex": "^1.5.2", 80 | "mocha": "^3.2.0", 81 | "nightwatch": "^0.9.12", 82 | "node-sass": "^4.5.3", 83 | "opn": "^5.1.0", 84 | "optimize-css-assets-webpack-plugin": "^2.0.0", 85 | "ora": "^1.2.0", 86 | "phantomjs-prebuilt": "^2.1.14", 87 | "rimraf": "^2.6.0", 88 | "sass": "^1.0.0-beta.2", 89 | "sass-loader": "^6.0.6", 90 | "scss": "^0.2.4", 91 | "scss-loader": "^0.0.1", 92 | "selenium-server": "^3.0.1", 93 | "semver": "^5.3.0", 94 | "shelljs": "^0.7.6", 95 | "sinon": "^2.1.0", 96 | "sinon-chai": "^2.8.0", 97 | "uglifyjs-webpack-plugin": "^0.4.6", 98 | "url-loader": "^0.5.8", 99 | "vue-loader": "^12.1.0", 100 | "vue-style-loader": "^3.0.1", 101 | "vue-template-compiler": "^2.3.3", 102 | "webpack": "^2.6.1", 103 | "webpack-bundle-analyzer": "^2.2.1", 104 | "webpack-dev-middleware": "^1.10.0", 105 | "webpack-hot-middleware": "^2.18.0", 106 | "webpack-merge": "^4.1.0" 107 | }, 108 | "engines": { 109 | "node": ">= 4.0.0", 110 | "npm": ">= 3.0.0" 111 | }, 112 | "browserslist": [ 113 | "> 1%", 114 | "last 2 versions", 115 | "not ie <= 8" 116 | ] 117 | } 118 | -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 14 | 15 | -------------------------------------------------------------------------------- /src/api/fetch.js: -------------------------------------------------------------------------------- 1 | import axios from 'axios' 2 | import Qs from 'qs' 3 | import cookie from 'js-cookie' 4 | 5 | // 创建axios实例 6 | const USER_ID = cookie.get('userId') 7 | const service = axios.create({ 8 | baseURL: process.env.BASE_API, // api的base_url 9 | timeout: 5000, // 请求超时时间 10 | headers: { 'userId': USER_ID }, 11 | paramsSerializer (params) { // 过滤为空参数 12 | let obj = {} 13 | for (var i in params) { 14 | if (params[i] !== '') { 15 | obj[i] = params[i] 16 | } 17 | } 18 | return Qs.stringify(obj, { arrayFormat: 'brackets' }) 19 | } 20 | }) 21 | 22 | // respone拦截器 23 | service.interceptors.response.use( 24 | response => response, 25 | error => { 26 | console.log('err' + error)// for debug 27 | return Promise.reject(error) 28 | } 29 | ) 30 | 31 | export default service 32 | -------------------------------------------------------------------------------- /src/api/index.js: -------------------------------------------------------------------------------- 1 | import fetch from './fetch' 2 | 3 | // --------------------------- 用户登录 4 | export const apiLogin = (params) => { return fetch({ url: '/api/account/login', method: 'get', params: params }) } 5 | -------------------------------------------------------------------------------- /src/assets/arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leer0911/myVueDemo/a7e1ea7bf9d41cea68409030d22f830e3d852281/src/assets/arrow.png -------------------------------------------------------------------------------- /src/assets/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leer0911/myVueDemo/a7e1ea7bf9d41cea68409030d22f830e3d852281/src/assets/bg.png -------------------------------------------------------------------------------- /src/assets/bg.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/point.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leer0911/myVueDemo/a7e1ea7bf9d41cea68409030d22f830e3d852281/src/assets/point.png -------------------------------------------------------------------------------- /src/components/icon.js: -------------------------------------------------------------------------------- 1 | export default { 2 | props: { 3 | name: { 4 | type: String, 5 | required: true 6 | }, 7 | className: { 8 | type: String, 9 | default: 'icon' 10 | }, 11 | size: Number, 12 | width: Number, 13 | height: Number 14 | }, 15 | computed: { 16 | fullName() { 17 | const { name, className } = this 18 | const prefix = `${className}-` 19 | return name.indexOf(prefix) === 0 ? name : prefix + name 20 | }, 21 | style() { 22 | const { size, width, height } = this 23 | return { 24 | width: width ? width + 'px' : (size ? size + 'px' : ''), 25 | height: height ? height + 'px' : (size ? size + 'px' : '') 26 | } 27 | } 28 | }, 29 | render(h) { 30 | const { className, fullName, style } = this 31 | return ( 32 | 33 | 34 | 35 | ) 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/main.js: -------------------------------------------------------------------------------- 1 | // The Vue build version to load with the `import` command 2 | // (runtime-only or standalone) has been set in webpack.base.conf with an alias. 3 | import Vue from 'vue' 4 | import App from './App' 5 | import router from './router' 6 | import store from './store' 7 | 8 | // element UI 9 | import '../theme/index.css' 10 | // import { Button, Select } from 'element-ui' 11 | import './assets/iconfont.js' // Symbol 代码 12 | import vueIconfont from 'components/icon.js' // icon 组件 13 | 14 | Vue.component('icon', vueIconfont) 15 | 16 | // Vue.component(Button.name, Button) 17 | // Vue.component(Select.name, Select) 18 | Vue.config.productionTip = false 19 | 20 | // Vue.directive('drag', function (el) { 21 | // console.log(el) 22 | // el.onmousedown = function (ev) { 23 | // console.log(ev) 24 | // document.onmousemove = function (ev) { 25 | // let l = ev.clientX - 288 26 | // let t = ev.clientY - 170 27 | // let val = `translate(${l},${t}) scale(3)` 28 | // console.log(val) 29 | // el.setAttribute('transform', val) 30 | // console.log(el) 31 | // } 32 | // document.onmouseup = function () { 33 | // document.onmousemove = null 34 | // document.onmouseup = null 35 | // } 36 | // } 37 | // }) 38 | 39 | /* eslint-disable no-new */ 40 | new Vue({ 41 | el: '#app', 42 | router, 43 | template: '', 44 | components: { App }, 45 | store: store 46 | }) 47 | -------------------------------------------------------------------------------- /src/router/index.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import Router from 'vue-router' 3 | import flow from 'views/flow/flow' 4 | 5 | Vue.use(Router) 6 | 7 | export default new Router({ 8 | routes: [ 9 | { 10 | path: '/', 11 | redirect: '/flow' 12 | }, 13 | { 14 | path: '/flow', 15 | name: 'flow', 16 | component: flow 17 | } 18 | ] 19 | }) 20 | -------------------------------------------------------------------------------- /src/store/flow.js: -------------------------------------------------------------------------------- 1 | export const SEL_NODETYPE = 'SEL_NODETYPE' 2 | export const SEL_LINETYPE = 'SEL_LINETYPE' 3 | export const UPDATE_NODE = 'UPDATE_NODE' 4 | export const UPDATE_HOVER_NODE = 'UPDATE_HOVER_NODE' 5 | export const UPDATE_LINE = 'UPDATE_LINE' 6 | export const UPDATE_SHADOW_LINE = 'UPDATE_SHADOW_LINE' 7 | export const UPDATE_DRAWSTYLE = 'UPDATE_DRAWSTYLE' 8 | export const UNDO = 'UNDO' 9 | export const REDO = 'REDO' 10 | export const UPDATE_HISTORY = 'UPDATE_HISTORY' 11 | export const UPDATE_HISTORYINDEX = 'UPDATE_HISTORYINDEX' 12 | 13 | const store = { 14 | namespaced: true, 15 | state: { 16 | // 当前选中节点类型 17 | selNodeType: '', 18 | // 节点数据 19 | nodeData: {}, 20 | hoverNodeData: { 21 | id: '' 22 | }, 23 | // 连线数据 24 | lineData: null, 25 | shadowLineData: null, 26 | // 画布样式 27 | drawStyle: { 28 | zoomRate: 1 // 全局缩放比例 29 | }, 30 | selLineType: 'StraightLine', 31 | historyLength: 0, 32 | historyIndex: 0 33 | }, 34 | mutations: { 35 | // 选中节点类型 36 | [SEL_NODETYPE](state, value = '') { 37 | state.selNodeType = value 38 | }, 39 | // 选中线条类型 40 | [SEL_LINETYPE](state, value = '') { 41 | state.selLineType = value 42 | }, 43 | // 修改画布大小位置等 44 | [UPDATE_DRAWSTYLE](state, value) { 45 | state.drawStyle = { 46 | ...state.drawStyle, 47 | ...value 48 | } 49 | }, 50 | [UPDATE_NODE](state, value) { 51 | state.nodeData = { 52 | ...state.nodeData, 53 | ...value 54 | } 55 | }, 56 | [UPDATE_HOVER_NODE](state, value) { 57 | state.hoverNodeData = { 58 | ...state.hoverNodeData, 59 | ...value 60 | } 61 | }, 62 | [UPDATE_LINE](state, value) { 63 | state.lineData = { 64 | ...state.lineData, 65 | ...value 66 | } 67 | }, 68 | [UPDATE_SHADOW_LINE](state, value) { 69 | state.shadowLineData = value 70 | }, 71 | [UPDATE_HISTORY](state, value) { 72 | state.historyLength = value 73 | }, 74 | [UPDATE_HISTORYINDEX](state, value) { 75 | state.historyIndex = value 76 | }, 77 | [UNDO](state, value = 0) {}, 78 | [REDO](state, value = 0) {} 79 | }, 80 | actions: { 81 | 82 | } 83 | } 84 | 85 | export default store -------------------------------------------------------------------------------- /src/store/index.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import Vuex from 'vuex' 3 | import flow from './flow' 4 | // import _ from 'lodash' 5 | import { cloneDeep } from 'lodash/fp' 6 | // import { fromJS } from 'immutable' 7 | 8 | const undoRedoPlugin = (store) => { 9 | let firstState = cloneDeep(store.state); 10 | let length = undoRedoHistory.history.length 11 | let index = undoRedoHistory.currentIndex 12 | 13 | undoRedoHistory.init(store); 14 | undoRedoHistory.addState(firstState); 15 | 16 | store.subscribe((mutation, state) => { 17 | 18 | let filterMuation = [ 19 | // 'flow/SEL_NODETYPE', 20 | // 'flow/UPDATE_HISTORY', 21 | // 'flow/UPDATE_HISTORYINDEX', 22 | // 'flow/UNDO', 23 | // 'flow/REDO', 24 | // 'flow/UPDATE_DRAWSTYLE', 25 | 'flow/UPDATE_NODE', 26 | 'flow/UPDATE_LINE', 27 | ] 28 | let type = mutation.type 29 | let condition = filterMuation.indexOf(type) 30 | let length = undoRedoHistory.history.length 31 | let index = undoRedoHistory.currentIndex 32 | // 只有新增 33 | if (condition > -1) { 34 | undoRedoHistory.addState(cloneDeep(state)); 35 | if (index >= 0) { 36 | store.commit('flow/UPDATE_HISTORY', true) 37 | } else { 38 | store.commit('flow/UPDATE_HISTORY', false) 39 | } 40 | if (index !== length - 1) { 41 | store.commit('flow/UPDATE_HISTORYINDEX', true) 42 | } else { 43 | store.commit('flow/UPDATE_HISTORYINDEX', false) 44 | } 45 | } 46 | switch (type) { 47 | case 'flow/UNDO': 48 | if (index > 0) { 49 | undoRedoHistory.undo() 50 | } 51 | break; 52 | case 'flow/REDO': 53 | if (index !== length - 1) { 54 | undoRedoHistory.redo() 55 | } 56 | break; 57 | default: 58 | break; 59 | } 60 | }); 61 | } 62 | 63 | class UndoRedoHistory { 64 | store 65 | history = [] 66 | currentIndex = -1 67 | 68 | init(store) { 69 | this.store = store; 70 | } 71 | 72 | addState(state) { 73 | if (this.currentIndex + 1 < this.history.length) { 74 | this.history.splice(this.currentIndex + 1); 75 | } 76 | this.history.push(state); 77 | this.currentIndex++; 78 | } 79 | 80 | undo() { 81 | const prevState = this.history[this.currentIndex - 1]; 82 | this.store.replaceState(cloneDeep(prevState)); 83 | this.currentIndex--; 84 | this.changeState() 85 | } 86 | 87 | changeState(){ 88 | if (this.currentIndex > 0) { 89 | this.store.commit('flow/UPDATE_HISTORY', true) 90 | } else { 91 | this.store.commit('flow/UPDATE_HISTORY', false) 92 | } 93 | 94 | if (this.currentIndex !== this.history.length - 1) { 95 | this.store.commit('flow/UPDATE_HISTORYINDEX', true) 96 | } else { 97 | this.store.commit('flow/UPDATE_HISTORYINDEX', false) 98 | } 99 | } 100 | 101 | redo() { 102 | const nextState = this.history[this.currentIndex + 1]; 103 | this.store.replaceState(cloneDeep(nextState)); 104 | this.currentIndex++; 105 | this.changeState() 106 | } 107 | } 108 | 109 | const undoRedoHistory = new UndoRedoHistory(); 110 | 111 | Vue.use(Vuex) 112 | export default new Vuex.Store({ 113 | strict: process.env.NODE_ENV !== 'production', // 在非生产环境下,使用严格模式 114 | plugins: [undoRedoPlugin], 115 | modules: { 116 | flow 117 | } 118 | }) 119 | -------------------------------------------------------------------------------- /src/style/common.scss: -------------------------------------------------------------------------------- 1 | // 初始化 2 | body, div, span, header, footer, nav, section, aside, article, ul, dl, dt, dd, li, a, p, h1, h2, h3, h4,h5, h6, i, b, textarea, button, input, select, figure, figcaption, { 3 | padding: 0; 4 | margin: 0; 5 | list-style: none; 6 | font-style: normal; 7 | text-decoration: none; 8 | border: none; 9 | font-weight: normal; 10 | font-family: "Microsoft Yahei"; 11 | font-size: 14px; 12 | box-sizing: border-box; 13 | user-select: none; 14 | -webkit-tap-highlight-color:transparent; 15 | -webkit-font-smoothing: antialiased; 16 | &:hover{ 17 | outline: none; 18 | } 19 | 20 | } 21 | 22 | .icon { 23 | width: 1em; 24 | height: 1em; 25 | vertical-align: -0.15em; 26 | fill: currentColor; 27 | overflow: hidden; 28 | } 29 | 30 | ::-webkit-scrollbar { 31 | width: 12px; 32 | height: 12px; 33 | } 34 | ::-webkit-scrollbar-thumb { 35 | background: #c5c5c5; 36 | border-radius: 10px; 37 | border: whiteSmoke solid 3px; 38 | } -------------------------------------------------------------------------------- /src/views/flow/Flow.vue: -------------------------------------------------------------------------------- 1 | 10 | 11 | 29 | 30 | -------------------------------------------------------------------------------- /src/views/flow/FlowArrow.vue: -------------------------------------------------------------------------------- 1 | 17 | 18 | 145 | 146 | -------------------------------------------------------------------------------- /src/views/flow/FlowCrumbs.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 12 | 13 | -------------------------------------------------------------------------------- /src/views/flow/FlowHeader.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 20 | 21 | -------------------------------------------------------------------------------- /src/views/flow/FlowLine.vue: -------------------------------------------------------------------------------- 1 | 83 | 84 | -------------------------------------------------------------------------------- /src/views/flow/FlowLineDraw.vue: -------------------------------------------------------------------------------- 1 | 31 | 32 | 49 | 50 | -------------------------------------------------------------------------------- /src/views/flow/FlowMainDraw.vue: -------------------------------------------------------------------------------- 1 | 19 | 20 | 164 | 165 | -------------------------------------------------------------------------------- /src/views/flow/FlowNode.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 126 | 127 | -------------------------------------------------------------------------------- /src/views/flow/FlowNodeDraw.vue: -------------------------------------------------------------------------------- 1 | 16 | 17 | 204 | 205 | -------------------------------------------------------------------------------- /src/views/flow/FlowPath.vue: -------------------------------------------------------------------------------- 1 | 212 | 213 | -------------------------------------------------------------------------------- /src/views/flow/FlowRefLine.vue: -------------------------------------------------------------------------------- 1 | 7 | 27 | 28 | -------------------------------------------------------------------------------- /src/views/flow/FlowRight.vue: -------------------------------------------------------------------------------- 1 | 13 | 14 | 29 | 30 | 44 | -------------------------------------------------------------------------------- /src/views/flow/ToolMenu.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 52 | 53 | -------------------------------------------------------------------------------- /src/views/flow/components/SvgImage.vue: -------------------------------------------------------------------------------- 1 | 17 | 18 | -------------------------------------------------------------------------------- /src/views/flow/flow.scss: -------------------------------------------------------------------------------- 1 | $borderColor:#e0e0e0; // 边框颜色 -------------------------------------------------------------------------------- /src/views/flow/utils/index.js: -------------------------------------------------------------------------------- 1 | const deepCopy = function (s, t = {}) { 2 | for (var i in s) { 3 | if (typeof s[i] === 'object') { 4 | t[i] = s[i].constructor === Array ? [] : {}; 5 | deepCopy(s[i], t[i]); 6 | } else { 7 | t[i] = s[i]; 8 | } 9 | } 10 | return t; 11 | } 12 | const getElementOffset = function (element, targetId) { 13 | // 获取某元素相对于指定ID元素的偏移量,有translate的情况则不适合 14 | let { 15 | offsetLeft: left, 16 | offsetTop: top 17 | } = element; 18 | let current = element.offsetParent; 19 | 20 | while (current.offsetParent.id !== targetId) { 21 | left += current.offsetLeft; 22 | top += current.offsetTop; 23 | current = current.offsetParent; 24 | } 25 | return { 26 | top, 27 | left 28 | }; 29 | } 30 | 31 | const pxToNumber = function (s) { 32 | return Number(s.replace('px', '')) 33 | } 34 | 35 | const getEleTopAndLeft = function (ele) { 36 | const { 37 | left, 38 | top 39 | } = ele.getBoundingClientRect() 40 | const { 41 | scrollLeft, 42 | scrollTop 43 | } = document.documentElement 44 | return { 45 | top: top + scrollTop, 46 | left: left + scrollLeft 47 | } 48 | } 49 | 50 | const getRelativePosition = function (son, parent) { 51 | const { 52 | left: sonLeft, 53 | top: sonTop 54 | } = getEleTopAndLeft(son) 55 | const { 56 | left: parentLeft, 57 | top: parentTop 58 | } = getEleTopAndLeft(parent) 59 | return { 60 | top: sonTop - parentTop, 61 | left: sonLeft - parentLeft 62 | } 63 | } 64 | 65 | 66 | export { 67 | deepCopy, 68 | getElementOffset, 69 | pxToNumber, 70 | getEleTopAndLeft, 71 | getRelativePosition 72 | }; -------------------------------------------------------------------------------- /static/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leer0911/myVueDemo/a7e1ea7bf9d41cea68409030d22f830e3d852281/static/.gitkeep -------------------------------------------------------------------------------- /test/e2e/custom-assertions/elementCount.js: -------------------------------------------------------------------------------- 1 | // A custom Nightwatch assertion. 2 | // the name of the method is the filename. 3 | // can be used in tests like this: 4 | // 5 | // browser.assert.elementCount(selector, count) 6 | // 7 | // for how to write custom assertions see 8 | // http://nightwatchjs.org/guide#writing-custom-assertions 9 | exports.assertion = function (selector, count) { 10 | this.message = 'Testing if element <' + selector + '> has count: ' + count 11 | this.expected = count 12 | this.pass = function (val) { 13 | return val === this.expected 14 | } 15 | this.value = function (res) { 16 | return res.value 17 | } 18 | this.command = function (cb) { 19 | var self = this 20 | return this.api.execute(function (selector) { 21 | return document.querySelectorAll(selector).length 22 | }, [selector], function (res) { 23 | cb.call(self, res) 24 | }) 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /test/e2e/nightwatch.conf.js: -------------------------------------------------------------------------------- 1 | require('babel-register') 2 | var config = require('../../config') 3 | 4 | // http://nightwatchjs.org/gettingstarted#settings-file 5 | module.exports = { 6 | src_folders: ['test/e2e/specs'], 7 | output_folder: 'test/e2e/reports', 8 | custom_assertions_path: ['test/e2e/custom-assertions'], 9 | 10 | selenium: { 11 | start_process: true, 12 | server_path: require('selenium-server').path, 13 | host: '127.0.0.1', 14 | port: 4444, 15 | cli_args: { 16 | 'webdriver.chrome.driver': require('chromedriver').path 17 | } 18 | }, 19 | 20 | test_settings: { 21 | default: { 22 | selenium_port: 4444, 23 | selenium_host: 'localhost', 24 | silent: true, 25 | globals: { 26 | devServerURL: 'http://localhost:' + (process.env.PORT || config.dev.port) 27 | } 28 | }, 29 | 30 | chrome: { 31 | desiredCapabilities: { 32 | browserName: 'chrome', 33 | javascriptEnabled: true, 34 | acceptSslCerts: true 35 | } 36 | }, 37 | 38 | firefox: { 39 | desiredCapabilities: { 40 | browserName: 'firefox', 41 | javascriptEnabled: true, 42 | acceptSslCerts: true 43 | } 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /test/e2e/runner.js: -------------------------------------------------------------------------------- 1 | // 1. start the dev server using production config 2 | process.env.NODE_ENV = 'testing' 3 | var server = require('../../build/dev-server.js') 4 | 5 | server.ready.then(() => { 6 | // 2. run the nightwatch test suite against it 7 | // to run in additional browsers: 8 | // 1. add an entry in test/e2e/nightwatch.conf.json under "test_settings" 9 | // 2. add it to the --env flag below 10 | // or override the environment flag, for example: `npm run e2e -- --env chrome,firefox` 11 | // For more information on Nightwatch's config file, see 12 | // http://nightwatchjs.org/guide#settings-file 13 | var opts = process.argv.slice(2) 14 | if (opts.indexOf('--config') === -1) { 15 | opts = opts.concat(['--config', 'test/e2e/nightwatch.conf.js']) 16 | } 17 | if (opts.indexOf('--env') === -1) { 18 | opts = opts.concat(['--env', 'chrome']) 19 | } 20 | 21 | var spawn = require('cross-spawn') 22 | var runner = spawn('./node_modules/.bin/nightwatch', opts, { stdio: 'inherit' }) 23 | 24 | runner.on('exit', function (code) { 25 | server.close() 26 | process.exit(code) 27 | }) 28 | 29 | runner.on('error', function (err) { 30 | server.close() 31 | throw err 32 | }) 33 | }) 34 | -------------------------------------------------------------------------------- /test/e2e/specs/test.js: -------------------------------------------------------------------------------- 1 | // For authoring Nightwatch tests, see 2 | // http://nightwatchjs.org/guide#usage 3 | 4 | module.exports = { 5 | 'default e2e tests': function (browser) { 6 | // automatically uses dev Server port from /config.index.js 7 | // default: http://localhost:8080 8 | // see nightwatch.conf.js 9 | const devServer = browser.globals.devServerURL 10 | 11 | browser 12 | .url(devServer) 13 | .waitForElementVisible('#app', 5000) 14 | .assert.elementPresent('.hello') 15 | .assert.containsText('h1', 'Welcome to Your Vue.js App') 16 | .assert.elementCount('img', 1) 17 | .end() 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /test/unit/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "mocha": true 4 | }, 5 | "globals": { 6 | "expect": true, 7 | "sinon": true 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /test/unit/index.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | 3 | Vue.config.productionTip = false 4 | 5 | // require all test files (files that ends with .spec.js) 6 | const testsContext = require.context('./specs', true, /\.spec$/) 7 | testsContext.keys().forEach(testsContext) 8 | 9 | // require all src files except main.js for coverage. 10 | // you can also change this to match only the subset of files that 11 | // you want coverage for. 12 | const srcContext = require.context('../../src', true, /^\.\/(?!main(\.js)?$)/) 13 | srcContext.keys().forEach(srcContext) 14 | -------------------------------------------------------------------------------- /test/unit/karma.conf.js: -------------------------------------------------------------------------------- 1 | // This is a karma config file. For more details see 2 | // http://karma-runner.github.io/0.13/config/configuration-file.html 3 | // we are also using it with karma-webpack 4 | // https://github.com/webpack/karma-webpack 5 | 6 | var webpackConfig = require('../../build/webpack.test.conf') 7 | 8 | module.exports = function (config) { 9 | config.set({ 10 | // to run in additional browsers: 11 | // 1. install corresponding karma launcher 12 | // http://karma-runner.github.io/0.13/config/browsers.html 13 | // 2. add it to the `browsers` array below. 14 | browsers: ['PhantomJS'], 15 | frameworks: ['mocha', 'sinon-chai', 'phantomjs-shim'], 16 | reporters: ['spec', 'coverage'], 17 | files: ['./index.js'], 18 | preprocessors: { 19 | './index.js': ['webpack', 'sourcemap'] 20 | }, 21 | webpack: webpackConfig, 22 | webpackMiddleware: { 23 | noInfo: true 24 | }, 25 | coverageReporter: { 26 | dir: './coverage', 27 | reporters: [ 28 | { type: 'lcov', subdir: '.' }, 29 | { type: 'text-summary' } 30 | ] 31 | } 32 | }) 33 | } 34 | -------------------------------------------------------------------------------- /test/unit/specs/Hello.spec.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import Hello from '@/components/Hello' 3 | 4 | describe('Hello.vue', () => { 5 | it('should render correct contents', () => { 6 | const Constructor = Vue.extend(Hello) 7 | const vm = new Constructor().$mount() 8 | expect(vm.$el.querySelector('.hello h1').textContent) 9 | .to.equal('Welcome to Your Vue.js App') 10 | }) 11 | }) 12 | -------------------------------------------------------------------------------- /theme/alert.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | :root{ 3 | /* Transition 4 | -------------------------- */ 5 | /* Colors 6 | -------------------------- */ 7 | /* Link 8 | -------------------------- */ 9 | /* Border 10 | -------------------------- */ 11 | /* Box-shadow 12 | -------------------------- */ 13 | /* Fill 14 | -------------------------- */ 15 | /* Font 16 | -------------------------- */ 17 | /* Size 18 | -------------------------- */ 19 | /* z-index 20 | -------------------------- */ 21 | /* Disable base 22 | -------------------------- */ 23 | /* Icon 24 | -------------------------- */ 25 | /* Checkbox 26 | -------------------------- */ 27 | /* Radio 28 | -------------------------- */ 29 | /* Select 30 | -------------------------- */ 31 | /* Alert 32 | -------------------------- */ 33 | /* Message Box 34 | -------------------------- */ 35 | /* Message 36 | -------------------------- */ 37 | /* Notification 38 | -------------------------- */ 39 | /* Input 40 | -------------------------- */ 41 | /* Cascader 42 | -------------------------- */ 43 | /* Group 44 | -------------------------- */ 45 | /* Tab 46 | -------------------------- */ 47 | /* Button 48 | -------------------------- */ 49 | /* cascader 50 | -------------------------- */ 51 | /* Switch 52 | -------------------------- */ 53 | /* Dialog 54 | -------------------------- */ 55 | /* Table 56 | -------------------------- */ 57 | /* Pagination 58 | -------------------------- */ 59 | /* Popover 60 | -------------------------- */ 61 | /* Tooltip 62 | -------------------------- */ 63 | /* Tag 64 | -------------------------- */ 65 | /* Dropdown 66 | -------------------------- */ 67 | /* Badge 68 | -------------------------- */ 69 | /* Card 70 | --------------------------*/ 71 | /* Slider 72 | --------------------------*/ 73 | /* Steps 74 | --------------------------*/ 75 | /* Menu 76 | --------------------------*/ 77 | /* Rate 78 | --------------------------*/ 79 | /* DatePicker 80 | --------------------------*/ 81 | /* Loading 82 | --------------------------*/ 83 | /* Scrollbar 84 | --------------------------*/ 85 | /* Carousel 86 | --------------------------*/ 87 | /* Collapse 88 | --------------------------*/ 89 | /* Transfer 90 | --------------------------*/ 91 | } 92 | 93 | .el-alert{ 94 | width: 100%; 95 | padding: 8px 16px; 96 | margin: 0; 97 | box-sizing: border-box; 98 | border-radius: 4px; 99 | position: relative; 100 | background-color: #fff; 101 | overflow: hidden; 102 | color: #fff; 103 | opacity: 1; 104 | display: table; 105 | transition: opacity .2s; 106 | } 107 | 108 | .el-alert .el-alert__description{ 109 | color: #fff; 110 | font-size: 12px; 111 | margin: 5px 0 0 0; 112 | } 113 | 114 | .el-alert--success{ 115 | background-color: #13ce66; 116 | } 117 | 118 | .el-alert--info{ 119 | background-color: #50bfff; 120 | } 121 | 122 | .el-alert--warning{ 123 | background-color: #f7ba2a; 124 | } 125 | 126 | .el-alert--error{ 127 | background-color: #ff4949; 128 | } 129 | 130 | .el-alert__content{ 131 | display: table-cell; 132 | padding: 0 8px; 133 | } 134 | 135 | .el-alert__icon{ 136 | font-size: 16px; 137 | width: 16px; 138 | display: table-cell; 139 | color: #fff; 140 | vertical-align: middle; 141 | } 142 | 143 | .el-alert__icon.is-big{ 144 | font-size: 28px; 145 | width: 28px; 146 | } 147 | 148 | .el-alert__title{ 149 | font-size: 13px; 150 | line-height: 18px; 151 | } 152 | 153 | .el-alert__title.is-bold{ 154 | font-weight: 700; 155 | } 156 | 157 | .el-alert__closebtn{ 158 | font-size: 12px; 159 | color: #fff; 160 | opacity: 1; 161 | top: 12px; 162 | right: 15px; 163 | position: absolute; 164 | cursor: pointer; 165 | } 166 | 167 | .el-alert__closebtn.is-customed{ 168 | font-style: normal; 169 | font-size: 13px; 170 | top: 9px; 171 | } 172 | 173 | .el-alert-fade-enter, .el-alert-fade-leave-active { 174 | opacity: 0; 175 | } 176 | :root{ 177 | /* Transition 178 | -------------------------- */ 179 | /* Colors 180 | -------------------------- */ 181 | /* Link 182 | -------------------------- */ 183 | /* Border 184 | -------------------------- */ 185 | /* Box-shadow 186 | -------------------------- */ 187 | /* Fill 188 | -------------------------- */ 189 | /* Font 190 | -------------------------- */ 191 | /* Size 192 | -------------------------- */ 193 | /* z-index 194 | -------------------------- */ 195 | /* Disable base 196 | -------------------------- */ 197 | /* Icon 198 | -------------------------- */ 199 | /* Checkbox 200 | -------------------------- */ 201 | /* Radio 202 | -------------------------- */ 203 | /* Select 204 | -------------------------- */ 205 | /* Alert 206 | -------------------------- */ 207 | /* Message Box 208 | -------------------------- */ 209 | /* Message 210 | -------------------------- */ 211 | /* Notification 212 | -------------------------- */ 213 | /* Input 214 | -------------------------- */ 215 | /* Cascader 216 | -------------------------- */ 217 | /* Group 218 | -------------------------- */ 219 | /* Tab 220 | -------------------------- */ 221 | /* Button 222 | -------------------------- */ 223 | /* cascader 224 | -------------------------- */ 225 | /* Switch 226 | -------------------------- */ 227 | /* Dialog 228 | -------------------------- */ 229 | /* Table 230 | -------------------------- */ 231 | /* Pagination 232 | -------------------------- */ 233 | /* Popover 234 | -------------------------- */ 235 | /* Tooltip 236 | -------------------------- */ 237 | /* Tag 238 | -------------------------- */ 239 | /* Dropdown 240 | -------------------------- */ 241 | /* Badge 242 | -------------------------- */ 243 | /* Card 244 | --------------------------*/ 245 | /* Slider 246 | --------------------------*/ 247 | /* Steps 248 | --------------------------*/ 249 | /* Menu 250 | --------------------------*/ 251 | /* Rate 252 | --------------------------*/ 253 | /* DatePicker 254 | --------------------------*/ 255 | /* Loading 256 | --------------------------*/ 257 | /* Scrollbar 258 | --------------------------*/ 259 | /* Carousel 260 | --------------------------*/ 261 | /* Collapse 262 | --------------------------*/ 263 | /* Transfer 264 | --------------------------*/ 265 | } -------------------------------------------------------------------------------- /theme/badge.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | :root{ 3 | /* Transition 4 | -------------------------- */ 5 | /* Colors 6 | -------------------------- */ 7 | /* Link 8 | -------------------------- */ 9 | /* Border 10 | -------------------------- */ 11 | /* Box-shadow 12 | -------------------------- */ 13 | /* Fill 14 | -------------------------- */ 15 | /* Font 16 | -------------------------- */ 17 | /* Size 18 | -------------------------- */ 19 | /* z-index 20 | -------------------------- */ 21 | /* Disable base 22 | -------------------------- */ 23 | /* Icon 24 | -------------------------- */ 25 | /* Checkbox 26 | -------------------------- */ 27 | /* Radio 28 | -------------------------- */ 29 | /* Select 30 | -------------------------- */ 31 | /* Alert 32 | -------------------------- */ 33 | /* Message Box 34 | -------------------------- */ 35 | /* Message 36 | -------------------------- */ 37 | /* Notification 38 | -------------------------- */ 39 | /* Input 40 | -------------------------- */ 41 | /* Cascader 42 | -------------------------- */ 43 | /* Group 44 | -------------------------- */ 45 | /* Tab 46 | -------------------------- */ 47 | /* Button 48 | -------------------------- */ 49 | /* cascader 50 | -------------------------- */ 51 | /* Switch 52 | -------------------------- */ 53 | /* Dialog 54 | -------------------------- */ 55 | /* Table 56 | -------------------------- */ 57 | /* Pagination 58 | -------------------------- */ 59 | /* Popover 60 | -------------------------- */ 61 | /* Tooltip 62 | -------------------------- */ 63 | /* Tag 64 | -------------------------- */ 65 | /* Dropdown 66 | -------------------------- */ 67 | /* Badge 68 | -------------------------- */ 69 | /* Card 70 | --------------------------*/ 71 | /* Slider 72 | --------------------------*/ 73 | /* Steps 74 | --------------------------*/ 75 | /* Menu 76 | --------------------------*/ 77 | /* Rate 78 | --------------------------*/ 79 | /* DatePicker 80 | --------------------------*/ 81 | /* Loading 82 | --------------------------*/ 83 | /* Scrollbar 84 | --------------------------*/ 85 | /* Carousel 86 | --------------------------*/ 87 | /* Collapse 88 | --------------------------*/ 89 | /* Transfer 90 | --------------------------*/ 91 | } 92 | 93 | .el-badge{ 94 | position: relative; 95 | vertical-align: middle; 96 | display: inline-block 97 | } 98 | 99 | .el-badge__content{ 100 | background-color: #ff4949; 101 | border-radius: 10px; 102 | color: #fff; 103 | display: inline-block; 104 | font-size: 12px; 105 | height: 18px; 106 | line-height: 18px; 107 | padding: 0 6px; 108 | text-align: center; 109 | white-space: nowrap; 110 | border: 1px solid #fff 111 | } 112 | 113 | .el-badge__content.is-dot{ 114 | width: 8px; 115 | height: 8px; 116 | padding: 0; 117 | right: 0; 118 | border-radius: 50% 119 | } 120 | 121 | .el-badge__content.is-fixed{ 122 | top: 0; 123 | right: 10px; 124 | position: absolute; 125 | transform: translateY(-50%) translateX(100%) 126 | } 127 | 128 | .el-badge__content.is-fixed.is-dot{ 129 | right: 5px 130 | } 131 | :root{ 132 | /* Transition 133 | -------------------------- */ 134 | /* Colors 135 | -------------------------- */ 136 | /* Link 137 | -------------------------- */ 138 | /* Border 139 | -------------------------- */ 140 | /* Box-shadow 141 | -------------------------- */ 142 | /* Fill 143 | -------------------------- */ 144 | /* Font 145 | -------------------------- */ 146 | /* Size 147 | -------------------------- */ 148 | /* z-index 149 | -------------------------- */ 150 | /* Disable base 151 | -------------------------- */ 152 | /* Icon 153 | -------------------------- */ 154 | /* Checkbox 155 | -------------------------- */ 156 | /* Radio 157 | -------------------------- */ 158 | /* Select 159 | -------------------------- */ 160 | /* Alert 161 | -------------------------- */ 162 | /* Message Box 163 | -------------------------- */ 164 | /* Message 165 | -------------------------- */ 166 | /* Notification 167 | -------------------------- */ 168 | /* Input 169 | -------------------------- */ 170 | /* Cascader 171 | -------------------------- */ 172 | /* Group 173 | -------------------------- */ 174 | /* Tab 175 | -------------------------- */ 176 | /* Button 177 | -------------------------- */ 178 | /* cascader 179 | -------------------------- */ 180 | /* Switch 181 | -------------------------- */ 182 | /* Dialog 183 | -------------------------- */ 184 | /* Table 185 | -------------------------- */ 186 | /* Pagination 187 | -------------------------- */ 188 | /* Popover 189 | -------------------------- */ 190 | /* Tooltip 191 | -------------------------- */ 192 | /* Tag 193 | -------------------------- */ 194 | /* Dropdown 195 | -------------------------- */ 196 | /* Badge 197 | -------------------------- */ 198 | /* Card 199 | --------------------------*/ 200 | /* Slider 201 | --------------------------*/ 202 | /* Steps 203 | --------------------------*/ 204 | /* Menu 205 | --------------------------*/ 206 | /* Rate 207 | --------------------------*/ 208 | /* DatePicker 209 | --------------------------*/ 210 | /* Loading 211 | --------------------------*/ 212 | /* Scrollbar 213 | --------------------------*/ 214 | /* Carousel 215 | --------------------------*/ 216 | /* Collapse 217 | --------------------------*/ 218 | /* Transfer 219 | --------------------------*/ 220 | } -------------------------------------------------------------------------------- /theme/breadcrumb-item.css: -------------------------------------------------------------------------------- 1 | :root { 2 | /* Transition 3 | -------------------------- */ 4 | /* Colors 5 | -------------------------- */ 6 | /* Link 7 | -------------------------- */ 8 | /* Border 9 | -------------------------- */ 10 | /* Box-shadow 11 | -------------------------- */ 12 | /* Fill 13 | -------------------------- */ 14 | /* Font 15 | -------------------------- */ 16 | /* Size 17 | -------------------------- */ 18 | /* z-index 19 | -------------------------- */ 20 | /* Disable base 21 | -------------------------- */ 22 | /* Icon 23 | -------------------------- */ 24 | /* Checkbox 25 | -------------------------- */ 26 | /* Radio 27 | -------------------------- */ 28 | /* Select 29 | -------------------------- */ 30 | /* Alert 31 | -------------------------- */ 32 | /* Message Box 33 | -------------------------- */ 34 | /* Message 35 | -------------------------- */ 36 | /* Notification 37 | -------------------------- */ 38 | /* Input 39 | -------------------------- */ 40 | /* Cascader 41 | -------------------------- */ 42 | /* Group 43 | -------------------------- */ 44 | /* Tab 45 | -------------------------- */ 46 | /* Button 47 | -------------------------- */ 48 | /* cascader 49 | -------------------------- */ 50 | /* Switch 51 | -------------------------- */ 52 | /* Dialog 53 | -------------------------- */ 54 | /* Table 55 | -------------------------- */ 56 | /* Pagination 57 | -------------------------- */ 58 | /* Popover 59 | -------------------------- */ 60 | /* Tooltip 61 | -------------------------- */ 62 | /* Tag 63 | -------------------------- */ 64 | /* Dropdown 65 | -------------------------- */ 66 | /* Badge 67 | -------------------------- */ 68 | /* Card 69 | --------------------------*/ 70 | /* Slider 71 | --------------------------*/ 72 | /* Steps 73 | --------------------------*/ 74 | /* Menu 75 | --------------------------*/ 76 | /* Rate 77 | --------------------------*/ 78 | /* DatePicker 79 | --------------------------*/ 80 | /* Loading 81 | --------------------------*/ 82 | /* Scrollbar 83 | --------------------------*/ 84 | /* Carousel 85 | --------------------------*/ 86 | /* Collapse 87 | --------------------------*/ 88 | /* Transfer 89 | --------------------------*/ 90 | } -------------------------------------------------------------------------------- /theme/breadcrumb.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | :root{ 3 | /* Transition 4 | -------------------------- */ 5 | /* Colors 6 | -------------------------- */ 7 | /* Link 8 | -------------------------- */ 9 | /* Border 10 | -------------------------- */ 11 | /* Box-shadow 12 | -------------------------- */ 13 | /* Fill 14 | -------------------------- */ 15 | /* Font 16 | -------------------------- */ 17 | /* Size 18 | -------------------------- */ 19 | /* z-index 20 | -------------------------- */ 21 | /* Disable base 22 | -------------------------- */ 23 | /* Icon 24 | -------------------------- */ 25 | /* Checkbox 26 | -------------------------- */ 27 | /* Radio 28 | -------------------------- */ 29 | /* Select 30 | -------------------------- */ 31 | /* Alert 32 | -------------------------- */ 33 | /* Message Box 34 | -------------------------- */ 35 | /* Message 36 | -------------------------- */ 37 | /* Notification 38 | -------------------------- */ 39 | /* Input 40 | -------------------------- */ 41 | /* Cascader 42 | -------------------------- */ 43 | /* Group 44 | -------------------------- */ 45 | /* Tab 46 | -------------------------- */ 47 | /* Button 48 | -------------------------- */ 49 | /* cascader 50 | -------------------------- */ 51 | /* Switch 52 | -------------------------- */ 53 | /* Dialog 54 | -------------------------- */ 55 | /* Table 56 | -------------------------- */ 57 | /* Pagination 58 | -------------------------- */ 59 | /* Popover 60 | -------------------------- */ 61 | /* Tooltip 62 | -------------------------- */ 63 | /* Tag 64 | -------------------------- */ 65 | /* Dropdown 66 | -------------------------- */ 67 | /* Badge 68 | -------------------------- */ 69 | /* Card 70 | --------------------------*/ 71 | /* Slider 72 | --------------------------*/ 73 | /* Steps 74 | --------------------------*/ 75 | /* Menu 76 | --------------------------*/ 77 | /* Rate 78 | --------------------------*/ 79 | /* DatePicker 80 | --------------------------*/ 81 | /* Loading 82 | --------------------------*/ 83 | /* Scrollbar 84 | --------------------------*/ 85 | /* Carousel 86 | --------------------------*/ 87 | /* Collapse 88 | --------------------------*/ 89 | /* Transfer 90 | --------------------------*/ 91 | } 92 | 93 | .el-breadcrumb{ 94 | font-size: 13px; 95 | line-height: 1 96 | } 97 | 98 | .el-breadcrumb:before, .el-breadcrumb:after{ 99 | display: table; 100 | content: "" 101 | } 102 | 103 | .el-breadcrumb:after{ 104 | clear: both 105 | } 106 | 107 | .el-breadcrumb__separator{ 108 | margin: 0 8px; 109 | color: rgb(191, 203, 217) 110 | } 111 | 112 | .el-breadcrumb__item{ 113 | float: left 114 | } 115 | 116 | .el-breadcrumb__item:last-child .el-breadcrumb__item__inner, .el-breadcrumb__item:last-child .el-breadcrumb__item__inner a{} 117 | 118 | .el-breadcrumb__item:last-child .el-breadcrumb__item__inner, .el-breadcrumb__item:last-child .el-breadcrumb__item__inner:hover, .el-breadcrumb__item:last-child .el-breadcrumb__item__inner a, .el-breadcrumb__item:last-child .el-breadcrumb__item__inner a:hover{ 119 | color: rgb(151, 168, 190); 120 | cursor: text 121 | } 122 | 123 | .el-breadcrumb__item:last-child .el-breadcrumb__separator{ 124 | display: none 125 | } 126 | 127 | .el-breadcrumb__item__inner{} 128 | 129 | .el-breadcrumb__item__inner, .el-breadcrumb__item__inner a{ 130 | transition: color .15s linear; 131 | color: rgb(72, 87, 106) 132 | } 133 | 134 | .el-breadcrumb__item__inner:hover, .el-breadcrumb__item__inner a:hover{ 135 | color: #20a0ff; 136 | cursor: pointer 137 | } 138 | :root{ 139 | /* Transition 140 | -------------------------- */ 141 | /* Colors 142 | -------------------------- */ 143 | /* Link 144 | -------------------------- */ 145 | /* Border 146 | -------------------------- */ 147 | /* Box-shadow 148 | -------------------------- */ 149 | /* Fill 150 | -------------------------- */ 151 | /* Font 152 | -------------------------- */ 153 | /* Size 154 | -------------------------- */ 155 | /* z-index 156 | -------------------------- */ 157 | /* Disable base 158 | -------------------------- */ 159 | /* Icon 160 | -------------------------- */ 161 | /* Checkbox 162 | -------------------------- */ 163 | /* Radio 164 | -------------------------- */ 165 | /* Select 166 | -------------------------- */ 167 | /* Alert 168 | -------------------------- */ 169 | /* Message Box 170 | -------------------------- */ 171 | /* Message 172 | -------------------------- */ 173 | /* Notification 174 | -------------------------- */ 175 | /* Input 176 | -------------------------- */ 177 | /* Cascader 178 | -------------------------- */ 179 | /* Group 180 | -------------------------- */ 181 | /* Tab 182 | -------------------------- */ 183 | /* Button 184 | -------------------------- */ 185 | /* cascader 186 | -------------------------- */ 187 | /* Switch 188 | -------------------------- */ 189 | /* Dialog 190 | -------------------------- */ 191 | /* Table 192 | -------------------------- */ 193 | /* Pagination 194 | -------------------------- */ 195 | /* Popover 196 | -------------------------- */ 197 | /* Tooltip 198 | -------------------------- */ 199 | /* Tag 200 | -------------------------- */ 201 | /* Dropdown 202 | -------------------------- */ 203 | /* Badge 204 | -------------------------- */ 205 | /* Card 206 | --------------------------*/ 207 | /* Slider 208 | --------------------------*/ 209 | /* Steps 210 | --------------------------*/ 211 | /* Menu 212 | --------------------------*/ 213 | /* Rate 214 | --------------------------*/ 215 | /* DatePicker 216 | --------------------------*/ 217 | /* Loading 218 | --------------------------*/ 219 | /* Scrollbar 220 | --------------------------*/ 221 | /* Carousel 222 | --------------------------*/ 223 | /* Collapse 224 | --------------------------*/ 225 | /* Transfer 226 | --------------------------*/ 227 | } -------------------------------------------------------------------------------- /theme/button-group.css: -------------------------------------------------------------------------------- 1 | :root { 2 | /* Transition 3 | -------------------------- */ 4 | /* Colors 5 | -------------------------- */ 6 | /* Link 7 | -------------------------- */ 8 | /* Border 9 | -------------------------- */ 10 | /* Box-shadow 11 | -------------------------- */ 12 | /* Fill 13 | -------------------------- */ 14 | /* Font 15 | -------------------------- */ 16 | /* Size 17 | -------------------------- */ 18 | /* z-index 19 | -------------------------- */ 20 | /* Disable base 21 | -------------------------- */ 22 | /* Icon 23 | -------------------------- */ 24 | /* Checkbox 25 | -------------------------- */ 26 | /* Radio 27 | -------------------------- */ 28 | /* Select 29 | -------------------------- */ 30 | /* Alert 31 | -------------------------- */ 32 | /* Message Box 33 | -------------------------- */ 34 | /* Message 35 | -------------------------- */ 36 | /* Notification 37 | -------------------------- */ 38 | /* Input 39 | -------------------------- */ 40 | /* Cascader 41 | -------------------------- */ 42 | /* Group 43 | -------------------------- */ 44 | /* Tab 45 | -------------------------- */ 46 | /* Button 47 | -------------------------- */ 48 | /* cascader 49 | -------------------------- */ 50 | /* Switch 51 | -------------------------- */ 52 | /* Dialog 53 | -------------------------- */ 54 | /* Table 55 | -------------------------- */ 56 | /* Pagination 57 | -------------------------- */ 58 | /* Popover 59 | -------------------------- */ 60 | /* Tooltip 61 | -------------------------- */ 62 | /* Tag 63 | -------------------------- */ 64 | /* Dropdown 65 | -------------------------- */ 66 | /* Badge 67 | -------------------------- */ 68 | /* Card 69 | --------------------------*/ 70 | /* Slider 71 | --------------------------*/ 72 | /* Steps 73 | --------------------------*/ 74 | /* Menu 75 | --------------------------*/ 76 | /* Rate 77 | --------------------------*/ 78 | /* DatePicker 79 | --------------------------*/ 80 | /* Loading 81 | --------------------------*/ 82 | /* Scrollbar 83 | --------------------------*/ 84 | /* Carousel 85 | --------------------------*/ 86 | /* Collapse 87 | --------------------------*/ 88 | /* Transfer 89 | --------------------------*/ 90 | } -------------------------------------------------------------------------------- /theme/card.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | :root{ 3 | /* Transition 4 | -------------------------- */ 5 | /* Colors 6 | -------------------------- */ 7 | /* Link 8 | -------------------------- */ 9 | /* Border 10 | -------------------------- */ 11 | /* Box-shadow 12 | -------------------------- */ 13 | /* Fill 14 | -------------------------- */ 15 | /* Font 16 | -------------------------- */ 17 | /* Size 18 | -------------------------- */ 19 | /* z-index 20 | -------------------------- */ 21 | /* Disable base 22 | -------------------------- */ 23 | /* Icon 24 | -------------------------- */ 25 | /* Checkbox 26 | -------------------------- */ 27 | /* Radio 28 | -------------------------- */ 29 | /* Select 30 | -------------------------- */ 31 | /* Alert 32 | -------------------------- */ 33 | /* Message Box 34 | -------------------------- */ 35 | /* Message 36 | -------------------------- */ 37 | /* Notification 38 | -------------------------- */ 39 | /* Input 40 | -------------------------- */ 41 | /* Cascader 42 | -------------------------- */ 43 | /* Group 44 | -------------------------- */ 45 | /* Tab 46 | -------------------------- */ 47 | /* Button 48 | -------------------------- */ 49 | /* cascader 50 | -------------------------- */ 51 | /* Switch 52 | -------------------------- */ 53 | /* Dialog 54 | -------------------------- */ 55 | /* Table 56 | -------------------------- */ 57 | /* Pagination 58 | -------------------------- */ 59 | /* Popover 60 | -------------------------- */ 61 | /* Tooltip 62 | -------------------------- */ 63 | /* Tag 64 | -------------------------- */ 65 | /* Dropdown 66 | -------------------------- */ 67 | /* Badge 68 | -------------------------- */ 69 | /* Card 70 | --------------------------*/ 71 | /* Slider 72 | --------------------------*/ 73 | /* Steps 74 | --------------------------*/ 75 | /* Menu 76 | --------------------------*/ 77 | /* Rate 78 | --------------------------*/ 79 | /* DatePicker 80 | --------------------------*/ 81 | /* Loading 82 | --------------------------*/ 83 | /* Scrollbar 84 | --------------------------*/ 85 | /* Carousel 86 | --------------------------*/ 87 | /* Collapse 88 | --------------------------*/ 89 | /* Transfer 90 | --------------------------*/ 91 | } 92 | 93 | .el-card{ 94 | border: 1px solid rgb(209, 219, 229); 95 | border-radius: 4px; 96 | background-color: #fff; 97 | overflow: hidden; 98 | box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, .12), 99 | 0px 0px 6px 0px rgba(0, 0, 0, .04) 100 | } 101 | 102 | .el-card__header{ 103 | padding: 18px 20px; 104 | border-bottom: 1px solid rgb(209, 219, 229); 105 | box-sizing: border-box 106 | } 107 | 108 | .el-card__body{ 109 | padding: 20px 110 | } 111 | :root{ 112 | /* Transition 113 | -------------------------- */ 114 | /* Colors 115 | -------------------------- */ 116 | /* Link 117 | -------------------------- */ 118 | /* Border 119 | -------------------------- */ 120 | /* Box-shadow 121 | -------------------------- */ 122 | /* Fill 123 | -------------------------- */ 124 | /* Font 125 | -------------------------- */ 126 | /* Size 127 | -------------------------- */ 128 | /* z-index 129 | -------------------------- */ 130 | /* Disable base 131 | -------------------------- */ 132 | /* Icon 133 | -------------------------- */ 134 | /* Checkbox 135 | -------------------------- */ 136 | /* Radio 137 | -------------------------- */ 138 | /* Select 139 | -------------------------- */ 140 | /* Alert 141 | -------------------------- */ 142 | /* Message Box 143 | -------------------------- */ 144 | /* Message 145 | -------------------------- */ 146 | /* Notification 147 | -------------------------- */ 148 | /* Input 149 | -------------------------- */ 150 | /* Cascader 151 | -------------------------- */ 152 | /* Group 153 | -------------------------- */ 154 | /* Tab 155 | -------------------------- */ 156 | /* Button 157 | -------------------------- */ 158 | /* cascader 159 | -------------------------- */ 160 | /* Switch 161 | -------------------------- */ 162 | /* Dialog 163 | -------------------------- */ 164 | /* Table 165 | -------------------------- */ 166 | /* Pagination 167 | -------------------------- */ 168 | /* Popover 169 | -------------------------- */ 170 | /* Tooltip 171 | -------------------------- */ 172 | /* Tag 173 | -------------------------- */ 174 | /* Dropdown 175 | -------------------------- */ 176 | /* Badge 177 | -------------------------- */ 178 | /* Card 179 | --------------------------*/ 180 | /* Slider 181 | --------------------------*/ 182 | /* Steps 183 | --------------------------*/ 184 | /* Menu 185 | --------------------------*/ 186 | /* Rate 187 | --------------------------*/ 188 | /* DatePicker 189 | --------------------------*/ 190 | /* Loading 191 | --------------------------*/ 192 | /* Scrollbar 193 | --------------------------*/ 194 | /* Carousel 195 | --------------------------*/ 196 | /* Collapse 197 | --------------------------*/ 198 | /* Transfer 199 | --------------------------*/ 200 | } -------------------------------------------------------------------------------- /theme/carousel-item.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | :root{ 3 | /* Transition 4 | -------------------------- */ 5 | /* Colors 6 | -------------------------- */ 7 | /* Link 8 | -------------------------- */ 9 | /* Border 10 | -------------------------- */ 11 | /* Box-shadow 12 | -------------------------- */ 13 | /* Fill 14 | -------------------------- */ 15 | /* Font 16 | -------------------------- */ 17 | /* Size 18 | -------------------------- */ 19 | /* z-index 20 | -------------------------- */ 21 | /* Disable base 22 | -------------------------- */ 23 | /* Icon 24 | -------------------------- */ 25 | /* Checkbox 26 | -------------------------- */ 27 | /* Radio 28 | -------------------------- */ 29 | /* Select 30 | -------------------------- */ 31 | /* Alert 32 | -------------------------- */ 33 | /* Message Box 34 | -------------------------- */ 35 | /* Message 36 | -------------------------- */ 37 | /* Notification 38 | -------------------------- */ 39 | /* Input 40 | -------------------------- */ 41 | /* Cascader 42 | -------------------------- */ 43 | /* Group 44 | -------------------------- */ 45 | /* Tab 46 | -------------------------- */ 47 | /* Button 48 | -------------------------- */ 49 | /* cascader 50 | -------------------------- */ 51 | /* Switch 52 | -------------------------- */ 53 | /* Dialog 54 | -------------------------- */ 55 | /* Table 56 | -------------------------- */ 57 | /* Pagination 58 | -------------------------- */ 59 | /* Popover 60 | -------------------------- */ 61 | /* Tooltip 62 | -------------------------- */ 63 | /* Tag 64 | -------------------------- */ 65 | /* Dropdown 66 | -------------------------- */ 67 | /* Badge 68 | -------------------------- */ 69 | /* Card 70 | --------------------------*/ 71 | /* Slider 72 | --------------------------*/ 73 | /* Steps 74 | --------------------------*/ 75 | /* Menu 76 | --------------------------*/ 77 | /* Rate 78 | --------------------------*/ 79 | /* DatePicker 80 | --------------------------*/ 81 | /* Loading 82 | --------------------------*/ 83 | /* Scrollbar 84 | --------------------------*/ 85 | /* Carousel 86 | --------------------------*/ 87 | /* Collapse 88 | --------------------------*/ 89 | /* Transfer 90 | --------------------------*/ 91 | } 92 | 93 | .el-carousel{} 94 | 95 | .el-carousel__item{ 96 | position: absolute; 97 | top: 0; 98 | left: 0; 99 | width: 100%; 100 | height: 100%; 101 | display: inline-block; 102 | transition: .4s ease-in-out; 103 | overflow: hidden; 104 | z-index: 0 105 | } 106 | 107 | .el-carousel__item.is-active{ 108 | z-index: 2 109 | } 110 | 111 | .el-carousel__item--card{ 112 | width: 50% 113 | } 114 | 115 | .el-carousel__item--card.is-in-stage{ 116 | cursor: pointer; 117 | z-index: 1 118 | } 119 | 120 | .el-carousel__item--card.is-in-stage:hover .el-carousel__mask, .el-carousel__item--card.is-in-stage.is-hover .el-carousel__mask{ 121 | opacity: 0.12 122 | } 123 | 124 | .el-carousel__item--card.is-active{ 125 | z-index: 2 126 | } 127 | 128 | .el-carousel__mask{ 129 | position: absolute; 130 | width: 100%; 131 | height: 100%; 132 | top: 0; 133 | left: 0; 134 | background-color: #fff; 135 | opacity: 0.24; 136 | transition: .2s 137 | }:root{ 138 | /* Transition 139 | -------------------------- */ 140 | /* Colors 141 | -------------------------- */ 142 | /* Link 143 | -------------------------- */ 144 | /* Border 145 | -------------------------- */ 146 | /* Box-shadow 147 | -------------------------- */ 148 | /* Fill 149 | -------------------------- */ 150 | /* Font 151 | -------------------------- */ 152 | /* Size 153 | -------------------------- */ 154 | /* z-index 155 | -------------------------- */ 156 | /* Disable base 157 | -------------------------- */ 158 | /* Icon 159 | -------------------------- */ 160 | /* Checkbox 161 | -------------------------- */ 162 | /* Radio 163 | -------------------------- */ 164 | /* Select 165 | -------------------------- */ 166 | /* Alert 167 | -------------------------- */ 168 | /* Message Box 169 | -------------------------- */ 170 | /* Message 171 | -------------------------- */ 172 | /* Notification 173 | -------------------------- */ 174 | /* Input 175 | -------------------------- */ 176 | /* Cascader 177 | -------------------------- */ 178 | /* Group 179 | -------------------------- */ 180 | /* Tab 181 | -------------------------- */ 182 | /* Button 183 | -------------------------- */ 184 | /* cascader 185 | -------------------------- */ 186 | /* Switch 187 | -------------------------- */ 188 | /* Dialog 189 | -------------------------- */ 190 | /* Table 191 | -------------------------- */ 192 | /* Pagination 193 | -------------------------- */ 194 | /* Popover 195 | -------------------------- */ 196 | /* Tooltip 197 | -------------------------- */ 198 | /* Tag 199 | -------------------------- */ 200 | /* Dropdown 201 | -------------------------- */ 202 | /* Badge 203 | -------------------------- */ 204 | /* Card 205 | --------------------------*/ 206 | /* Slider 207 | --------------------------*/ 208 | /* Steps 209 | --------------------------*/ 210 | /* Menu 211 | --------------------------*/ 212 | /* Rate 213 | --------------------------*/ 214 | /* DatePicker 215 | --------------------------*/ 216 | /* Loading 217 | --------------------------*/ 218 | /* Scrollbar 219 | --------------------------*/ 220 | /* Carousel 221 | --------------------------*/ 222 | /* Collapse 223 | --------------------------*/ 224 | /* Transfer 225 | --------------------------*/ 226 | } -------------------------------------------------------------------------------- /theme/checkbox-button.css: -------------------------------------------------------------------------------- 1 | :root { 2 | /* Transition 3 | -------------------------- */ 4 | /* Colors 5 | -------------------------- */ 6 | /* Link 7 | -------------------------- */ 8 | /* Border 9 | -------------------------- */ 10 | /* Box-shadow 11 | -------------------------- */ 12 | /* Fill 13 | -------------------------- */ 14 | /* Font 15 | -------------------------- */ 16 | /* Size 17 | -------------------------- */ 18 | /* z-index 19 | -------------------------- */ 20 | /* Disable base 21 | -------------------------- */ 22 | /* Icon 23 | -------------------------- */ 24 | /* Checkbox 25 | -------------------------- */ 26 | /* Radio 27 | -------------------------- */ 28 | /* Select 29 | -------------------------- */ 30 | /* Alert 31 | -------------------------- */ 32 | /* Message Box 33 | -------------------------- */ 34 | /* Message 35 | -------------------------- */ 36 | /* Notification 37 | -------------------------- */ 38 | /* Input 39 | -------------------------- */ 40 | /* Cascader 41 | -------------------------- */ 42 | /* Group 43 | -------------------------- */ 44 | /* Tab 45 | -------------------------- */ 46 | /* Button 47 | -------------------------- */ 48 | /* cascader 49 | -------------------------- */ 50 | /* Switch 51 | -------------------------- */ 52 | /* Dialog 53 | -------------------------- */ 54 | /* Table 55 | -------------------------- */ 56 | /* Pagination 57 | -------------------------- */ 58 | /* Popover 59 | -------------------------- */ 60 | /* Tooltip 61 | -------------------------- */ 62 | /* Tag 63 | -------------------------- */ 64 | /* Dropdown 65 | -------------------------- */ 66 | /* Badge 67 | -------------------------- */ 68 | /* Card 69 | --------------------------*/ 70 | /* Slider 71 | --------------------------*/ 72 | /* Steps 73 | --------------------------*/ 74 | /* Menu 75 | --------------------------*/ 76 | /* Rate 77 | --------------------------*/ 78 | /* DatePicker 79 | --------------------------*/ 80 | /* Loading 81 | --------------------------*/ 82 | /* Scrollbar 83 | --------------------------*/ 84 | /* Carousel 85 | --------------------------*/ 86 | /* Collapse 87 | --------------------------*/ 88 | /* Transfer 89 | --------------------------*/ 90 | } -------------------------------------------------------------------------------- /theme/checkbox-group.css: -------------------------------------------------------------------------------- 1 | :root { 2 | /* Transition 3 | -------------------------- */ 4 | /* Colors 5 | -------------------------- */ 6 | /* Link 7 | -------------------------- */ 8 | /* Border 9 | -------------------------- */ 10 | /* Box-shadow 11 | -------------------------- */ 12 | /* Fill 13 | -------------------------- */ 14 | /* Font 15 | -------------------------- */ 16 | /* Size 17 | -------------------------- */ 18 | /* z-index 19 | -------------------------- */ 20 | /* Disable base 21 | -------------------------- */ 22 | /* Icon 23 | -------------------------- */ 24 | /* Checkbox 25 | -------------------------- */ 26 | /* Radio 27 | -------------------------- */ 28 | /* Select 29 | -------------------------- */ 30 | /* Alert 31 | -------------------------- */ 32 | /* Message Box 33 | -------------------------- */ 34 | /* Message 35 | -------------------------- */ 36 | /* Notification 37 | -------------------------- */ 38 | /* Input 39 | -------------------------- */ 40 | /* Cascader 41 | -------------------------- */ 42 | /* Group 43 | -------------------------- */ 44 | /* Tab 45 | -------------------------- */ 46 | /* Button 47 | -------------------------- */ 48 | /* cascader 49 | -------------------------- */ 50 | /* Switch 51 | -------------------------- */ 52 | /* Dialog 53 | -------------------------- */ 54 | /* Table 55 | -------------------------- */ 56 | /* Pagination 57 | -------------------------- */ 58 | /* Popover 59 | -------------------------- */ 60 | /* Tooltip 61 | -------------------------- */ 62 | /* Tag 63 | -------------------------- */ 64 | /* Dropdown 65 | -------------------------- */ 66 | /* Badge 67 | -------------------------- */ 68 | /* Card 69 | --------------------------*/ 70 | /* Slider 71 | --------------------------*/ 72 | /* Steps 73 | --------------------------*/ 74 | /* Menu 75 | --------------------------*/ 76 | /* Rate 77 | --------------------------*/ 78 | /* DatePicker 79 | --------------------------*/ 80 | /* Loading 81 | --------------------------*/ 82 | /* Scrollbar 83 | --------------------------*/ 84 | /* Carousel 85 | --------------------------*/ 86 | /* Collapse 87 | --------------------------*/ 88 | /* Transfer 89 | --------------------------*/ 90 | } -------------------------------------------------------------------------------- /theme/collapse-item.css: -------------------------------------------------------------------------------- 1 | :root { 2 | /* Transition 3 | -------------------------- */ 4 | /* Colors 5 | -------------------------- */ 6 | /* Link 7 | -------------------------- */ 8 | /* Border 9 | -------------------------- */ 10 | /* Box-shadow 11 | -------------------------- */ 12 | /* Fill 13 | -------------------------- */ 14 | /* Font 15 | -------------------------- */ 16 | /* Size 17 | -------------------------- */ 18 | /* z-index 19 | -------------------------- */ 20 | /* Disable base 21 | -------------------------- */ 22 | /* Icon 23 | -------------------------- */ 24 | /* Checkbox 25 | -------------------------- */ 26 | /* Radio 27 | -------------------------- */ 28 | /* Select 29 | -------------------------- */ 30 | /* Alert 31 | -------------------------- */ 32 | /* Message Box 33 | -------------------------- */ 34 | /* Message 35 | -------------------------- */ 36 | /* Notification 37 | -------------------------- */ 38 | /* Input 39 | -------------------------- */ 40 | /* Cascader 41 | -------------------------- */ 42 | /* Group 43 | -------------------------- */ 44 | /* Tab 45 | -------------------------- */ 46 | /* Button 47 | -------------------------- */ 48 | /* cascader 49 | -------------------------- */ 50 | /* Switch 51 | -------------------------- */ 52 | /* Dialog 53 | -------------------------- */ 54 | /* Table 55 | -------------------------- */ 56 | /* Pagination 57 | -------------------------- */ 58 | /* Popover 59 | -------------------------- */ 60 | /* Tooltip 61 | -------------------------- */ 62 | /* Tag 63 | -------------------------- */ 64 | /* Dropdown 65 | -------------------------- */ 66 | /* Badge 67 | -------------------------- */ 68 | /* Card 69 | --------------------------*/ 70 | /* Slider 71 | --------------------------*/ 72 | /* Steps 73 | --------------------------*/ 74 | /* Menu 75 | --------------------------*/ 76 | /* Rate 77 | --------------------------*/ 78 | /* DatePicker 79 | --------------------------*/ 80 | /* Loading 81 | --------------------------*/ 82 | /* Scrollbar 83 | --------------------------*/ 84 | /* Carousel 85 | --------------------------*/ 86 | /* Collapse 87 | --------------------------*/ 88 | /* Transfer 89 | --------------------------*/ 90 | } -------------------------------------------------------------------------------- /theme/collapse.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | :root{ 3 | /* Transition 4 | -------------------------- */ 5 | /* Colors 6 | -------------------------- */ 7 | /* Link 8 | -------------------------- */ 9 | /* Border 10 | -------------------------- */ 11 | /* Box-shadow 12 | -------------------------- */ 13 | /* Fill 14 | -------------------------- */ 15 | /* Font 16 | -------------------------- */ 17 | /* Size 18 | -------------------------- */ 19 | /* z-index 20 | -------------------------- */ 21 | /* Disable base 22 | -------------------------- */ 23 | /* Icon 24 | -------------------------- */ 25 | /* Checkbox 26 | -------------------------- */ 27 | /* Radio 28 | -------------------------- */ 29 | /* Select 30 | -------------------------- */ 31 | /* Alert 32 | -------------------------- */ 33 | /* Message Box 34 | -------------------------- */ 35 | /* Message 36 | -------------------------- */ 37 | /* Notification 38 | -------------------------- */ 39 | /* Input 40 | -------------------------- */ 41 | /* Cascader 42 | -------------------------- */ 43 | /* Group 44 | -------------------------- */ 45 | /* Tab 46 | -------------------------- */ 47 | /* Button 48 | -------------------------- */ 49 | /* cascader 50 | -------------------------- */ 51 | /* Switch 52 | -------------------------- */ 53 | /* Dialog 54 | -------------------------- */ 55 | /* Table 56 | -------------------------- */ 57 | /* Pagination 58 | -------------------------- */ 59 | /* Popover 60 | -------------------------- */ 61 | /* Tooltip 62 | -------------------------- */ 63 | /* Tag 64 | -------------------------- */ 65 | /* Dropdown 66 | -------------------------- */ 67 | /* Badge 68 | -------------------------- */ 69 | /* Card 70 | --------------------------*/ 71 | /* Slider 72 | --------------------------*/ 73 | /* Steps 74 | --------------------------*/ 75 | /* Menu 76 | --------------------------*/ 77 | /* Rate 78 | --------------------------*/ 79 | /* DatePicker 80 | --------------------------*/ 81 | /* Loading 82 | --------------------------*/ 83 | /* Scrollbar 84 | --------------------------*/ 85 | /* Carousel 86 | --------------------------*/ 87 | /* Collapse 88 | --------------------------*/ 89 | /* Transfer 90 | --------------------------*/ 91 | } 92 | 93 | .el-collapse{ 94 | border: 1px solid rgb(223, 230, 236); 95 | border-radius: 0; 96 | } 97 | 98 | .el-collapse-item{} 99 | 100 | .el-collapse-item:last-child{ 101 | margin-bottom: -1px; 102 | } 103 | 104 | .el-collapse-item.is-active > .el-collapse-item__header .el-collapse-item__header__arrow{ 105 | transform: rotate(90deg); 106 | } 107 | 108 | .el-collapse-item__header{ 109 | height: 43px; 110 | line-height: 43px; 111 | padding-left: 15px; 112 | background-color: #fff; 113 | color: rgb(72, 87, 106); 114 | cursor: pointer; 115 | border-bottom: 1px solid rgb(223, 230, 236); 116 | font-size: 13px; 117 | } 118 | 119 | .el-collapse-item__header__arrow{ 120 | margin-right: 8px; 121 | transition: transform .3s; 122 | } 123 | 124 | .el-collapse-item__wrap{ 125 | will-change: height; 126 | background-color: rgb(251, 253, 255); 127 | overflow: hidden; 128 | box-sizing: border-box; 129 | border-bottom: 1px solid rgb(223, 230, 236); 130 | } 131 | 132 | .el-collapse-item__content{ 133 | padding: 10px 15px; 134 | font-size: 13px; 135 | color: rgb(31, 45, 61); 136 | line-height: 1.769230769230769; 137 | } 138 | :root{ 139 | /* Transition 140 | -------------------------- */ 141 | /* Colors 142 | -------------------------- */ 143 | /* Link 144 | -------------------------- */ 145 | /* Border 146 | -------------------------- */ 147 | /* Box-shadow 148 | -------------------------- */ 149 | /* Fill 150 | -------------------------- */ 151 | /* Font 152 | -------------------------- */ 153 | /* Size 154 | -------------------------- */ 155 | /* z-index 156 | -------------------------- */ 157 | /* Disable base 158 | -------------------------- */ 159 | /* Icon 160 | -------------------------- */ 161 | /* Checkbox 162 | -------------------------- */ 163 | /* Radio 164 | -------------------------- */ 165 | /* Select 166 | -------------------------- */ 167 | /* Alert 168 | -------------------------- */ 169 | /* Message Box 170 | -------------------------- */ 171 | /* Message 172 | -------------------------- */ 173 | /* Notification 174 | -------------------------- */ 175 | /* Input 176 | -------------------------- */ 177 | /* Cascader 178 | -------------------------- */ 179 | /* Group 180 | -------------------------- */ 181 | /* Tab 182 | -------------------------- */ 183 | /* Button 184 | -------------------------- */ 185 | /* cascader 186 | -------------------------- */ 187 | /* Switch 188 | -------------------------- */ 189 | /* Dialog 190 | -------------------------- */ 191 | /* Table 192 | -------------------------- */ 193 | /* Pagination 194 | -------------------------- */ 195 | /* Popover 196 | -------------------------- */ 197 | /* Tooltip 198 | -------------------------- */ 199 | /* Tag 200 | -------------------------- */ 201 | /* Dropdown 202 | -------------------------- */ 203 | /* Badge 204 | -------------------------- */ 205 | /* Card 206 | --------------------------*/ 207 | /* Slider 208 | --------------------------*/ 209 | /* Steps 210 | --------------------------*/ 211 | /* Menu 212 | --------------------------*/ 213 | /* Rate 214 | --------------------------*/ 215 | /* DatePicker 216 | --------------------------*/ 217 | /* Loading 218 | --------------------------*/ 219 | /* Scrollbar 220 | --------------------------*/ 221 | /* Carousel 222 | --------------------------*/ 223 | /* Collapse 224 | --------------------------*/ 225 | /* Transfer 226 | --------------------------*/ 227 | } -------------------------------------------------------------------------------- /theme/dropdown-item.css: -------------------------------------------------------------------------------- 1 | :root { 2 | /* Transition 3 | -------------------------- */ 4 | /* Colors 5 | -------------------------- */ 6 | /* Link 7 | -------------------------- */ 8 | /* Border 9 | -------------------------- */ 10 | /* Box-shadow 11 | -------------------------- */ 12 | /* Fill 13 | -------------------------- */ 14 | /* Font 15 | -------------------------- */ 16 | /* Size 17 | -------------------------- */ 18 | /* z-index 19 | -------------------------- */ 20 | /* Disable base 21 | -------------------------- */ 22 | /* Icon 23 | -------------------------- */ 24 | /* Checkbox 25 | -------------------------- */ 26 | /* Radio 27 | -------------------------- */ 28 | /* Select 29 | -------------------------- */ 30 | /* Alert 31 | -------------------------- */ 32 | /* Message Box 33 | -------------------------- */ 34 | /* Message 35 | -------------------------- */ 36 | /* Notification 37 | -------------------------- */ 38 | /* Input 39 | -------------------------- */ 40 | /* Cascader 41 | -------------------------- */ 42 | /* Group 43 | -------------------------- */ 44 | /* Tab 45 | -------------------------- */ 46 | /* Button 47 | -------------------------- */ 48 | /* cascader 49 | -------------------------- */ 50 | /* Switch 51 | -------------------------- */ 52 | /* Dialog 53 | -------------------------- */ 54 | /* Table 55 | -------------------------- */ 56 | /* Pagination 57 | -------------------------- */ 58 | /* Popover 59 | -------------------------- */ 60 | /* Tooltip 61 | -------------------------- */ 62 | /* Tag 63 | -------------------------- */ 64 | /* Dropdown 65 | -------------------------- */ 66 | /* Badge 67 | -------------------------- */ 68 | /* Card 69 | --------------------------*/ 70 | /* Slider 71 | --------------------------*/ 72 | /* Steps 73 | --------------------------*/ 74 | /* Menu 75 | --------------------------*/ 76 | /* Rate 77 | --------------------------*/ 78 | /* DatePicker 79 | --------------------------*/ 80 | /* Loading 81 | --------------------------*/ 82 | /* Scrollbar 83 | --------------------------*/ 84 | /* Carousel 85 | --------------------------*/ 86 | /* Collapse 87 | --------------------------*/ 88 | /* Transfer 89 | --------------------------*/ 90 | } -------------------------------------------------------------------------------- /theme/dropdown-menu.css: -------------------------------------------------------------------------------- 1 | :root { 2 | /* Transition 3 | -------------------------- */ 4 | /* Colors 5 | -------------------------- */ 6 | /* Link 7 | -------------------------- */ 8 | /* Border 9 | -------------------------- */ 10 | /* Box-shadow 11 | -------------------------- */ 12 | /* Fill 13 | -------------------------- */ 14 | /* Font 15 | -------------------------- */ 16 | /* Size 17 | -------------------------- */ 18 | /* z-index 19 | -------------------------- */ 20 | /* Disable base 21 | -------------------------- */ 22 | /* Icon 23 | -------------------------- */ 24 | /* Checkbox 25 | -------------------------- */ 26 | /* Radio 27 | -------------------------- */ 28 | /* Select 29 | -------------------------- */ 30 | /* Alert 31 | -------------------------- */ 32 | /* Message Box 33 | -------------------------- */ 34 | /* Message 35 | -------------------------- */ 36 | /* Notification 37 | -------------------------- */ 38 | /* Input 39 | -------------------------- */ 40 | /* Cascader 41 | -------------------------- */ 42 | /* Group 43 | -------------------------- */ 44 | /* Tab 45 | -------------------------- */ 46 | /* Button 47 | -------------------------- */ 48 | /* cascader 49 | -------------------------- */ 50 | /* Switch 51 | -------------------------- */ 52 | /* Dialog 53 | -------------------------- */ 54 | /* Table 55 | -------------------------- */ 56 | /* Pagination 57 | -------------------------- */ 58 | /* Popover 59 | -------------------------- */ 60 | /* Tooltip 61 | -------------------------- */ 62 | /* Tag 63 | -------------------------- */ 64 | /* Dropdown 65 | -------------------------- */ 66 | /* Badge 67 | -------------------------- */ 68 | /* Card 69 | --------------------------*/ 70 | /* Slider 71 | --------------------------*/ 72 | /* Steps 73 | --------------------------*/ 74 | /* Menu 75 | --------------------------*/ 76 | /* Rate 77 | --------------------------*/ 78 | /* DatePicker 79 | --------------------------*/ 80 | /* Loading 81 | --------------------------*/ 82 | /* Scrollbar 83 | --------------------------*/ 84 | /* Carousel 85 | --------------------------*/ 86 | /* Collapse 87 | --------------------------*/ 88 | /* Transfer 89 | --------------------------*/ 90 | } -------------------------------------------------------------------------------- /theme/element-variables.css: -------------------------------------------------------------------------------- 1 | :root { 2 | 3 | /* Transition 4 | -------------------------- */ 5 | 6 | /* Colors 7 | -------------------------- */ 8 | 9 | /* Link 10 | -------------------------- */ 11 | 12 | /* Border 13 | -------------------------- */ 14 | 15 | /* Box-shadow 16 | -------------------------- */ 17 | 18 | /* Fill 19 | -------------------------- */ 20 | 21 | /* Font 22 | -------------------------- */ 23 | 24 | /* Size 25 | -------------------------- */ 26 | 27 | /* z-index 28 | -------------------------- */ 29 | 30 | /* Disable base 31 | -------------------------- */ 32 | 33 | /* Icon 34 | -------------------------- */ 35 | 36 | /* Checkbox 37 | -------------------------- */ 38 | 39 | 40 | 41 | /* Radio 42 | -------------------------- */ 43 | 44 | /* Select 45 | -------------------------- */ 46 | 47 | /* Alert 48 | -------------------------- */ 49 | 50 | /* Message Box 51 | -------------------------- */ 52 | 53 | /* Message 54 | -------------------------- */ 55 | 56 | /* Notification 57 | -------------------------- */ 58 | 59 | /* Input 60 | -------------------------- */ 61 | 62 | /* Cascader 63 | -------------------------- */ 64 | 65 | /* Group 66 | -------------------------- */ 67 | 68 | /* Tab 69 | -------------------------- */ 70 | 71 | /* Button 72 | -------------------------- */ 73 | 74 | 75 | /* cascader 76 | -------------------------- */ 77 | 78 | /* Switch 79 | -------------------------- */ 80 | 81 | /* Dialog 82 | -------------------------- */ 83 | 84 | /* Table 85 | -------------------------- */ 86 | 87 | /* Pagination 88 | -------------------------- */ 89 | 90 | /* Popover 91 | -------------------------- */ 92 | 93 | /* Tooltip 94 | -------------------------- */ 95 | 96 | /* Tag 97 | -------------------------- */ 98 | 99 | /* Dropdown 100 | -------------------------- */ 101 | 102 | /* Badge 103 | -------------------------- */ 104 | 105 | /* Card 106 | --------------------------*/ 107 | 108 | /* Slider 109 | --------------------------*/ 110 | 111 | /* Steps 112 | --------------------------*/ 113 | 114 | /* Menu 115 | --------------------------*/ 116 | 117 | /* Rate 118 | --------------------------*/ 119 | 120 | /* DatePicker 121 | --------------------------*/ 122 | 123 | /* Loading 124 | --------------------------*/ 125 | 126 | /* Scrollbar 127 | --------------------------*/ 128 | 129 | /* Carousel 130 | --------------------------*/ 131 | 132 | /* Collapse 133 | --------------------------*/ 134 | 135 | /* Transfer 136 | --------------------------*/ 137 | } 138 | -------------------------------------------------------------------------------- /theme/fonts/element-icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leer0911/myVueDemo/a7e1ea7bf9d41cea68409030d22f830e3d852281/theme/fonts/element-icons.ttf -------------------------------------------------------------------------------- /theme/fonts/element-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leer0911/myVueDemo/a7e1ea7bf9d41cea68409030d22f830e3d852281/theme/fonts/element-icons.woff -------------------------------------------------------------------------------- /theme/form-item.css: -------------------------------------------------------------------------------- 1 | :root { 2 | /* Transition 3 | -------------------------- */ 4 | /* Colors 5 | -------------------------- */ 6 | /* Link 7 | -------------------------- */ 8 | /* Border 9 | -------------------------- */ 10 | /* Box-shadow 11 | -------------------------- */ 12 | /* Fill 13 | -------------------------- */ 14 | /* Font 15 | -------------------------- */ 16 | /* Size 17 | -------------------------- */ 18 | /* z-index 19 | -------------------------- */ 20 | /* Disable base 21 | -------------------------- */ 22 | /* Icon 23 | -------------------------- */ 24 | /* Checkbox 25 | -------------------------- */ 26 | /* Radio 27 | -------------------------- */ 28 | /* Select 29 | -------------------------- */ 30 | /* Alert 31 | -------------------------- */ 32 | /* Message Box 33 | -------------------------- */ 34 | /* Message 35 | -------------------------- */ 36 | /* Notification 37 | -------------------------- */ 38 | /* Input 39 | -------------------------- */ 40 | /* Cascader 41 | -------------------------- */ 42 | /* Group 43 | -------------------------- */ 44 | /* Tab 45 | -------------------------- */ 46 | /* Button 47 | -------------------------- */ 48 | /* cascader 49 | -------------------------- */ 50 | /* Switch 51 | -------------------------- */ 52 | /* Dialog 53 | -------------------------- */ 54 | /* Table 55 | -------------------------- */ 56 | /* Pagination 57 | -------------------------- */ 58 | /* Popover 59 | -------------------------- */ 60 | /* Tooltip 61 | -------------------------- */ 62 | /* Tag 63 | -------------------------- */ 64 | /* Dropdown 65 | -------------------------- */ 66 | /* Badge 67 | -------------------------- */ 68 | /* Card 69 | --------------------------*/ 70 | /* Slider 71 | --------------------------*/ 72 | /* Steps 73 | --------------------------*/ 74 | /* Menu 75 | --------------------------*/ 76 | /* Rate 77 | --------------------------*/ 78 | /* DatePicker 79 | --------------------------*/ 80 | /* Loading 81 | --------------------------*/ 82 | /* Scrollbar 83 | --------------------------*/ 84 | /* Carousel 85 | --------------------------*/ 86 | /* Collapse 87 | --------------------------*/ 88 | /* Transfer 89 | --------------------------*/ 90 | } -------------------------------------------------------------------------------- /theme/icon.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'element-icons'; 3 | src: url('fonts/element-icons.woff?t=1472440741') format('woff'), /* chrome, firefox */ 4 | url('fonts/element-icons.ttf?t=1472440741') format('truetype'); /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/ 5 | font-weight: 400; 6 | font-style: normal; 7 | } 8 | 9 | [class^="el-icon-"], [class*=" el-icon-"] { 10 | /* use !important to prevent issues with browser extensions that change fonts */ 11 | font-family: 'element-icons' !important; 12 | speak: none; 13 | font-style: normal; 14 | font-weight: 400; 15 | font-variant: normal; 16 | text-transform: none; 17 | line-height: 1; 18 | vertical-align: baseline; 19 | display: inline-block; 20 | 21 | /* Better Font Rendering =========== */ 22 | -webkit-font-smoothing: antialiased; 23 | -moz-osx-font-smoothing: grayscale; 24 | } 25 | 26 | .el-icon-arrow-down:before { content: "\e600"; } 27 | .el-icon-arrow-left:before { content: "\e601"; } 28 | .el-icon-arrow-right:before { content: "\e602"; } 29 | .el-icon-arrow-up:before { content: "\e603"; } 30 | .el-icon-caret-bottom:before { content: "\e604"; } 31 | .el-icon-caret-left:before { content: "\e605"; } 32 | .el-icon-caret-right:before { content: "\e606"; } 33 | .el-icon-caret-top:before { content: "\e607"; } 34 | .el-icon-check:before { content: "\e608"; } 35 | .el-icon-circle-check:before { content: "\e609"; } 36 | .el-icon-circle-close:before { content: "\e60a"; } 37 | .el-icon-circle-cross:before { content: "\e60b"; } 38 | .el-icon-close:before { content: "\e60c"; } 39 | .el-icon-upload:before { content: "\e60d"; } 40 | .el-icon-d-arrow-left:before { content: "\e60e"; } 41 | .el-icon-d-arrow-right:before { content: "\e60f"; } 42 | .el-icon-d-caret:before { content: "\e610"; } 43 | .el-icon-date:before { content: "\e611"; } 44 | .el-icon-delete:before { content: "\e612"; } 45 | .el-icon-document:before { content: "\e613"; } 46 | .el-icon-edit:before { content: "\e614"; } 47 | .el-icon-information:before { content: "\e615"; } 48 | .el-icon-loading:before { content: "\e616"; } 49 | .el-icon-menu:before { content: "\e617"; } 50 | .el-icon-message:before { content: "\e618"; } 51 | .el-icon-minus:before { content: "\e619"; } 52 | .el-icon-more:before { content: "\e61a"; } 53 | .el-icon-picture:before { content: "\e61b"; } 54 | .el-icon-plus:before { content: "\e61c"; } 55 | .el-icon-search:before { content: "\e61d"; } 56 | .el-icon-setting:before { content: "\e61e"; } 57 | .el-icon-share:before { content: "\e61f"; } 58 | .el-icon-star-off:before { content: "\e620"; } 59 | .el-icon-star-on:before { content: "\e621"; } 60 | .el-icon-time:before { content: "\e622"; } 61 | .el-icon-warning:before { content: "\e623"; } 62 | .el-icon-delete2:before { content: "\e624"; } 63 | .el-icon-upload2:before { content: "\e627"; } 64 | .el-icon-view:before { content: "\e626"; } 65 | 66 | .el-icon-loading { 67 | animation: rotating 1s linear infinite; 68 | } 69 | 70 | .el-icon--right { 71 | margin-left: 5px; 72 | } 73 | .el-icon--left { 74 | margin-right: 5px; 75 | } 76 | 77 | @keyframes rotating { 78 | 0% { 79 | transform: rotateZ(0deg); 80 | } 81 | 100% { 82 | transform: rotateZ(360deg); 83 | } 84 | } 85 | :root { /* Transition 86 | -------------------------- */ /* Colors 87 | -------------------------- */ /* Link 88 | -------------------------- */ /* Border 89 | -------------------------- */ /* Box-shadow 90 | -------------------------- */ /* Fill 91 | -------------------------- */ /* Font 92 | -------------------------- */ /* Size 93 | -------------------------- */ /* z-index 94 | -------------------------- */ /* Disable base 95 | -------------------------- */ /* Icon 96 | -------------------------- */ /* Checkbox 97 | -------------------------- */ /* Radio 98 | -------------------------- */ /* Select 99 | -------------------------- */ /* Alert 100 | -------------------------- */ /* Message Box 101 | -------------------------- */ /* Message 102 | -------------------------- */ /* Notification 103 | -------------------------- */ /* Input 104 | -------------------------- */ /* Cascader 105 | -------------------------- */ /* Group 106 | -------------------------- */ /* Tab 107 | -------------------------- */ /* Button 108 | -------------------------- */ /* cascader 109 | -------------------------- */ /* Switch 110 | -------------------------- */ /* Dialog 111 | -------------------------- */ /* Table 112 | -------------------------- */ /* Pagination 113 | -------------------------- */ /* Popover 114 | -------------------------- */ /* Tooltip 115 | -------------------------- */ /* Tag 116 | -------------------------- */ /* Dropdown 117 | -------------------------- */ /* Badge 118 | -------------------------- */ /* Card 119 | --------------------------*/ /* Slider 120 | --------------------------*/ /* Steps 121 | --------------------------*/ /* Menu 122 | --------------------------*/ /* Rate 123 | --------------------------*/ /* DatePicker 124 | --------------------------*/ /* Loading 125 | --------------------------*/ /* Scrollbar 126 | --------------------------*/ /* Carousel 127 | --------------------------*/ /* Collapse 128 | --------------------------*/ /* Transfer 129 | --------------------------*/ 130 | } -------------------------------------------------------------------------------- /theme/loading.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | :root{ 3 | /* Transition 4 | -------------------------- */ 5 | /* Colors 6 | -------------------------- */ 7 | /* Link 8 | -------------------------- */ 9 | /* Border 10 | -------------------------- */ 11 | /* Box-shadow 12 | -------------------------- */ 13 | /* Fill 14 | -------------------------- */ 15 | /* Font 16 | -------------------------- */ 17 | /* Size 18 | -------------------------- */ 19 | /* z-index 20 | -------------------------- */ 21 | /* Disable base 22 | -------------------------- */ 23 | /* Icon 24 | -------------------------- */ 25 | /* Checkbox 26 | -------------------------- */ 27 | /* Radio 28 | -------------------------- */ 29 | /* Select 30 | -------------------------- */ 31 | /* Alert 32 | -------------------------- */ 33 | /* Message Box 34 | -------------------------- */ 35 | /* Message 36 | -------------------------- */ 37 | /* Notification 38 | -------------------------- */ 39 | /* Input 40 | -------------------------- */ 41 | /* Cascader 42 | -------------------------- */ 43 | /* Group 44 | -------------------------- */ 45 | /* Tab 46 | -------------------------- */ 47 | /* Button 48 | -------------------------- */ 49 | /* cascader 50 | -------------------------- */ 51 | /* Switch 52 | -------------------------- */ 53 | /* Dialog 54 | -------------------------- */ 55 | /* Table 56 | -------------------------- */ 57 | /* Pagination 58 | -------------------------- */ 59 | /* Popover 60 | -------------------------- */ 61 | /* Tooltip 62 | -------------------------- */ 63 | /* Tag 64 | -------------------------- */ 65 | /* Dropdown 66 | -------------------------- */ 67 | /* Badge 68 | -------------------------- */ 69 | /* Card 70 | --------------------------*/ 71 | /* Slider 72 | --------------------------*/ 73 | /* Steps 74 | --------------------------*/ 75 | /* Menu 76 | --------------------------*/ 77 | /* Rate 78 | --------------------------*/ 79 | /* DatePicker 80 | --------------------------*/ 81 | /* Loading 82 | --------------------------*/ 83 | /* Scrollbar 84 | --------------------------*/ 85 | /* Carousel 86 | --------------------------*/ 87 | /* Collapse 88 | --------------------------*/ 89 | /* Transfer 90 | --------------------------*/ 91 | } 92 | 93 | .el-loading-mask{ 94 | position: absolute; 95 | z-index: 10000; 96 | background-color: rgba(255, 255, 255, .9); 97 | margin: 0; 98 | top: 0; 99 | right: 0; 100 | bottom: 0; 101 | left: 0; 102 | transition: opacity 0.3s; 103 | } 104 | 105 | .el-loading-mask.is-fullscreen{ 106 | position: fixed; 107 | } 108 | 109 | .el-loading-mask.is-fullscreen .el-loading-spinner{ 110 | margin-top: -25px; 111 | } 112 | 113 | .el-loading-mask.is-fullscreen .el-loading-spinner .circular{ 114 | width: 50px; 115 | height: 50px; 116 | } 117 | 118 | .el-loading-spinner{ 119 | top: 50%; 120 | margin-top: -21px; 121 | width: 100%; 122 | text-align: center; 123 | position: absolute; 124 | } 125 | 126 | .el-loading-spinner .el-loading-text{ 127 | color: #20a0ff; 128 | margin: 3px 0; 129 | font-size: 14px; 130 | } 131 | 132 | .el-loading-spinner .circular{ 133 | width: 42px; 134 | height: 42px; 135 | animation: loading-rotate 2s linear infinite; 136 | } 137 | 138 | .el-loading-spinner .path{ 139 | animation: loading-dash 1.5s ease-in-out infinite; 140 | stroke-dasharray: 90, 150; 141 | stroke-dashoffset: 0; 142 | stroke-width: 2; 143 | stroke: #20a0ff; 144 | stroke-linecap: round; 145 | } 146 | 147 | .el-loading-fade-enter, .el-loading-fade-leave-active { 148 | opacity: 0; 149 | } 150 | 151 | @keyframes loading-rotate { 152 | 100% { 153 | transform: rotate(360deg); 154 | } 155 | } 156 | 157 | @keyframes loading-dash { 158 | 0% { 159 | stroke-dasharray: 1, 200; 160 | stroke-dashoffset: 0; 161 | } 162 | 50% { 163 | stroke-dasharray: 90, 150; 164 | stroke-dashoffset: -40px; 165 | } 166 | 100% { 167 | stroke-dasharray: 90, 150; 168 | stroke-dashoffset: -120px; 169 | } 170 | } 171 | :root{ 172 | /* Transition 173 | -------------------------- */ 174 | /* Colors 175 | -------------------------- */ 176 | /* Link 177 | -------------------------- */ 178 | /* Border 179 | -------------------------- */ 180 | /* Box-shadow 181 | -------------------------- */ 182 | /* Fill 183 | -------------------------- */ 184 | /* Font 185 | -------------------------- */ 186 | /* Size 187 | -------------------------- */ 188 | /* z-index 189 | -------------------------- */ 190 | /* Disable base 191 | -------------------------- */ 192 | /* Icon 193 | -------------------------- */ 194 | /* Checkbox 195 | -------------------------- */ 196 | /* Radio 197 | -------------------------- */ 198 | /* Select 199 | -------------------------- */ 200 | /* Alert 201 | -------------------------- */ 202 | /* Message Box 203 | -------------------------- */ 204 | /* Message 205 | -------------------------- */ 206 | /* Notification 207 | -------------------------- */ 208 | /* Input 209 | -------------------------- */ 210 | /* Cascader 211 | -------------------------- */ 212 | /* Group 213 | -------------------------- */ 214 | /* Tab 215 | -------------------------- */ 216 | /* Button 217 | -------------------------- */ 218 | /* cascader 219 | -------------------------- */ 220 | /* Switch 221 | -------------------------- */ 222 | /* Dialog 223 | -------------------------- */ 224 | /* Table 225 | -------------------------- */ 226 | /* Pagination 227 | -------------------------- */ 228 | /* Popover 229 | -------------------------- */ 230 | /* Tooltip 231 | -------------------------- */ 232 | /* Tag 233 | -------------------------- */ 234 | /* Dropdown 235 | -------------------------- */ 236 | /* Badge 237 | -------------------------- */ 238 | /* Card 239 | --------------------------*/ 240 | /* Slider 241 | --------------------------*/ 242 | /* Steps 243 | --------------------------*/ 244 | /* Menu 245 | --------------------------*/ 246 | /* Rate 247 | --------------------------*/ 248 | /* DatePicker 249 | --------------------------*/ 250 | /* Loading 251 | --------------------------*/ 252 | /* Scrollbar 253 | --------------------------*/ 254 | /* Carousel 255 | --------------------------*/ 256 | /* Collapse 257 | --------------------------*/ 258 | /* Transfer 259 | --------------------------*/ 260 | } -------------------------------------------------------------------------------- /theme/menu-item-group.css: -------------------------------------------------------------------------------- 1 | :root { 2 | /* Transition 3 | -------------------------- */ 4 | /* Colors 5 | -------------------------- */ 6 | /* Link 7 | -------------------------- */ 8 | /* Border 9 | -------------------------- */ 10 | /* Box-shadow 11 | -------------------------- */ 12 | /* Fill 13 | -------------------------- */ 14 | /* Font 15 | -------------------------- */ 16 | /* Size 17 | -------------------------- */ 18 | /* z-index 19 | -------------------------- */ 20 | /* Disable base 21 | -------------------------- */ 22 | /* Icon 23 | -------------------------- */ 24 | /* Checkbox 25 | -------------------------- */ 26 | /* Radio 27 | -------------------------- */ 28 | /* Select 29 | -------------------------- */ 30 | /* Alert 31 | -------------------------- */ 32 | /* Message Box 33 | -------------------------- */ 34 | /* Message 35 | -------------------------- */ 36 | /* Notification 37 | -------------------------- */ 38 | /* Input 39 | -------------------------- */ 40 | /* Cascader 41 | -------------------------- */ 42 | /* Group 43 | -------------------------- */ 44 | /* Tab 45 | -------------------------- */ 46 | /* Button 47 | -------------------------- */ 48 | /* cascader 49 | -------------------------- */ 50 | /* Switch 51 | -------------------------- */ 52 | /* Dialog 53 | -------------------------- */ 54 | /* Table 55 | -------------------------- */ 56 | /* Pagination 57 | -------------------------- */ 58 | /* Popover 59 | -------------------------- */ 60 | /* Tooltip 61 | -------------------------- */ 62 | /* Tag 63 | -------------------------- */ 64 | /* Dropdown 65 | -------------------------- */ 66 | /* Badge 67 | -------------------------- */ 68 | /* Card 69 | --------------------------*/ 70 | /* Slider 71 | --------------------------*/ 72 | /* Steps 73 | --------------------------*/ 74 | /* Menu 75 | --------------------------*/ 76 | /* Rate 77 | --------------------------*/ 78 | /* DatePicker 79 | --------------------------*/ 80 | /* Loading 81 | --------------------------*/ 82 | /* Scrollbar 83 | --------------------------*/ 84 | /* Carousel 85 | --------------------------*/ 86 | /* Collapse 87 | --------------------------*/ 88 | /* Transfer 89 | --------------------------*/ 90 | } -------------------------------------------------------------------------------- /theme/menu-item.css: -------------------------------------------------------------------------------- 1 | :root { 2 | /* Transition 3 | -------------------------- */ 4 | /* Colors 5 | -------------------------- */ 6 | /* Link 7 | -------------------------- */ 8 | /* Border 9 | -------------------------- */ 10 | /* Box-shadow 11 | -------------------------- */ 12 | /* Fill 13 | -------------------------- */ 14 | /* Font 15 | -------------------------- */ 16 | /* Size 17 | -------------------------- */ 18 | /* z-index 19 | -------------------------- */ 20 | /* Disable base 21 | -------------------------- */ 22 | /* Icon 23 | -------------------------- */ 24 | /* Checkbox 25 | -------------------------- */ 26 | /* Radio 27 | -------------------------- */ 28 | /* Select 29 | -------------------------- */ 30 | /* Alert 31 | -------------------------- */ 32 | /* Message Box 33 | -------------------------- */ 34 | /* Message 35 | -------------------------- */ 36 | /* Notification 37 | -------------------------- */ 38 | /* Input 39 | -------------------------- */ 40 | /* Cascader 41 | -------------------------- */ 42 | /* Group 43 | -------------------------- */ 44 | /* Tab 45 | -------------------------- */ 46 | /* Button 47 | -------------------------- */ 48 | /* cascader 49 | -------------------------- */ 50 | /* Switch 51 | -------------------------- */ 52 | /* Dialog 53 | -------------------------- */ 54 | /* Table 55 | -------------------------- */ 56 | /* Pagination 57 | -------------------------- */ 58 | /* Popover 59 | -------------------------- */ 60 | /* Tooltip 61 | -------------------------- */ 62 | /* Tag 63 | -------------------------- */ 64 | /* Dropdown 65 | -------------------------- */ 66 | /* Badge 67 | -------------------------- */ 68 | /* Card 69 | --------------------------*/ 70 | /* Slider 71 | --------------------------*/ 72 | /* Steps 73 | --------------------------*/ 74 | /* Menu 75 | --------------------------*/ 76 | /* Rate 77 | --------------------------*/ 78 | /* DatePicker 79 | --------------------------*/ 80 | /* Loading 81 | --------------------------*/ 82 | /* Scrollbar 83 | --------------------------*/ 84 | /* Carousel 85 | --------------------------*/ 86 | /* Collapse 87 | --------------------------*/ 88 | /* Transfer 89 | --------------------------*/ 90 | } -------------------------------------------------------------------------------- /theme/option-group.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | :root{ 3 | /* Transition 4 | -------------------------- */ 5 | /* Colors 6 | -------------------------- */ 7 | /* Link 8 | -------------------------- */ 9 | /* Border 10 | -------------------------- */ 11 | /* Box-shadow 12 | -------------------------- */ 13 | /* Fill 14 | -------------------------- */ 15 | /* Font 16 | -------------------------- */ 17 | /* Size 18 | -------------------------- */ 19 | /* z-index 20 | -------------------------- */ 21 | /* Disable base 22 | -------------------------- */ 23 | /* Icon 24 | -------------------------- */ 25 | /* Checkbox 26 | -------------------------- */ 27 | /* Radio 28 | -------------------------- */ 29 | /* Select 30 | -------------------------- */ 31 | /* Alert 32 | -------------------------- */ 33 | /* Message Box 34 | -------------------------- */ 35 | /* Message 36 | -------------------------- */ 37 | /* Notification 38 | -------------------------- */ 39 | /* Input 40 | -------------------------- */ 41 | /* Cascader 42 | -------------------------- */ 43 | /* Group 44 | -------------------------- */ 45 | /* Tab 46 | -------------------------- */ 47 | /* Button 48 | -------------------------- */ 49 | /* cascader 50 | -------------------------- */ 51 | /* Switch 52 | -------------------------- */ 53 | /* Dialog 54 | -------------------------- */ 55 | /* Table 56 | -------------------------- */ 57 | /* Pagination 58 | -------------------------- */ 59 | /* Popover 60 | -------------------------- */ 61 | /* Tooltip 62 | -------------------------- */ 63 | /* Tag 64 | -------------------------- */ 65 | /* Dropdown 66 | -------------------------- */ 67 | /* Badge 68 | -------------------------- */ 69 | /* Card 70 | --------------------------*/ 71 | /* Slider 72 | --------------------------*/ 73 | /* Steps 74 | --------------------------*/ 75 | /* Menu 76 | --------------------------*/ 77 | /* Rate 78 | --------------------------*/ 79 | /* DatePicker 80 | --------------------------*/ 81 | /* Loading 82 | --------------------------*/ 83 | /* Scrollbar 84 | --------------------------*/ 85 | /* Carousel 86 | --------------------------*/ 87 | /* Collapse 88 | --------------------------*/ 89 | /* Transfer 90 | --------------------------*/ 91 | } 92 | 93 | .el-select-group{ 94 | margin: 0; 95 | padding: 0 96 | } 97 | 98 | .el-select-group .el-select-dropdown__item{ 99 | padding-left: 20px 100 | } 101 | 102 | .el-select-group__wrap{ 103 | list-style: none; 104 | margin: 0; 105 | padding: 0 106 | } 107 | 108 | .el-select-group__title{ 109 | padding-left: 10px; 110 | font-size: 12px; 111 | color: #999; 112 | height: 30px; 113 | line-height: 30px 114 | } 115 | :root{ 116 | /* Transition 117 | -------------------------- */ 118 | /* Colors 119 | -------------------------- */ 120 | /* Link 121 | -------------------------- */ 122 | /* Border 123 | -------------------------- */ 124 | /* Box-shadow 125 | -------------------------- */ 126 | /* Fill 127 | -------------------------- */ 128 | /* Font 129 | -------------------------- */ 130 | /* Size 131 | -------------------------- */ 132 | /* z-index 133 | -------------------------- */ 134 | /* Disable base 135 | -------------------------- */ 136 | /* Icon 137 | -------------------------- */ 138 | /* Checkbox 139 | -------------------------- */ 140 | /* Radio 141 | -------------------------- */ 142 | /* Select 143 | -------------------------- */ 144 | /* Alert 145 | -------------------------- */ 146 | /* Message Box 147 | -------------------------- */ 148 | /* Message 149 | -------------------------- */ 150 | /* Notification 151 | -------------------------- */ 152 | /* Input 153 | -------------------------- */ 154 | /* Cascader 155 | -------------------------- */ 156 | /* Group 157 | -------------------------- */ 158 | /* Tab 159 | -------------------------- */ 160 | /* Button 161 | -------------------------- */ 162 | /* cascader 163 | -------------------------- */ 164 | /* Switch 165 | -------------------------- */ 166 | /* Dialog 167 | -------------------------- */ 168 | /* Table 169 | -------------------------- */ 170 | /* Pagination 171 | -------------------------- */ 172 | /* Popover 173 | -------------------------- */ 174 | /* Tooltip 175 | -------------------------- */ 176 | /* Tag 177 | -------------------------- */ 178 | /* Dropdown 179 | -------------------------- */ 180 | /* Badge 181 | -------------------------- */ 182 | /* Card 183 | --------------------------*/ 184 | /* Slider 185 | --------------------------*/ 186 | /* Steps 187 | --------------------------*/ 188 | /* Menu 189 | --------------------------*/ 190 | /* Rate 191 | --------------------------*/ 192 | /* DatePicker 193 | --------------------------*/ 194 | /* Loading 195 | --------------------------*/ 196 | /* Scrollbar 197 | --------------------------*/ 198 | /* Carousel 199 | --------------------------*/ 200 | /* Collapse 201 | --------------------------*/ 202 | /* Transfer 203 | --------------------------*/ 204 | } -------------------------------------------------------------------------------- /theme/option.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | :root{ 3 | /* Transition 4 | -------------------------- */ 5 | /* Colors 6 | -------------------------- */ 7 | /* Link 8 | -------------------------- */ 9 | /* Border 10 | -------------------------- */ 11 | /* Box-shadow 12 | -------------------------- */ 13 | /* Fill 14 | -------------------------- */ 15 | /* Font 16 | -------------------------- */ 17 | /* Size 18 | -------------------------- */ 19 | /* z-index 20 | -------------------------- */ 21 | /* Disable base 22 | -------------------------- */ 23 | /* Icon 24 | -------------------------- */ 25 | /* Checkbox 26 | -------------------------- */ 27 | /* Radio 28 | -------------------------- */ 29 | /* Select 30 | -------------------------- */ 31 | /* Alert 32 | -------------------------- */ 33 | /* Message Box 34 | -------------------------- */ 35 | /* Message 36 | -------------------------- */ 37 | /* Notification 38 | -------------------------- */ 39 | /* Input 40 | -------------------------- */ 41 | /* Cascader 42 | -------------------------- */ 43 | /* Group 44 | -------------------------- */ 45 | /* Tab 46 | -------------------------- */ 47 | /* Button 48 | -------------------------- */ 49 | /* cascader 50 | -------------------------- */ 51 | /* Switch 52 | -------------------------- */ 53 | /* Dialog 54 | -------------------------- */ 55 | /* Table 56 | -------------------------- */ 57 | /* Pagination 58 | -------------------------- */ 59 | /* Popover 60 | -------------------------- */ 61 | /* Tooltip 62 | -------------------------- */ 63 | /* Tag 64 | -------------------------- */ 65 | /* Dropdown 66 | -------------------------- */ 67 | /* Badge 68 | -------------------------- */ 69 | /* Card 70 | --------------------------*/ 71 | /* Slider 72 | --------------------------*/ 73 | /* Steps 74 | --------------------------*/ 75 | /* Menu 76 | --------------------------*/ 77 | /* Rate 78 | --------------------------*/ 79 | /* DatePicker 80 | --------------------------*/ 81 | /* Loading 82 | --------------------------*/ 83 | /* Scrollbar 84 | --------------------------*/ 85 | /* Carousel 86 | --------------------------*/ 87 | /* Collapse 88 | --------------------------*/ 89 | /* Transfer 90 | --------------------------*/ 91 | } 92 | 93 | .el-select-dropdown{} 94 | 95 | .el-select-dropdown__item{ 96 | font-size: 14px; 97 | padding: 8px 10px; 98 | position: relative; 99 | white-space: nowrap; 100 | overflow: hidden; 101 | text-overflow: ellipsis; 102 | color: rgb(72, 87, 106); 103 | height: 36px; 104 | line-height: 1.5; 105 | box-sizing: border-box; 106 | cursor: pointer 107 | } 108 | 109 | .el-select-dropdown__item.hover, .el-select-dropdown__item:hover{ 110 | background-color: rgb(228, 232, 241) 111 | } 112 | 113 | .el-select-dropdown__item.selected{ 114 | color: #fff; 115 | background-color: #20a0ff 116 | } 117 | 118 | .el-select-dropdown__item.selected.hover{ 119 | background-color: rgb(28, 141, 224) 120 | } 121 | 122 | .el-select-dropdown__item span{ 123 | line-height: 1.5 !important 124 | } 125 | 126 | .el-select-dropdown__item.is-disabled{ 127 | color: rgb(191, 203, 217); 128 | cursor: not-allowed 129 | } 130 | 131 | .el-select-dropdown__item.is-disabled:hover{ 132 | background-color: #fff 133 | } 134 | :root{ 135 | /* Transition 136 | -------------------------- */ 137 | /* Colors 138 | -------------------------- */ 139 | /* Link 140 | -------------------------- */ 141 | /* Border 142 | -------------------------- */ 143 | /* Box-shadow 144 | -------------------------- */ 145 | /* Fill 146 | -------------------------- */ 147 | /* Font 148 | -------------------------- */ 149 | /* Size 150 | -------------------------- */ 151 | /* z-index 152 | -------------------------- */ 153 | /* Disable base 154 | -------------------------- */ 155 | /* Icon 156 | -------------------------- */ 157 | /* Checkbox 158 | -------------------------- */ 159 | /* Radio 160 | -------------------------- */ 161 | /* Select 162 | -------------------------- */ 163 | /* Alert 164 | -------------------------- */ 165 | /* Message Box 166 | -------------------------- */ 167 | /* Message 168 | -------------------------- */ 169 | /* Notification 170 | -------------------------- */ 171 | /* Input 172 | -------------------------- */ 173 | /* Cascader 174 | -------------------------- */ 175 | /* Group 176 | -------------------------- */ 177 | /* Tab 178 | -------------------------- */ 179 | /* Button 180 | -------------------------- */ 181 | /* cascader 182 | -------------------------- */ 183 | /* Switch 184 | -------------------------- */ 185 | /* Dialog 186 | -------------------------- */ 187 | /* Table 188 | -------------------------- */ 189 | /* Pagination 190 | -------------------------- */ 191 | /* Popover 192 | -------------------------- */ 193 | /* Tooltip 194 | -------------------------- */ 195 | /* Tag 196 | -------------------------- */ 197 | /* Dropdown 198 | -------------------------- */ 199 | /* Badge 200 | -------------------------- */ 201 | /* Card 202 | --------------------------*/ 203 | /* Slider 204 | --------------------------*/ 205 | /* Steps 206 | --------------------------*/ 207 | /* Menu 208 | --------------------------*/ 209 | /* Rate 210 | --------------------------*/ 211 | /* DatePicker 212 | --------------------------*/ 213 | /* Loading 214 | --------------------------*/ 215 | /* Scrollbar 216 | --------------------------*/ 217 | /* Carousel 218 | --------------------------*/ 219 | /* Collapse 220 | --------------------------*/ 221 | /* Transfer 222 | --------------------------*/ 223 | } -------------------------------------------------------------------------------- /theme/radio-group.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | :root{ 3 | /* Transition 4 | -------------------------- */ 5 | /* Colors 6 | -------------------------- */ 7 | /* Link 8 | -------------------------- */ 9 | /* Border 10 | -------------------------- */ 11 | /* Box-shadow 12 | -------------------------- */ 13 | /* Fill 14 | -------------------------- */ 15 | /* Font 16 | -------------------------- */ 17 | /* Size 18 | -------------------------- */ 19 | /* z-index 20 | -------------------------- */ 21 | /* Disable base 22 | -------------------------- */ 23 | /* Icon 24 | -------------------------- */ 25 | /* Checkbox 26 | -------------------------- */ 27 | /* Radio 28 | -------------------------- */ 29 | /* Select 30 | -------------------------- */ 31 | /* Alert 32 | -------------------------- */ 33 | /* Message Box 34 | -------------------------- */ 35 | /* Message 36 | -------------------------- */ 37 | /* Notification 38 | -------------------------- */ 39 | /* Input 40 | -------------------------- */ 41 | /* Cascader 42 | -------------------------- */ 43 | /* Group 44 | -------------------------- */ 45 | /* Tab 46 | -------------------------- */ 47 | /* Button 48 | -------------------------- */ 49 | /* cascader 50 | -------------------------- */ 51 | /* Switch 52 | -------------------------- */ 53 | /* Dialog 54 | -------------------------- */ 55 | /* Table 56 | -------------------------- */ 57 | /* Pagination 58 | -------------------------- */ 59 | /* Popover 60 | -------------------------- */ 61 | /* Tooltip 62 | -------------------------- */ 63 | /* Tag 64 | -------------------------- */ 65 | /* Dropdown 66 | -------------------------- */ 67 | /* Badge 68 | -------------------------- */ 69 | /* Card 70 | --------------------------*/ 71 | /* Slider 72 | --------------------------*/ 73 | /* Steps 74 | --------------------------*/ 75 | /* Menu 76 | --------------------------*/ 77 | /* Rate 78 | --------------------------*/ 79 | /* DatePicker 80 | --------------------------*/ 81 | /* Loading 82 | --------------------------*/ 83 | /* Scrollbar 84 | --------------------------*/ 85 | /* Carousel 86 | --------------------------*/ 87 | /* Collapse 88 | --------------------------*/ 89 | /* Transfer 90 | --------------------------*/ 91 | } 92 | 93 | .el-radio-group{ 94 | display: inline-block; 95 | font-size: 0; 96 | line-height: 1; 97 | vertical-align: middle 98 | } 99 | 100 | .el-radio-group .el-radio{ 101 | font-size: 14px 102 | } 103 | :root{ 104 | /* Transition 105 | -------------------------- */ 106 | /* Colors 107 | -------------------------- */ 108 | /* Link 109 | -------------------------- */ 110 | /* Border 111 | -------------------------- */ 112 | /* Box-shadow 113 | -------------------------- */ 114 | /* Fill 115 | -------------------------- */ 116 | /* Font 117 | -------------------------- */ 118 | /* Size 119 | -------------------------- */ 120 | /* z-index 121 | -------------------------- */ 122 | /* Disable base 123 | -------------------------- */ 124 | /* Icon 125 | -------------------------- */ 126 | /* Checkbox 127 | -------------------------- */ 128 | /* Radio 129 | -------------------------- */ 130 | /* Select 131 | -------------------------- */ 132 | /* Alert 133 | -------------------------- */ 134 | /* Message Box 135 | -------------------------- */ 136 | /* Message 137 | -------------------------- */ 138 | /* Notification 139 | -------------------------- */ 140 | /* Input 141 | -------------------------- */ 142 | /* Cascader 143 | -------------------------- */ 144 | /* Group 145 | -------------------------- */ 146 | /* Tab 147 | -------------------------- */ 148 | /* Button 149 | -------------------------- */ 150 | /* cascader 151 | -------------------------- */ 152 | /* Switch 153 | -------------------------- */ 154 | /* Dialog 155 | -------------------------- */ 156 | /* Table 157 | -------------------------- */ 158 | /* Pagination 159 | -------------------------- */ 160 | /* Popover 161 | -------------------------- */ 162 | /* Tooltip 163 | -------------------------- */ 164 | /* Tag 165 | -------------------------- */ 166 | /* Dropdown 167 | -------------------------- */ 168 | /* Badge 169 | -------------------------- */ 170 | /* Card 171 | --------------------------*/ 172 | /* Slider 173 | --------------------------*/ 174 | /* Steps 175 | --------------------------*/ 176 | /* Menu 177 | --------------------------*/ 178 | /* Rate 179 | --------------------------*/ 180 | /* DatePicker 181 | --------------------------*/ 182 | /* Loading 183 | --------------------------*/ 184 | /* Scrollbar 185 | --------------------------*/ 186 | /* Carousel 187 | --------------------------*/ 188 | /* Collapse 189 | --------------------------*/ 190 | /* Transfer 191 | --------------------------*/ 192 | } -------------------------------------------------------------------------------- /theme/rate.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | :root{ 3 | /* Transition 4 | -------------------------- */ 5 | /* Colors 6 | -------------------------- */ 7 | /* Link 8 | -------------------------- */ 9 | /* Border 10 | -------------------------- */ 11 | /* Box-shadow 12 | -------------------------- */ 13 | /* Fill 14 | -------------------------- */ 15 | /* Font 16 | -------------------------- */ 17 | /* Size 18 | -------------------------- */ 19 | /* z-index 20 | -------------------------- */ 21 | /* Disable base 22 | -------------------------- */ 23 | /* Icon 24 | -------------------------- */ 25 | /* Checkbox 26 | -------------------------- */ 27 | /* Radio 28 | -------------------------- */ 29 | /* Select 30 | -------------------------- */ 31 | /* Alert 32 | -------------------------- */ 33 | /* Message Box 34 | -------------------------- */ 35 | /* Message 36 | -------------------------- */ 37 | /* Notification 38 | -------------------------- */ 39 | /* Input 40 | -------------------------- */ 41 | /* Cascader 42 | -------------------------- */ 43 | /* Group 44 | -------------------------- */ 45 | /* Tab 46 | -------------------------- */ 47 | /* Button 48 | -------------------------- */ 49 | /* cascader 50 | -------------------------- */ 51 | /* Switch 52 | -------------------------- */ 53 | /* Dialog 54 | -------------------------- */ 55 | /* Table 56 | -------------------------- */ 57 | /* Pagination 58 | -------------------------- */ 59 | /* Popover 60 | -------------------------- */ 61 | /* Tooltip 62 | -------------------------- */ 63 | /* Tag 64 | -------------------------- */ 65 | /* Dropdown 66 | -------------------------- */ 67 | /* Badge 68 | -------------------------- */ 69 | /* Card 70 | --------------------------*/ 71 | /* Slider 72 | --------------------------*/ 73 | /* Steps 74 | --------------------------*/ 75 | /* Menu 76 | --------------------------*/ 77 | /* Rate 78 | --------------------------*/ 79 | /* DatePicker 80 | --------------------------*/ 81 | /* Loading 82 | --------------------------*/ 83 | /* Scrollbar 84 | --------------------------*/ 85 | /* Carousel 86 | --------------------------*/ 87 | /* Collapse 88 | --------------------------*/ 89 | /* Transfer 90 | --------------------------*/ 91 | } 92 | 93 | .el-rate{ 94 | height: 20px; 95 | line-height: 1; 96 | } 97 | 98 | .el-rate__item{ 99 | display: inline-block; 100 | position: relative; 101 | font-size: 0; 102 | vertical-align: middle; 103 | } 104 | 105 | .el-rate__icon{ 106 | position: relative; 107 | display: inline-block; 108 | font-size: 18px; 109 | margin-right: 6px; 110 | color: rgb(191, 203, 217); 111 | transition: .3s; 112 | } 113 | 114 | .el-rate__icon .path2 { 115 | position: absolute; 116 | left: 0; 117 | top: 0; 118 | } 119 | 120 | .el-rate__icon.hover{ 121 | transform: scale(1.15); 122 | } 123 | 124 | .el-rate__decimal{ 125 | position: absolute; 126 | top: 0; 127 | left: 0; 128 | display: inline-block; 129 | overflow: hidden; 130 | } 131 | 132 | .el-rate__text{ 133 | font-size: 14px; 134 | vertical-align: middle; 135 | } 136 | :root{ 137 | /* Transition 138 | -------------------------- */ 139 | /* Colors 140 | -------------------------- */ 141 | /* Link 142 | -------------------------- */ 143 | /* Border 144 | -------------------------- */ 145 | /* Box-shadow 146 | -------------------------- */ 147 | /* Fill 148 | -------------------------- */ 149 | /* Font 150 | -------------------------- */ 151 | /* Size 152 | -------------------------- */ 153 | /* z-index 154 | -------------------------- */ 155 | /* Disable base 156 | -------------------------- */ 157 | /* Icon 158 | -------------------------- */ 159 | /* Checkbox 160 | -------------------------- */ 161 | /* Radio 162 | -------------------------- */ 163 | /* Select 164 | -------------------------- */ 165 | /* Alert 166 | -------------------------- */ 167 | /* Message Box 168 | -------------------------- */ 169 | /* Message 170 | -------------------------- */ 171 | /* Notification 172 | -------------------------- */ 173 | /* Input 174 | -------------------------- */ 175 | /* Cascader 176 | -------------------------- */ 177 | /* Group 178 | -------------------------- */ 179 | /* Tab 180 | -------------------------- */ 181 | /* Button 182 | -------------------------- */ 183 | /* cascader 184 | -------------------------- */ 185 | /* Switch 186 | -------------------------- */ 187 | /* Dialog 188 | -------------------------- */ 189 | /* Table 190 | -------------------------- */ 191 | /* Pagination 192 | -------------------------- */ 193 | /* Popover 194 | -------------------------- */ 195 | /* Tooltip 196 | -------------------------- */ 197 | /* Tag 198 | -------------------------- */ 199 | /* Dropdown 200 | -------------------------- */ 201 | /* Badge 202 | -------------------------- */ 203 | /* Card 204 | --------------------------*/ 205 | /* Slider 206 | --------------------------*/ 207 | /* Steps 208 | --------------------------*/ 209 | /* Menu 210 | --------------------------*/ 211 | /* Rate 212 | --------------------------*/ 213 | /* DatePicker 214 | --------------------------*/ 215 | /* Loading 216 | --------------------------*/ 217 | /* Scrollbar 218 | --------------------------*/ 219 | /* Carousel 220 | --------------------------*/ 221 | /* Collapse 222 | --------------------------*/ 223 | /* Transfer 224 | --------------------------*/ 225 | } -------------------------------------------------------------------------------- /theme/row.css: -------------------------------------------------------------------------------- 1 | .el-row:before, .el-row:after{ 2 | display: table; 3 | content: "" 4 | } 5 | .el-row:after{ 6 | clear: both 7 | }@charset "UTF-8"; 8 | :root{ 9 | /* Transition 10 | -------------------------- */ 11 | /* Colors 12 | -------------------------- */ 13 | /* Link 14 | -------------------------- */ 15 | /* Border 16 | -------------------------- */ 17 | /* Box-shadow 18 | -------------------------- */ 19 | /* Fill 20 | -------------------------- */ 21 | /* Font 22 | -------------------------- */ 23 | /* Size 24 | -------------------------- */ 25 | /* z-index 26 | -------------------------- */ 27 | /* Disable base 28 | -------------------------- */ 29 | /* Icon 30 | -------------------------- */ 31 | /* Checkbox 32 | -------------------------- */ 33 | /* Radio 34 | -------------------------- */ 35 | /* Select 36 | -------------------------- */ 37 | /* Alert 38 | -------------------------- */ 39 | /* Message Box 40 | -------------------------- */ 41 | /* Message 42 | -------------------------- */ 43 | /* Notification 44 | -------------------------- */ 45 | /* Input 46 | -------------------------- */ 47 | /* Cascader 48 | -------------------------- */ 49 | /* Group 50 | -------------------------- */ 51 | /* Tab 52 | -------------------------- */ 53 | /* Button 54 | -------------------------- */ 55 | /* cascader 56 | -------------------------- */ 57 | /* Switch 58 | -------------------------- */ 59 | /* Dialog 60 | -------------------------- */ 61 | /* Table 62 | -------------------------- */ 63 | /* Pagination 64 | -------------------------- */ 65 | /* Popover 66 | -------------------------- */ 67 | /* Tooltip 68 | -------------------------- */ 69 | /* Tag 70 | -------------------------- */ 71 | /* Dropdown 72 | -------------------------- */ 73 | /* Badge 74 | -------------------------- */ 75 | /* Card 76 | --------------------------*/ 77 | /* Slider 78 | --------------------------*/ 79 | /* Steps 80 | --------------------------*/ 81 | /* Menu 82 | --------------------------*/ 83 | /* Rate 84 | --------------------------*/ 85 | /* DatePicker 86 | --------------------------*/ 87 | /* Loading 88 | --------------------------*/ 89 | /* Scrollbar 90 | --------------------------*/ 91 | /* Carousel 92 | --------------------------*/ 93 | /* Collapse 94 | --------------------------*/ 95 | /* Transfer 96 | --------------------------*/ 97 | } 98 | 99 | .el-row{ 100 | position: relative; 101 | box-sizing: border-box 102 | } 103 | 104 | .el-row--flex{ 105 | display: -ms-flexbox; 106 | display: flex 107 | } 108 | 109 | .el-row--flex:before, .el-row--flex:after{ 110 | display: none 111 | } 112 | 113 | .el-row--flex.is-align-bottom{ 114 | -ms-flex-align: end; 115 | align-items: flex-end 116 | } 117 | 118 | .el-row--flex.is-align-middle{ 119 | -ms-flex-align: center; 120 | align-items: center 121 | } 122 | 123 | .el-row--flex.is-justify-space-around{ 124 | -ms-flex-pack: distribute; 125 | justify-content: space-around 126 | } 127 | 128 | .el-row--flex.is-justify-space-between{ 129 | -ms-flex-pack: justify; 130 | justify-content: space-between 131 | } 132 | 133 | .el-row--flex.is-justify-end{ 134 | -ms-flex-pack: end; 135 | justify-content: flex-end 136 | } 137 | 138 | .el-row--flex.is-justify-center{ 139 | -ms-flex-pack: center; 140 | justify-content: center 141 | } 142 | :root{ 143 | /* Transition 144 | -------------------------- */ 145 | /* Colors 146 | -------------------------- */ 147 | /* Link 148 | -------------------------- */ 149 | /* Border 150 | -------------------------- */ 151 | /* Box-shadow 152 | -------------------------- */ 153 | /* Fill 154 | -------------------------- */ 155 | /* Font 156 | -------------------------- */ 157 | /* Size 158 | -------------------------- */ 159 | /* z-index 160 | -------------------------- */ 161 | /* Disable base 162 | -------------------------- */ 163 | /* Icon 164 | -------------------------- */ 165 | /* Checkbox 166 | -------------------------- */ 167 | /* Radio 168 | -------------------------- */ 169 | /* Select 170 | -------------------------- */ 171 | /* Alert 172 | -------------------------- */ 173 | /* Message Box 174 | -------------------------- */ 175 | /* Message 176 | -------------------------- */ 177 | /* Notification 178 | -------------------------- */ 179 | /* Input 180 | -------------------------- */ 181 | /* Cascader 182 | -------------------------- */ 183 | /* Group 184 | -------------------------- */ 185 | /* Tab 186 | -------------------------- */ 187 | /* Button 188 | -------------------------- */ 189 | /* cascader 190 | -------------------------- */ 191 | /* Switch 192 | -------------------------- */ 193 | /* Dialog 194 | -------------------------- */ 195 | /* Table 196 | -------------------------- */ 197 | /* Pagination 198 | -------------------------- */ 199 | /* Popover 200 | -------------------------- */ 201 | /* Tooltip 202 | -------------------------- */ 203 | /* Tag 204 | -------------------------- */ 205 | /* Dropdown 206 | -------------------------- */ 207 | /* Badge 208 | -------------------------- */ 209 | /* Card 210 | --------------------------*/ 211 | /* Slider 212 | --------------------------*/ 213 | /* Steps 214 | --------------------------*/ 215 | /* Menu 216 | --------------------------*/ 217 | /* Rate 218 | --------------------------*/ 219 | /* DatePicker 220 | --------------------------*/ 221 | /* Loading 222 | --------------------------*/ 223 | /* Scrollbar 224 | --------------------------*/ 225 | /* Carousel 226 | --------------------------*/ 227 | /* Collapse 228 | --------------------------*/ 229 | /* Transfer 230 | --------------------------*/ 231 | } -------------------------------------------------------------------------------- /theme/scrollbar.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | :root{ 3 | /* Transition 4 | -------------------------- */ 5 | /* Colors 6 | -------------------------- */ 7 | /* Link 8 | -------------------------- */ 9 | /* Border 10 | -------------------------- */ 11 | /* Box-shadow 12 | -------------------------- */ 13 | /* Fill 14 | -------------------------- */ 15 | /* Font 16 | -------------------------- */ 17 | /* Size 18 | -------------------------- */ 19 | /* z-index 20 | -------------------------- */ 21 | /* Disable base 22 | -------------------------- */ 23 | /* Icon 24 | -------------------------- */ 25 | /* Checkbox 26 | -------------------------- */ 27 | /* Radio 28 | -------------------------- */ 29 | /* Select 30 | -------------------------- */ 31 | /* Alert 32 | -------------------------- */ 33 | /* Message Box 34 | -------------------------- */ 35 | /* Message 36 | -------------------------- */ 37 | /* Notification 38 | -------------------------- */ 39 | /* Input 40 | -------------------------- */ 41 | /* Cascader 42 | -------------------------- */ 43 | /* Group 44 | -------------------------- */ 45 | /* Tab 46 | -------------------------- */ 47 | /* Button 48 | -------------------------- */ 49 | /* cascader 50 | -------------------------- */ 51 | /* Switch 52 | -------------------------- */ 53 | /* Dialog 54 | -------------------------- */ 55 | /* Table 56 | -------------------------- */ 57 | /* Pagination 58 | -------------------------- */ 59 | /* Popover 60 | -------------------------- */ 61 | /* Tooltip 62 | -------------------------- */ 63 | /* Tag 64 | -------------------------- */ 65 | /* Dropdown 66 | -------------------------- */ 67 | /* Badge 68 | -------------------------- */ 69 | /* Card 70 | --------------------------*/ 71 | /* Slider 72 | --------------------------*/ 73 | /* Steps 74 | --------------------------*/ 75 | /* Menu 76 | --------------------------*/ 77 | /* Rate 78 | --------------------------*/ 79 | /* DatePicker 80 | --------------------------*/ 81 | /* Loading 82 | --------------------------*/ 83 | /* Scrollbar 84 | --------------------------*/ 85 | /* Carousel 86 | --------------------------*/ 87 | /* Collapse 88 | --------------------------*/ 89 | /* Transfer 90 | --------------------------*/ 91 | } 92 | 93 | .el-scrollbar{ 94 | overflow: hidden; 95 | position: relative; 96 | } 97 | 98 | .el-scrollbar:hover .el-scrollbar__bar, .el-scrollbar:active .el-scrollbar__bar, .el-scrollbar:focus .el-scrollbar__bar{ 99 | opacity: 1; 100 | transition: opacity 340ms ease-out; 101 | } 102 | 103 | .el-scrollbar__wrap{ 104 | overflow: scroll; 105 | } 106 | 107 | .el-scrollbar__wrap--hidden-default{} 108 | 109 | .el-scrollbar__wrap--hidden-default::-webkit-scrollbar{ 110 | width: 0; 111 | height: 0; 112 | } 113 | 114 | .el-scrollbar__thumb{ 115 | position: relative; 116 | display: block; 117 | width: 0; 118 | height: 0; 119 | cursor: pointer; 120 | border-radius: inherit; 121 | background-color: rgba(151, 168, 190, 0.3); 122 | transition: .3s background-color; 123 | } 124 | 125 | .el-scrollbar__thumb:hover{ 126 | background-color: rgba(151, 168, 190, 0.5); 127 | } 128 | 129 | .el-scrollbar__bar{ 130 | position: absolute; 131 | right: 2px; 132 | bottom: 2px; 133 | z-index: 1; 134 | border-radius: 4px; 135 | opacity: 0; 136 | transition: opacity 120ms ease-out; 137 | } 138 | 139 | .el-scrollbar__bar.is-horizontal{ 140 | height: 6px; 141 | left: 2px; 142 | } 143 | 144 | .el-scrollbar__bar.is-horizontal > div{ 145 | height: 100%; 146 | } 147 | 148 | .el-scrollbar__bar.is-vertical{ 149 | width: 6px; 150 | top: 2px; 151 | } 152 | 153 | .el-scrollbar__bar.is-vertical > div{ 154 | width: 100%; 155 | } 156 | :root{ 157 | /* Transition 158 | -------------------------- */ 159 | /* Colors 160 | -------------------------- */ 161 | /* Link 162 | -------------------------- */ 163 | /* Border 164 | -------------------------- */ 165 | /* Box-shadow 166 | -------------------------- */ 167 | /* Fill 168 | -------------------------- */ 169 | /* Font 170 | -------------------------- */ 171 | /* Size 172 | -------------------------- */ 173 | /* z-index 174 | -------------------------- */ 175 | /* Disable base 176 | -------------------------- */ 177 | /* Icon 178 | -------------------------- */ 179 | /* Checkbox 180 | -------------------------- */ 181 | /* Radio 182 | -------------------------- */ 183 | /* Select 184 | -------------------------- */ 185 | /* Alert 186 | -------------------------- */ 187 | /* Message Box 188 | -------------------------- */ 189 | /* Message 190 | -------------------------- */ 191 | /* Notification 192 | -------------------------- */ 193 | /* Input 194 | -------------------------- */ 195 | /* Cascader 196 | -------------------------- */ 197 | /* Group 198 | -------------------------- */ 199 | /* Tab 200 | -------------------------- */ 201 | /* Button 202 | -------------------------- */ 203 | /* cascader 204 | -------------------------- */ 205 | /* Switch 206 | -------------------------- */ 207 | /* Dialog 208 | -------------------------- */ 209 | /* Table 210 | -------------------------- */ 211 | /* Pagination 212 | -------------------------- */ 213 | /* Popover 214 | -------------------------- */ 215 | /* Tooltip 216 | -------------------------- */ 217 | /* Tag 218 | -------------------------- */ 219 | /* Dropdown 220 | -------------------------- */ 221 | /* Badge 222 | -------------------------- */ 223 | /* Card 224 | --------------------------*/ 225 | /* Slider 226 | --------------------------*/ 227 | /* Steps 228 | --------------------------*/ 229 | /* Menu 230 | --------------------------*/ 231 | /* Rate 232 | --------------------------*/ 233 | /* DatePicker 234 | --------------------------*/ 235 | /* Loading 236 | --------------------------*/ 237 | /* Scrollbar 238 | --------------------------*/ 239 | /* Carousel 240 | --------------------------*/ 241 | /* Collapse 242 | --------------------------*/ 243 | /* Transfer 244 | --------------------------*/ 245 | } -------------------------------------------------------------------------------- /theme/select-dropdown.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | :root{ 3 | /* Transition 4 | -------------------------- */ 5 | /* Colors 6 | -------------------------- */ 7 | /* Link 8 | -------------------------- */ 9 | /* Border 10 | -------------------------- */ 11 | /* Box-shadow 12 | -------------------------- */ 13 | /* Fill 14 | -------------------------- */ 15 | /* Font 16 | -------------------------- */ 17 | /* Size 18 | -------------------------- */ 19 | /* z-index 20 | -------------------------- */ 21 | /* Disable base 22 | -------------------------- */ 23 | /* Icon 24 | -------------------------- */ 25 | /* Checkbox 26 | -------------------------- */ 27 | /* Radio 28 | -------------------------- */ 29 | /* Select 30 | -------------------------- */ 31 | /* Alert 32 | -------------------------- */ 33 | /* Message Box 34 | -------------------------- */ 35 | /* Message 36 | -------------------------- */ 37 | /* Notification 38 | -------------------------- */ 39 | /* Input 40 | -------------------------- */ 41 | /* Cascader 42 | -------------------------- */ 43 | /* Group 44 | -------------------------- */ 45 | /* Tab 46 | -------------------------- */ 47 | /* Button 48 | -------------------------- */ 49 | /* cascader 50 | -------------------------- */ 51 | /* Switch 52 | -------------------------- */ 53 | /* Dialog 54 | -------------------------- */ 55 | /* Table 56 | -------------------------- */ 57 | /* Pagination 58 | -------------------------- */ 59 | /* Popover 60 | -------------------------- */ 61 | /* Tooltip 62 | -------------------------- */ 63 | /* Tag 64 | -------------------------- */ 65 | /* Dropdown 66 | -------------------------- */ 67 | /* Badge 68 | -------------------------- */ 69 | /* Card 70 | --------------------------*/ 71 | /* Slider 72 | --------------------------*/ 73 | /* Steps 74 | --------------------------*/ 75 | /* Menu 76 | --------------------------*/ 77 | /* Rate 78 | --------------------------*/ 79 | /* DatePicker 80 | --------------------------*/ 81 | /* Loading 82 | --------------------------*/ 83 | /* Scrollbar 84 | --------------------------*/ 85 | /* Carousel 86 | --------------------------*/ 87 | /* Collapse 88 | --------------------------*/ 89 | /* Transfer 90 | --------------------------*/ 91 | } 92 | 93 | .el-select-dropdown{ 94 | position: absolute; 95 | z-index: 1001; 96 | border: solid 1px rgb(209, 219, 229); 97 | border-radius: 2px; 98 | background-color: #fff; 99 | box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04); 100 | box-sizing: border-box; 101 | margin: 5px 0; 102 | } 103 | 104 | .el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list{ 105 | padding: 0; 106 | } 107 | 108 | .el-select-dropdown.is-multiple{} 109 | 110 | .el-select-dropdown.is-multiple .el-select-dropdown__item.selected{ 111 | color: #20a0ff; 112 | background-color: #fff; 113 | } 114 | 115 | .el-select-dropdown.is-multiple .el-select-dropdown__item.selected.hover{ 116 | background-color: rgb(228, 232, 241); 117 | } 118 | 119 | .el-select-dropdown.is-multiple .el-select-dropdown__item.selected::after{ 120 | position: absolute; 121 | right: 10px; 122 | font-family: 'element-icons'; 123 | content: "\E608"; 124 | font-size: 11px; 125 | -webkit-font-smoothing: antialiased; 126 | -moz-osx-font-smoothing: grayscale; 127 | } 128 | 129 | .el-select-dropdown__empty{ 130 | padding: 10px 0; 131 | margin: 0; 132 | text-align: center; 133 | color: #999; 134 | font-size: 14px; 135 | } 136 | 137 | .el-select-dropdown__wrap{ 138 | max-height: 274px; 139 | } 140 | 141 | .el-select-dropdown__list{ 142 | list-style: none; 143 | padding: 6px 0; 144 | margin: 0; 145 | box-sizing: border-box; 146 | } 147 | :root{ 148 | /* Transition 149 | -------------------------- */ 150 | /* Colors 151 | -------------------------- */ 152 | /* Link 153 | -------------------------- */ 154 | /* Border 155 | -------------------------- */ 156 | /* Box-shadow 157 | -------------------------- */ 158 | /* Fill 159 | -------------------------- */ 160 | /* Font 161 | -------------------------- */ 162 | /* Size 163 | -------------------------- */ 164 | /* z-index 165 | -------------------------- */ 166 | /* Disable base 167 | -------------------------- */ 168 | /* Icon 169 | -------------------------- */ 170 | /* Checkbox 171 | -------------------------- */ 172 | /* Radio 173 | -------------------------- */ 174 | /* Select 175 | -------------------------- */ 176 | /* Alert 177 | -------------------------- */ 178 | /* Message Box 179 | -------------------------- */ 180 | /* Message 181 | -------------------------- */ 182 | /* Notification 183 | -------------------------- */ 184 | /* Input 185 | -------------------------- */ 186 | /* Cascader 187 | -------------------------- */ 188 | /* Group 189 | -------------------------- */ 190 | /* Tab 191 | -------------------------- */ 192 | /* Button 193 | -------------------------- */ 194 | /* cascader 195 | -------------------------- */ 196 | /* Switch 197 | -------------------------- */ 198 | /* Dialog 199 | -------------------------- */ 200 | /* Table 201 | -------------------------- */ 202 | /* Pagination 203 | -------------------------- */ 204 | /* Popover 205 | -------------------------- */ 206 | /* Tooltip 207 | -------------------------- */ 208 | /* Tag 209 | -------------------------- */ 210 | /* Dropdown 211 | -------------------------- */ 212 | /* Badge 213 | -------------------------- */ 214 | /* Card 215 | --------------------------*/ 216 | /* Slider 217 | --------------------------*/ 218 | /* Steps 219 | --------------------------*/ 220 | /* Menu 221 | --------------------------*/ 222 | /* Rate 223 | --------------------------*/ 224 | /* DatePicker 225 | --------------------------*/ 226 | /* Loading 227 | --------------------------*/ 228 | /* Scrollbar 229 | --------------------------*/ 230 | /* Carousel 231 | --------------------------*/ 232 | /* Collapse 233 | --------------------------*/ 234 | /* Transfer 235 | --------------------------*/ 236 | } -------------------------------------------------------------------------------- /theme/spinner.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | :root{ 3 | /* Transition 4 | -------------------------- */ 5 | /* Colors 6 | -------------------------- */ 7 | /* Link 8 | -------------------------- */ 9 | /* Border 10 | -------------------------- */ 11 | /* Box-shadow 12 | -------------------------- */ 13 | /* Fill 14 | -------------------------- */ 15 | /* Font 16 | -------------------------- */ 17 | /* Size 18 | -------------------------- */ 19 | /* z-index 20 | -------------------------- */ 21 | /* Disable base 22 | -------------------------- */ 23 | /* Icon 24 | -------------------------- */ 25 | /* Checkbox 26 | -------------------------- */ 27 | /* Radio 28 | -------------------------- */ 29 | /* Select 30 | -------------------------- */ 31 | /* Alert 32 | -------------------------- */ 33 | /* Message Box 34 | -------------------------- */ 35 | /* Message 36 | -------------------------- */ 37 | /* Notification 38 | -------------------------- */ 39 | /* Input 40 | -------------------------- */ 41 | /* Cascader 42 | -------------------------- */ 43 | /* Group 44 | -------------------------- */ 45 | /* Tab 46 | -------------------------- */ 47 | /* Button 48 | -------------------------- */ 49 | /* cascader 50 | -------------------------- */ 51 | /* Switch 52 | -------------------------- */ 53 | /* Dialog 54 | -------------------------- */ 55 | /* Table 56 | -------------------------- */ 57 | /* Pagination 58 | -------------------------- */ 59 | /* Popover 60 | -------------------------- */ 61 | /* Tooltip 62 | -------------------------- */ 63 | /* Tag 64 | -------------------------- */ 65 | /* Dropdown 66 | -------------------------- */ 67 | /* Badge 68 | -------------------------- */ 69 | /* Card 70 | --------------------------*/ 71 | /* Slider 72 | --------------------------*/ 73 | /* Steps 74 | --------------------------*/ 75 | /* Menu 76 | --------------------------*/ 77 | /* Rate 78 | --------------------------*/ 79 | /* DatePicker 80 | --------------------------*/ 81 | /* Loading 82 | --------------------------*/ 83 | /* Scrollbar 84 | --------------------------*/ 85 | /* Carousel 86 | --------------------------*/ 87 | /* Collapse 88 | --------------------------*/ 89 | /* Transfer 90 | --------------------------*/ 91 | } 92 | 93 | .el-time-spinner{ 94 | width: 100%; 95 | white-space: nowrap; 96 | } 97 | 98 | .el-spinner{ 99 | display: inline-block; 100 | vertical-align: middle; 101 | } 102 | 103 | .el-spinner-inner{ 104 | animation: rotate 2s linear infinite; 105 | width: 50px; 106 | height: 50px; 107 | } 108 | 109 | .el-spinner-inner .path{ 110 | stroke: #ececec; 111 | stroke-linecap: round; 112 | animation: dash 1.5s ease-in-out infinite; 113 | } 114 | @keyframes rotate { 115 | 100% { 116 | transform: rotate(360deg); 117 | } 118 | } 119 | 120 | @keyframes dash { 121 | 0% { 122 | stroke-dasharray: 1, 150; 123 | stroke-dashoffset: 0; 124 | } 125 | 50% { 126 | stroke-dasharray: 90, 150; 127 | stroke-dashoffset: -35; 128 | } 129 | 100% { 130 | stroke-dasharray: 90, 150; 131 | stroke-dashoffset: -124; 132 | } 133 | } 134 | :root{ 135 | /* Transition 136 | -------------------------- */ 137 | /* Colors 138 | -------------------------- */ 139 | /* Link 140 | -------------------------- */ 141 | /* Border 142 | -------------------------- */ 143 | /* Box-shadow 144 | -------------------------- */ 145 | /* Fill 146 | -------------------------- */ 147 | /* Font 148 | -------------------------- */ 149 | /* Size 150 | -------------------------- */ 151 | /* z-index 152 | -------------------------- */ 153 | /* Disable base 154 | -------------------------- */ 155 | /* Icon 156 | -------------------------- */ 157 | /* Checkbox 158 | -------------------------- */ 159 | /* Radio 160 | -------------------------- */ 161 | /* Select 162 | -------------------------- */ 163 | /* Alert 164 | -------------------------- */ 165 | /* Message Box 166 | -------------------------- */ 167 | /* Message 168 | -------------------------- */ 169 | /* Notification 170 | -------------------------- */ 171 | /* Input 172 | -------------------------- */ 173 | /* Cascader 174 | -------------------------- */ 175 | /* Group 176 | -------------------------- */ 177 | /* Tab 178 | -------------------------- */ 179 | /* Button 180 | -------------------------- */ 181 | /* cascader 182 | -------------------------- */ 183 | /* Switch 184 | -------------------------- */ 185 | /* Dialog 186 | -------------------------- */ 187 | /* Table 188 | -------------------------- */ 189 | /* Pagination 190 | -------------------------- */ 191 | /* Popover 192 | -------------------------- */ 193 | /* Tooltip 194 | -------------------------- */ 195 | /* Tag 196 | -------------------------- */ 197 | /* Dropdown 198 | -------------------------- */ 199 | /* Badge 200 | -------------------------- */ 201 | /* Card 202 | --------------------------*/ 203 | /* Slider 204 | --------------------------*/ 205 | /* Steps 206 | --------------------------*/ 207 | /* Menu 208 | --------------------------*/ 209 | /* Rate 210 | --------------------------*/ 211 | /* DatePicker 212 | --------------------------*/ 213 | /* Loading 214 | --------------------------*/ 215 | /* Scrollbar 216 | --------------------------*/ 217 | /* Carousel 218 | --------------------------*/ 219 | /* Collapse 220 | --------------------------*/ 221 | /* Transfer 222 | --------------------------*/ 223 | } -------------------------------------------------------------------------------- /theme/steps.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | :root{ 3 | /* Transition 4 | -------------------------- */ 5 | /* Colors 6 | -------------------------- */ 7 | /* Link 8 | -------------------------- */ 9 | /* Border 10 | -------------------------- */ 11 | /* Box-shadow 12 | -------------------------- */ 13 | /* Fill 14 | -------------------------- */ 15 | /* Font 16 | -------------------------- */ 17 | /* Size 18 | -------------------------- */ 19 | /* z-index 20 | -------------------------- */ 21 | /* Disable base 22 | -------------------------- */ 23 | /* Icon 24 | -------------------------- */ 25 | /* Checkbox 26 | -------------------------- */ 27 | /* Radio 28 | -------------------------- */ 29 | /* Select 30 | -------------------------- */ 31 | /* Alert 32 | -------------------------- */ 33 | /* Message Box 34 | -------------------------- */ 35 | /* Message 36 | -------------------------- */ 37 | /* Notification 38 | -------------------------- */ 39 | /* Input 40 | -------------------------- */ 41 | /* Cascader 42 | -------------------------- */ 43 | /* Group 44 | -------------------------- */ 45 | /* Tab 46 | -------------------------- */ 47 | /* Button 48 | -------------------------- */ 49 | /* cascader 50 | -------------------------- */ 51 | /* Switch 52 | -------------------------- */ 53 | /* Dialog 54 | -------------------------- */ 55 | /* Table 56 | -------------------------- */ 57 | /* Pagination 58 | -------------------------- */ 59 | /* Popover 60 | -------------------------- */ 61 | /* Tooltip 62 | -------------------------- */ 63 | /* Tag 64 | -------------------------- */ 65 | /* Dropdown 66 | -------------------------- */ 67 | /* Badge 68 | -------------------------- */ 69 | /* Card 70 | --------------------------*/ 71 | /* Slider 72 | --------------------------*/ 73 | /* Steps 74 | --------------------------*/ 75 | /* Menu 76 | --------------------------*/ 77 | /* Rate 78 | --------------------------*/ 79 | /* DatePicker 80 | --------------------------*/ 81 | /* Loading 82 | --------------------------*/ 83 | /* Scrollbar 84 | --------------------------*/ 85 | /* Carousel 86 | --------------------------*/ 87 | /* Collapse 88 | --------------------------*/ 89 | /* Transfer 90 | --------------------------*/ 91 | } 92 | 93 | .el-steps{ 94 | font-size: 0; 95 | } 96 | 97 | .el-steps > :last-child .el-step__line{ 98 | display: none; 99 | } 100 | 101 | .el-steps.is-horizontal{ 102 | white-space: nowrap; 103 | } 104 | 105 | .el-steps.is-horizontal.is-center{ 106 | text-align: center; 107 | } 108 | :root{ 109 | /* Transition 110 | -------------------------- */ 111 | /* Colors 112 | -------------------------- */ 113 | /* Link 114 | -------------------------- */ 115 | /* Border 116 | -------------------------- */ 117 | /* Box-shadow 118 | -------------------------- */ 119 | /* Fill 120 | -------------------------- */ 121 | /* Font 122 | -------------------------- */ 123 | /* Size 124 | -------------------------- */ 125 | /* z-index 126 | -------------------------- */ 127 | /* Disable base 128 | -------------------------- */ 129 | /* Icon 130 | -------------------------- */ 131 | /* Checkbox 132 | -------------------------- */ 133 | /* Radio 134 | -------------------------- */ 135 | /* Select 136 | -------------------------- */ 137 | /* Alert 138 | -------------------------- */ 139 | /* Message Box 140 | -------------------------- */ 141 | /* Message 142 | -------------------------- */ 143 | /* Notification 144 | -------------------------- */ 145 | /* Input 146 | -------------------------- */ 147 | /* Cascader 148 | -------------------------- */ 149 | /* Group 150 | -------------------------- */ 151 | /* Tab 152 | -------------------------- */ 153 | /* Button 154 | -------------------------- */ 155 | /* cascader 156 | -------------------------- */ 157 | /* Switch 158 | -------------------------- */ 159 | /* Dialog 160 | -------------------------- */ 161 | /* Table 162 | -------------------------- */ 163 | /* Pagination 164 | -------------------------- */ 165 | /* Popover 166 | -------------------------- */ 167 | /* Tooltip 168 | -------------------------- */ 169 | /* Tag 170 | -------------------------- */ 171 | /* Dropdown 172 | -------------------------- */ 173 | /* Badge 174 | -------------------------- */ 175 | /* Card 176 | --------------------------*/ 177 | /* Slider 178 | --------------------------*/ 179 | /* Steps 180 | --------------------------*/ 181 | /* Menu 182 | --------------------------*/ 183 | /* Rate 184 | --------------------------*/ 185 | /* DatePicker 186 | --------------------------*/ 187 | /* Loading 188 | --------------------------*/ 189 | /* Scrollbar 190 | --------------------------*/ 191 | /* Carousel 192 | --------------------------*/ 193 | /* Collapse 194 | --------------------------*/ 195 | /* Transfer 196 | --------------------------*/ 197 | } -------------------------------------------------------------------------------- /theme/submenu.css: -------------------------------------------------------------------------------- 1 | :root { 2 | /* Transition 3 | -------------------------- */ 4 | /* Colors 5 | -------------------------- */ 6 | /* Link 7 | -------------------------- */ 8 | /* Border 9 | -------------------------- */ 10 | /* Box-shadow 11 | -------------------------- */ 12 | /* Fill 13 | -------------------------- */ 14 | /* Font 15 | -------------------------- */ 16 | /* Size 17 | -------------------------- */ 18 | /* z-index 19 | -------------------------- */ 20 | /* Disable base 21 | -------------------------- */ 22 | /* Icon 23 | -------------------------- */ 24 | /* Checkbox 25 | -------------------------- */ 26 | /* Radio 27 | -------------------------- */ 28 | /* Select 29 | -------------------------- */ 30 | /* Alert 31 | -------------------------- */ 32 | /* Message Box 33 | -------------------------- */ 34 | /* Message 35 | -------------------------- */ 36 | /* Notification 37 | -------------------------- */ 38 | /* Input 39 | -------------------------- */ 40 | /* Cascader 41 | -------------------------- */ 42 | /* Group 43 | -------------------------- */ 44 | /* Tab 45 | -------------------------- */ 46 | /* Button 47 | -------------------------- */ 48 | /* cascader 49 | -------------------------- */ 50 | /* Switch 51 | -------------------------- */ 52 | /* Dialog 53 | -------------------------- */ 54 | /* Table 55 | -------------------------- */ 56 | /* Pagination 57 | -------------------------- */ 58 | /* Popover 59 | -------------------------- */ 60 | /* Tooltip 61 | -------------------------- */ 62 | /* Tag 63 | -------------------------- */ 64 | /* Dropdown 65 | -------------------------- */ 66 | /* Badge 67 | -------------------------- */ 68 | /* Card 69 | --------------------------*/ 70 | /* Slider 71 | --------------------------*/ 72 | /* Steps 73 | --------------------------*/ 74 | /* Menu 75 | --------------------------*/ 76 | /* Rate 77 | --------------------------*/ 78 | /* DatePicker 79 | --------------------------*/ 80 | /* Loading 81 | --------------------------*/ 82 | /* Scrollbar 83 | --------------------------*/ 84 | /* Carousel 85 | --------------------------*/ 86 | /* Collapse 87 | --------------------------*/ 88 | /* Transfer 89 | --------------------------*/ 90 | } -------------------------------------------------------------------------------- /theme/tab-pane.css: -------------------------------------------------------------------------------- 1 | :root { 2 | /* Transition 3 | -------------------------- */ 4 | /* Colors 5 | -------------------------- */ 6 | /* Link 7 | -------------------------- */ 8 | /* Border 9 | -------------------------- */ 10 | /* Box-shadow 11 | -------------------------- */ 12 | /* Fill 13 | -------------------------- */ 14 | /* Font 15 | -------------------------- */ 16 | /* Size 17 | -------------------------- */ 18 | /* z-index 19 | -------------------------- */ 20 | /* Disable base 21 | -------------------------- */ 22 | /* Icon 23 | -------------------------- */ 24 | /* Checkbox 25 | -------------------------- */ 26 | /* Radio 27 | -------------------------- */ 28 | /* Select 29 | -------------------------- */ 30 | /* Alert 31 | -------------------------- */ 32 | /* Message Box 33 | -------------------------- */ 34 | /* Message 35 | -------------------------- */ 36 | /* Notification 37 | -------------------------- */ 38 | /* Input 39 | -------------------------- */ 40 | /* Cascader 41 | -------------------------- */ 42 | /* Group 43 | -------------------------- */ 44 | /* Tab 45 | -------------------------- */ 46 | /* Button 47 | -------------------------- */ 48 | /* cascader 49 | -------------------------- */ 50 | /* Switch 51 | -------------------------- */ 52 | /* Dialog 53 | -------------------------- */ 54 | /* Table 55 | -------------------------- */ 56 | /* Pagination 57 | -------------------------- */ 58 | /* Popover 59 | -------------------------- */ 60 | /* Tooltip 61 | -------------------------- */ 62 | /* Tag 63 | -------------------------- */ 64 | /* Dropdown 65 | -------------------------- */ 66 | /* Badge 67 | -------------------------- */ 68 | /* Card 69 | --------------------------*/ 70 | /* Slider 71 | --------------------------*/ 72 | /* Steps 73 | --------------------------*/ 74 | /* Menu 75 | --------------------------*/ 76 | /* Rate 77 | --------------------------*/ 78 | /* DatePicker 79 | --------------------------*/ 80 | /* Loading 81 | --------------------------*/ 82 | /* Scrollbar 83 | --------------------------*/ 84 | /* Carousel 85 | --------------------------*/ 86 | /* Collapse 87 | --------------------------*/ 88 | /* Transfer 89 | --------------------------*/ 90 | } -------------------------------------------------------------------------------- /vueflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leer0911/myVueDemo/a7e1ea7bf9d41cea68409030d22f830e3d852281/vueflow.png --------------------------------------------------------------------------------