├── .babelrc
├── .editorconfig
├── .gitignore
├── .postcssrc.js
├── README.md
├── build
├── build.js
├── check-versions.js
├── logo.png
├── utils.js
├── vue-loader.conf.js
├── webpack.base.conf.js
├── webpack.dev.conf.js
└── webpack.prod.conf.js
├── config
├── dev.env.js
├── index.js
├── prod.env.js
└── test.env.js
├── dist
├── index.html
└── static
│ ├── css
│ ├── app.cfc0f2bd0296962e5c06d48a9026003b.css
│ └── app.cfc0f2bd0296962e5c06d48a9026003b.css.map
│ └── js
│ ├── app.06c0c6b9f5d79fbc1631.js
│ ├── app.06c0c6b9f5d79fbc1631.js.map
│ ├── manifest.3ad1d5771e9b13dbdad2.js
│ ├── manifest.3ad1d5771e9b13dbdad2.js.map
│ ├── vendor.87666012dcdd7680bdf9.js
│ └── vendor.87666012dcdd7680bdf9.js.map
├── index.html
├── package-lock.json
├── package.json
├── src
├── App.vue
├── assets
│ └── logo.png
├── components
│ ├── Editor.vue
│ ├── Header.vue
│ ├── NoteFolder.vue
│ ├── NoteList.vue
│ ├── Notepad.vue
│ ├── ToolBar.vue
│ ├── Trash.vue
│ ├── TrashHeader.vue
│ ├── TrashNoteList.vue
│ └── TrashToolBar.vue
├── libs
│ └── dateFormat.js
├── main.js
├── router
│ └── index.js
└── store
│ ├── actions.js
│ ├── getters.js
│ ├── index.js
│ ├── mutation-types.js
│ ├── mutation.js
│ └── state.js
├── static
└── .gitkeep
└── test
├── e2e
├── custom-assertions
│ └── elementCount.js
├── nightwatch.conf.js
├── runner.js
└── specs
│ └── test.js
└── unit
├── .eslintrc
├── jest.conf.js
├── setup.js
└── specs
└── HelloWorld.spec.js
/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "presets": [
3 | ["env", {
4 | "modules": false,
5 | "targets": {
6 | "browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
7 | }
8 | }],
9 | "stage-2"
10 | ],
11 | "plugins": ["transform-vue-jsx", "transform-runtime"],
12 | "env": {
13 | "test": {
14 | "presets": ["env", "stage-2"],
15 | "plugins": ["transform-vue-jsx", "transform-es2015-modules-commonjs", "dynamic-import-node"]
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/.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 = true
9 | trim_trailing_whitespace = true
10 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules/
3 | npm-debug.log*
4 | yarn-debug.log*
5 | yarn-error.log*
6 | /test/unit/coverage/
7 | /test/e2e/reports/
8 | selenium-debug.log
9 |
10 | # Editor directories and files
11 | .idea
12 | .vscode
13 | *.suo
14 | *.ntvs*
15 | *.njsproj
16 | *.sln
17 |
--------------------------------------------------------------------------------
/.postcssrc.js:
--------------------------------------------------------------------------------
1 | // https://github.com/michael-ciniawsky/postcss-load-config
2 |
3 | module.exports = {
4 | "plugins": {
5 | "postcss-import": {},
6 | "postcss-url": {},
7 | // to edit target browsers: use "browserslist" field in package.json
8 | "autoprefixer": {}
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # notepad-xiaomi
2 |
3 | > xiaomi notepad
4 |
5 | ## Build Setup
6 |
7 | ``` bash
8 | # install dependencies
9 | npm install
10 |
11 | # serve with hot reload at localhost:8080
12 | npm run dev
13 |
14 | # build for production with minification
15 | npm run build
16 |
17 | 来都来了留下你的小星星吧(页面右上角),你的小星星是对我最大的鼓励^_^...
18 | ```
19 |
20 | For a detailed explanation on how things work, check out the [guide](http://vuejs-templates.github.io/webpack/) and [docs for vue-loader](http://vuejs.github.io/vue-loader).
21 |
--------------------------------------------------------------------------------
/build/build.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | require('./check-versions')()
3 |
4 | process.env.NODE_ENV = 'production'
5 |
6 | const ora = require('ora')
7 | const rm = require('rimraf')
8 | const path = require('path')
9 | const chalk = require('chalk')
10 | const webpack = require('webpack')
11 | const config = require('../config')
12 | const webpackConfig = require('./webpack.prod.conf')
13 |
14 | const spinner = ora('building for production...')
15 | spinner.start()
16 |
17 | rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => {
18 | if (err) throw err
19 | webpack(webpackConfig, (err, stats) => {
20 | spinner.stop()
21 | if (err) throw err
22 | process.stdout.write(stats.toString({
23 | colors: true,
24 | modules: false,
25 | children: false, // If you are using ts-loader, setting this to true will make TypeScript errors show up during build.
26 | chunks: false,
27 | chunkModules: false
28 | }) + '\n\n')
29 |
30 | if (stats.hasErrors()) {
31 | console.log(chalk.red(' Build failed with errors.\n'))
32 | process.exit(1)
33 | }
34 |
35 | console.log(chalk.cyan(' Build complete.\n'))
36 | console.log(chalk.yellow(
37 | ' Tip: built files are meant to be served over an HTTP server.\n' +
38 | ' Opening index.html over file:// won\'t work.\n'
39 | ))
40 | })
41 | })
42 |
--------------------------------------------------------------------------------
/build/check-versions.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | const chalk = require('chalk')
3 | const semver = require('semver')
4 | const packageConfig = require('../package.json')
5 | const shell = require('shelljs')
6 |
7 | function exec (cmd) {
8 | return require('child_process').execSync(cmd).toString().trim()
9 | }
10 |
11 | const versionRequirements = [
12 | {
13 | name: 'node',
14 | currentVersion: semver.clean(process.version),
15 | versionRequirement: packageConfig.engines.node
16 | }
17 | ]
18 |
19 | if (shell.which('npm')) {
20 | versionRequirements.push({
21 | name: 'npm',
22 | currentVersion: exec('npm --version'),
23 | versionRequirement: packageConfig.engines.npm
24 | })
25 | }
26 |
27 | module.exports = function () {
28 | const warnings = []
29 |
30 | for (let i = 0; i < versionRequirements.length; i++) {
31 | const mod = versionRequirements[i]
32 |
33 | if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) {
34 | warnings.push(mod.name + ': ' +
35 | chalk.red(mod.currentVersion) + ' should be ' +
36 | chalk.green(mod.versionRequirement)
37 | )
38 | }
39 | }
40 |
41 | if (warnings.length) {
42 | console.log('')
43 | console.log(chalk.yellow('To use this template, you must update following to modules:'))
44 | console.log()
45 |
46 | for (let i = 0; i < warnings.length; i++) {
47 | const warning = warnings[i]
48 | console.log(' ' + warning)
49 | }
50 |
51 | console.log()
52 | process.exit(1)
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/build/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tianlang89757/vuex-notepad2/4f7784ccf1da9bb8a2a6ac1983699e4c487d92d3/build/logo.png
--------------------------------------------------------------------------------
/build/utils.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | const path = require('path')
3 | const config = require('../config')
4 | const ExtractTextPlugin = require('extract-text-webpack-plugin')
5 | const packageConfig = require('../package.json')
6 |
7 | exports.assetsPath = function (_path) {
8 | const assetsSubDirectory = process.env.NODE_ENV === 'production'
9 | ? config.build.assetsSubDirectory
10 | : config.dev.assetsSubDirectory
11 |
12 | return path.posix.join(assetsSubDirectory, _path)
13 | }
14 |
15 | exports.cssLoaders = function (options) {
16 | options = options || {}
17 |
18 | const cssLoader = {
19 | loader: 'css-loader',
20 | options: {
21 | sourceMap: options.sourceMap
22 | }
23 | }
24 |
25 | const postcssLoader = {
26 | loader: 'postcss-loader',
27 | options: {
28 | sourceMap: options.sourceMap
29 | }
30 | }
31 |
32 | // generate loader string to be used with extract text plugin
33 | function generateLoaders (loader, loaderOptions) {
34 | const loaders = options.usePostCSS ? [cssLoader, postcssLoader] : [cssLoader]
35 |
36 | if (loader) {
37 | loaders.push({
38 | loader: loader + '-loader',
39 | options: Object.assign({}, loaderOptions, {
40 | sourceMap: options.sourceMap
41 | })
42 | })
43 | }
44 |
45 | // Extract CSS when that option is specified
46 | // (which is the case during production build)
47 | if (options.extract) {
48 | return ExtractTextPlugin.extract({
49 | use: loaders,
50 | fallback: 'vue-style-loader'
51 | })
52 | } else {
53 | return ['vue-style-loader'].concat(loaders)
54 | }
55 | }
56 |
57 | // https://vue-loader.vuejs.org/en/configurations/extract-css.html
58 | return {
59 | css: generateLoaders(),
60 | postcss: generateLoaders(),
61 | less: generateLoaders('less'),
62 | sass: generateLoaders('sass', { indentedSyntax: true }),
63 | scss: generateLoaders('sass'),
64 | stylus: generateLoaders('stylus'),
65 | styl: generateLoaders('stylus')
66 | }
67 | }
68 |
69 | // Generate loaders for standalone style files (outside of .vue)
70 | exports.styleLoaders = function (options) {
71 | const output = []
72 | const loaders = exports.cssLoaders(options)
73 |
74 | for (const extension in loaders) {
75 | const loader = loaders[extension]
76 | output.push({
77 | test: new RegExp('\\.' + extension + '$'),
78 | use: loader
79 | })
80 | }
81 |
82 | return output
83 | }
84 |
85 | exports.createNotifierCallback = () => {
86 | const notifier = require('node-notifier')
87 |
88 | return (severity, errors) => {
89 | if (severity !== 'error') return
90 |
91 | const error = errors[0]
92 | const filename = error.file && error.file.split('!').pop()
93 |
94 | notifier.notify({
95 | title: packageConfig.name,
96 | message: severity + ': ' + error.name,
97 | subtitle: filename || '',
98 | icon: path.join(__dirname, 'logo.png')
99 | })
100 | }
101 | }
102 |
--------------------------------------------------------------------------------
/build/vue-loader.conf.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | const utils = require('./utils')
3 | const config = require('../config')
4 | const isProduction = process.env.NODE_ENV === 'production'
5 | const sourceMapEnabled = isProduction
6 | ? config.build.productionSourceMap
7 | : config.dev.cssSourceMap
8 |
9 | module.exports = {
10 | loaders: utils.cssLoaders({
11 | sourceMap: sourceMapEnabled,
12 | extract: isProduction
13 | }),
14 | cssSourceMap: sourceMapEnabled,
15 | cacheBusting: config.dev.cacheBusting,
16 | transformToRequire: {
17 | video: ['src', 'poster'],
18 | source: 'src',
19 | img: 'src',
20 | image: 'xlink:href'
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/build/webpack.base.conf.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | const path = require('path')
3 | const utils = require('./utils')
4 | const config = require('../config')
5 | const vueLoaderConfig = require('./vue-loader.conf')
6 |
7 | function resolve (dir) {
8 | return path.join(__dirname, '..', dir)
9 | }
10 |
11 |
12 |
13 | module.exports = {
14 | context: path.resolve(__dirname, '../'),
15 | entry: {
16 | app: './src/main.js'
17 | },
18 | output: {
19 | path: config.build.assetsRoot,
20 | filename: '[name].js',
21 | publicPath: process.env.NODE_ENV === 'production'
22 | ? config.build.assetsPublicPath
23 | : config.dev.assetsPublicPath
24 | },
25 | resolve: {
26 | extensions: ['.js', '.vue', '.json'],
27 | alias: {
28 | 'vue$': 'vue/dist/vue.esm.js',
29 | '@': resolve('src'),
30 | }
31 | },
32 | module: {
33 | rules: [
34 | {
35 | test: /\.vue$/,
36 | loader: 'vue-loader',
37 | options: vueLoaderConfig
38 | },
39 | {
40 | test: /\.js$/,
41 | loader: 'babel-loader',
42 | include: [resolve('src'), resolve('test'), resolve('node_modules/webpack-dev-server/client')]
43 | },
44 | {
45 | test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
46 | loader: 'url-loader',
47 | options: {
48 | limit: 10000,
49 | name: utils.assetsPath('img/[name].[hash:7].[ext]')
50 | }
51 | },
52 | {
53 | test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/,
54 | loader: 'url-loader',
55 | options: {
56 | limit: 10000,
57 | name: utils.assetsPath('media/[name].[hash:7].[ext]')
58 | }
59 | },
60 | {
61 | test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
62 | loader: 'url-loader',
63 | options: {
64 | limit: 10000,
65 | name: utils.assetsPath('fonts/[name].[hash:7].[ext]')
66 | }
67 | }
68 | ]
69 | },
70 | node: {
71 | // prevent webpack from injecting useless setImmediate polyfill because Vue
72 | // source contains it (although only uses it if it's native).
73 | setImmediate: false,
74 | // prevent webpack from injecting mocks to Node native modules
75 | // that does not make sense for the client
76 | dgram: 'empty',
77 | fs: 'empty',
78 | net: 'empty',
79 | tls: 'empty',
80 | child_process: 'empty'
81 | }
82 | }
83 |
--------------------------------------------------------------------------------
/build/webpack.dev.conf.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | const utils = require('./utils')
3 | const webpack = require('webpack')
4 | const config = require('../config')
5 | const merge = require('webpack-merge')
6 | const path = require('path')
7 | const baseWebpackConfig = require('./webpack.base.conf')
8 | const CopyWebpackPlugin = require('copy-webpack-plugin')
9 | const HtmlWebpackPlugin = require('html-webpack-plugin')
10 | const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin')
11 | const portfinder = require('portfinder')
12 |
13 | const HOST = process.env.HOST
14 | const PORT = process.env.PORT && Number(process.env.PORT)
15 |
16 | const devWebpackConfig = merge(baseWebpackConfig, {
17 | module: {
18 | rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap, usePostCSS: true })
19 | },
20 | // cheap-module-eval-source-map is faster for development
21 | devtool: config.dev.devtool,
22 |
23 | // these devServer options should be customized in /config/index.js
24 | devServer: {
25 | clientLogLevel: 'warning',
26 | historyApiFallback: {
27 | rewrites: [
28 | { from: /.*/, to: path.posix.join(config.dev.assetsPublicPath, 'index.html') },
29 | ],
30 | },
31 | hot: true,
32 | contentBase: false, // since we use CopyWebpackPlugin.
33 | compress: true,
34 | host: HOST || config.dev.host,
35 | port: PORT || config.dev.port,
36 | open: config.dev.autoOpenBrowser,
37 | overlay: config.dev.errorOverlay
38 | ? { warnings: false, errors: true }
39 | : false,
40 | publicPath: config.dev.assetsPublicPath,
41 | proxy: config.dev.proxyTable,
42 | quiet: true, // necessary for FriendlyErrorsPlugin
43 | watchOptions: {
44 | poll: config.dev.poll,
45 | }
46 | },
47 | plugins: [
48 | new webpack.DefinePlugin({
49 | 'process.env': require('../config/dev.env')
50 | }),
51 | new webpack.HotModuleReplacementPlugin(),
52 | new webpack.NamedModulesPlugin(), // HMR shows correct file names in console on update.
53 | new webpack.NoEmitOnErrorsPlugin(),
54 | // https://github.com/ampedandwired/html-webpack-plugin
55 | new HtmlWebpackPlugin({
56 | filename: 'index.html',
57 | template: 'index.html',
58 | inject: true
59 | }),
60 | // copy custom static assets
61 | new CopyWebpackPlugin([
62 | {
63 | from: path.resolve(__dirname, '../static'),
64 | to: config.dev.assetsSubDirectory,
65 | ignore: ['.*']
66 | }
67 | ])
68 | ]
69 | })
70 |
71 | module.exports = new Promise((resolve, reject) => {
72 | portfinder.basePort = process.env.PORT || config.dev.port
73 | portfinder.getPort((err, port) => {
74 | if (err) {
75 | reject(err)
76 | } else {
77 | // publish the new Port, necessary for e2e tests
78 | process.env.PORT = port
79 | // add port to devServer config
80 | devWebpackConfig.devServer.port = port
81 |
82 | // Add FriendlyErrorsPlugin
83 | devWebpackConfig.plugins.push(new FriendlyErrorsPlugin({
84 | compilationSuccessInfo: {
85 | messages: [`Your application is running here: http://${devWebpackConfig.devServer.host}:${port}`],
86 | },
87 | onErrors: config.dev.notifyOnErrors
88 | ? utils.createNotifierCallback()
89 | : undefined
90 | }))
91 |
92 | resolve(devWebpackConfig)
93 | }
94 | })
95 | })
96 |
--------------------------------------------------------------------------------
/build/webpack.prod.conf.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | const path = require('path')
3 | const utils = require('./utils')
4 | const webpack = require('webpack')
5 | const config = require('../config')
6 | const merge = require('webpack-merge')
7 | const baseWebpackConfig = require('./webpack.base.conf')
8 | const CopyWebpackPlugin = require('copy-webpack-plugin')
9 | const HtmlWebpackPlugin = require('html-webpack-plugin')
10 | const ExtractTextPlugin = require('extract-text-webpack-plugin')
11 | const OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin')
12 | const UglifyJsPlugin = require('uglifyjs-webpack-plugin')
13 |
14 | const env = process.env.NODE_ENV === 'testing'
15 | ? require('../config/test.env')
16 | : require('../config/prod.env')
17 |
18 | const webpackConfig = merge(baseWebpackConfig, {
19 | module: {
20 | rules: utils.styleLoaders({
21 | sourceMap: config.build.productionSourceMap,
22 | extract: true,
23 | usePostCSS: true
24 | })
25 | },
26 | devtool: config.build.productionSourceMap ? config.build.devtool : false,
27 | output: {
28 | path: config.build.assetsRoot,
29 | filename: utils.assetsPath('js/[name].[chunkhash].js'),
30 | chunkFilename: utils.assetsPath('js/[id].[chunkhash].js')
31 | },
32 | plugins: [
33 | // http://vuejs.github.io/vue-loader/en/workflow/production.html
34 | new webpack.DefinePlugin({
35 | 'process.env': env
36 | }),
37 | new UglifyJsPlugin({
38 | uglifyOptions: {
39 | compress: {
40 | warnings: false
41 | }
42 | },
43 | sourceMap: config.build.productionSourceMap,
44 | parallel: true
45 | }),
46 | // extract css into its own file
47 | new ExtractTextPlugin({
48 | filename: utils.assetsPath('css/[name].[contenthash].css'),
49 | // Setting the following option to `false` will not extract CSS from codesplit chunks.
50 | // Their CSS will instead be inserted dynamically with style-loader when the codesplit chunk has been loaded by webpack.
51 | // It's currently set to `true` because we are seeing that sourcemaps are included in the codesplit bundle as well when it's `false`,
52 | // increasing file size: https://github.com/vuejs-templates/webpack/issues/1110
53 | allChunks: true,
54 | }),
55 | // Compress extracted CSS. We are using this plugin so that possible
56 | // duplicated CSS from different components can be deduped.
57 | new OptimizeCSSPlugin({
58 | cssProcessorOptions: config.build.productionSourceMap
59 | ? { safe: true, map: { inline: false } }
60 | : { safe: true }
61 | }),
62 | // generate dist index.html with correct asset hash for caching.
63 | // you can customize output by editing /index.html
64 | // see https://github.com/ampedandwired/html-webpack-plugin
65 | new HtmlWebpackPlugin({
66 | filename: process.env.NODE_ENV === 'testing'
67 | ? 'index.html'
68 | : config.build.index,
69 | template: 'index.html',
70 | inject: true,
71 | minify: {
72 | removeComments: true,
73 | collapseWhitespace: true,
74 | removeAttributeQuotes: true
75 | // more options:
76 | // https://github.com/kangax/html-minifier#options-quick-reference
77 | },
78 | // necessary to consistently work with multiple chunks via CommonsChunkPlugin
79 | chunksSortMode: 'dependency'
80 | }),
81 | // keep module.id stable when vendor modules does not change
82 | new webpack.HashedModuleIdsPlugin(),
83 | // enable scope hoisting
84 | new webpack.optimize.ModuleConcatenationPlugin(),
85 | // split vendor js into its own file
86 | new webpack.optimize.CommonsChunkPlugin({
87 | name: 'vendor',
88 | minChunks (module) {
89 | // any required modules inside node_modules are extracted to vendor
90 | return (
91 | module.resource &&
92 | /\.js$/.test(module.resource) &&
93 | module.resource.indexOf(
94 | path.join(__dirname, '../node_modules')
95 | ) === 0
96 | )
97 | }
98 | }),
99 | // extract webpack runtime and module manifest to its own file in order to
100 | // prevent vendor hash from being updated whenever app bundle is updated
101 | new webpack.optimize.CommonsChunkPlugin({
102 | name: 'manifest',
103 | minChunks: Infinity
104 | }),
105 | // This instance extracts shared chunks from code splitted chunks and bundles them
106 | // in a separate chunk, similar to the vendor chunk
107 | // see: https://webpack.js.org/plugins/commons-chunk-plugin/#extra-async-commons-chunk
108 | new webpack.optimize.CommonsChunkPlugin({
109 | name: 'app',
110 | async: 'vendor-async',
111 | children: true,
112 | minChunks: 3
113 | }),
114 |
115 | // copy custom static assets
116 | new CopyWebpackPlugin([
117 | {
118 | from: path.resolve(__dirname, '../static'),
119 | to: config.build.assetsSubDirectory,
120 | ignore: ['.*']
121 | }
122 | ])
123 | ]
124 | })
125 |
126 | if (config.build.productionGzip) {
127 | const CompressionWebpackPlugin = require('compression-webpack-plugin')
128 |
129 | webpackConfig.plugins.push(
130 | new CompressionWebpackPlugin({
131 | asset: '[path].gz[query]',
132 | algorithm: 'gzip',
133 | test: new RegExp(
134 | '\\.(' +
135 | config.build.productionGzipExtensions.join('|') +
136 | ')$'
137 | ),
138 | threshold: 10240,
139 | minRatio: 0.8
140 | })
141 | )
142 | }
143 |
144 | if (config.build.bundleAnalyzerReport) {
145 | const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
146 | webpackConfig.plugins.push(new BundleAnalyzerPlugin())
147 | }
148 |
149 | module.exports = webpackConfig
150 |
--------------------------------------------------------------------------------
/config/dev.env.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | const merge = require('webpack-merge')
3 | const prodEnv = require('./prod.env')
4 |
5 | module.exports = merge(prodEnv, {
6 | NODE_ENV: '"development"'
7 | })
8 |
--------------------------------------------------------------------------------
/config/index.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | // Template version: 1.3.1
3 | // see http://vuejs-templates.github.io/webpack for documentation.
4 |
5 | const path = require('path')
6 |
7 | module.exports = {
8 | dev: {
9 |
10 | // Paths
11 | assetsSubDirectory: 'static',
12 | assetsPublicPath: '/',
13 | proxyTable: {},
14 |
15 | // Various Dev Server settings
16 | host: 'localhost', // can be overwritten by process.env.HOST
17 | port: 8080, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
18 | autoOpenBrowser: false,
19 | errorOverlay: true,
20 | notifyOnErrors: true,
21 | poll: false, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions-
22 |
23 |
24 | /**
25 | * Source Maps
26 | */
27 |
28 | // https://webpack.js.org/configuration/devtool/#development
29 | devtool: 'cheap-module-eval-source-map',
30 |
31 | // If you have problems debugging vue-files in devtools,
32 | // set this to false - it *may* help
33 | // https://vue-loader.vuejs.org/en/options.html#cachebusting
34 | cacheBusting: true,
35 |
36 | cssSourceMap: true
37 | },
38 |
39 | build: {
40 | // Template for index.html
41 | index: path.resolve(__dirname, '../dist/index.html'),
42 |
43 | // Paths
44 | assetsRoot: path.resolve(__dirname, '../dist'),
45 | assetsSubDirectory: 'static',
46 | assetsPublicPath: './',
47 |
48 | /**
49 | * Source Maps
50 | */
51 |
52 | productionSourceMap: true,
53 | // https://webpack.js.org/configuration/devtool/#production
54 | devtool: '#source-map',
55 |
56 | // Gzip off by default as many popular static hosts such as
57 | // Surge or Netlify already gzip all static assets for you.
58 | // Before setting to `true`, make sure to:
59 | // npm install --save-dev compression-webpack-plugin
60 | productionGzip: false,
61 | productionGzipExtensions: ['js', 'css'],
62 |
63 | // Run the build command with an extra argument to
64 | // View the bundle analyzer report after build finishes:
65 | // `npm run build --report`
66 | // Set to `true` or `false` to always turn it on or off
67 | bundleAnalyzerReport: process.env.npm_config_report
68 | }
69 | }
--------------------------------------------------------------------------------
/config/prod.env.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | module.exports = {
3 | NODE_ENV: '"production"'
4 | }
5 |
--------------------------------------------------------------------------------
/config/test.env.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | const merge = require('webpack-merge')
3 | const devEnv = require('./dev.env')
4 |
5 | module.exports = merge(devEnv, {
6 | NODE_ENV: '"testing"'
7 | })
8 |
--------------------------------------------------------------------------------
/dist/index.html:
--------------------------------------------------------------------------------
1 |
notepad-xiaomi
--------------------------------------------------------------------------------
/dist/static/css/app.cfc0f2bd0296962e5c06d48a9026003b.css:
--------------------------------------------------------------------------------
1 | body,html{height:100%}body,html,li,ul{margin:0;padding:0}li,ul{list-style:none}#app{width:100%;height:100%;margin:0 auto;font-family:Microsoft YaHei;background-color:#fbfbfb;font-size:.7rem}.notepad[data-v-74d53388]{position:relative;height:100%}.header .flex[data-v-4a395ce8]{padding:0 1rem;height:2.5rem;line-height:2.5rem}.header .flex .icon[data-v-4a395ce8]{font-size:12px;color:#aaa;vertical-align:middle;cursor:pointer}.header.visible[data-v-4a395ce8]{padding-top:.5rem}.header .visible[data-v-4a395ce8]{display:none}.raised-button[data-v-4a395ce8]{height:1.5rem;min-width:.5rem}.search[data-v-4a395ce8]{position:relative;margin:0 .5rem;border:1px solid #eee;background:#fff}.search .icon[data-v-4a395ce8]{position:absolute;top:.3rem;left:.2rem;color:#ccc;vertical-align:middle;cursor:pointer}.search input[data-v-4a395ce8]{height:1.8rem;border:0;width:100%;padding-left:1.5rem;outline:none}.slide-fade-enter-active[data-v-4a395ce8]{transition:all .3s ease}.slide-fade-leave-active[data-v-4a395ce8]{transition:all .8s cubic-bezier(1,.5,.8,1)}.slide-fade-enter[data-v-4a395ce8],.slide-fade-leave-to[data-v-4a395ce8]{transform:translateY(10px);opacity:0}.noteList[data-v-55204add]{padding:1rem 0}.noteList li[data-v-55204add]{position:relative;background:#fff;border:1px solid #eee;cursor:pointer;overflow:hidden}.noteList li p[data-v-55204add]{margin-bottom:0;height:50px}.noteList.list li[data-v-55204add]{margin-bottom:1rem;padding:.5rem 1rem}.noteList.list li .checkbox[data-v-55204add]{position:absolute;right:.5rem;top:.3rem}.noteList.grid li[data-v-55204add]{width:50%;padding:1rem}.noteList.grid[data-v-55204add]{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem}.noteList.grid li[data-v-55204add]{width:48.7%;margin-bottom:.5rem;display:inline-block}.noteList.grid li .checkbox[data-v-55204add]{position:absolute;right:.5rem;top:.8rem}.noteList li h4[data-v-55204add]{margin:0;padding:0 0 .5rem;border-bottom:1px solid #eee;font-weight:400;color:#ffca00}.noteList.grid li h4[data-v-55204add]{border:none;color:#aeaeae;padding:0}.toolBar[data-v-a076ac20]{position:absolute;bottom:0;width:100%}.addNote[data-v-a076ac20]{padding:1rem;text-align:right}.float-button[data-v-a076ac20]{text-align:center;height:3rem;width:3rem;line-height:3rem;font-size:20px}.toolBtn[data-v-a076ac20]{height:3rem;line-height:3rem;background:#fff;border-top:1px solid #ddd;text-align:center;color:#777}.toolBtn .icon[data-v-a076ac20]{display:inline-block;margin:0 2rem;width:2rem;height:2rem;line-height:2rem;border-radius:2rem;border:1px solid #ddd;text-align:center;cursor:pointer}.edit-panel[data-v-7371ce79]{position:relative;height:100%}.edit-panel .edit-tool[data-v-7371ce79]{padding:.5rem;height:2.5rem;line-height:2.5rem}.edit-panel .back-list[data-v-7371ce79]{vertical-align:text-bottom;margin-right:.5rem;cursor:pointer;vertical-align:sub}.edit-panel .saveNote[data-v-7371ce79]{float:right;color:#ffca00;cursor:pointer}.edit-panel .edit-area[data-v-7371ce79]{position:absolute;top:2.5rem;bottom:0;padding:5px 15px;width:100%;border:0;resize:none;outline:none;background:#fbfbfb}.header[data-v-34119840]{padding:0 .5rem;height:40px;line-height:36px;border:1px solid #eee}.header .back-list[data-v-34119840]{vertical-align:sub;margin-right:.5rem;cursor:pointer}.folder-list .icon[data-v-34119840]{margin-right:1rem;color:#aaa}.folder-list li span[data-v-34119840]{margin:.5rem 1rem;height:20px;display:inline-block;vertical-align:middle}.folder-list ul[data-v-34119840]{margin-top:1rem}.folder-list li[data-v-34119840]{padding:1rem;background:#fff;cursor:pointer}.clearfix[data-v-34119840]:after{display:block;clear:both;content:"";visibility:hidden;height:0}.clearfix[data-v-34119840]{zoom:1}.pull-left[data-v-34119840]{float:left}.pull-right[data-v-34119840]{float:right}.trash-header .flex[data-v-40fd331c]{padding:0 1rem;height:2.5rem;line-height:2.5rem}.trash-header .flex .icon[data-v-40fd331c]{font-size:12px;color:#aaa;vertical-align:middle;cursor:pointer}.trash-header .back-list[data-v-40fd331c]{vertical-align:sub;margin-right:.5rem;cursor:pointer}.trash-header .raised-button[data-v-40fd331c]{height:1.5rem;min-width:.5rem}.trash-notelist .trash-tip[data-v-792a749d]{padding:.6rem 1.5rem;color:#ffca00;background:#fdf9cf;border-top:1px solid #ffde60;border-bottom:1px solid #ffde60}.noteList[data-v-792a749d]{padding:1rem 0}.noteList li[data-v-792a749d]{position:relative;background:#fff;border:1px solid #eee;cursor:pointer;overflow:hidden}.noteList li p[data-v-792a749d]{margin-bottom:0;height:50px}.noteList.list li[data-v-792a749d]{margin-bottom:1rem;padding:.5rem 1rem}.noteList.list li .checkbox[data-v-792a749d]{position:absolute;right:.5rem;top:.3rem}.noteList.grid li[data-v-792a749d]{width:50%;padding:1rem}.noteList.grid[data-v-792a749d]{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem}.noteList.grid li[data-v-792a749d]{width:48.7%;margin-bottom:.5rem;display:inline-block}.noteList.grid li .checkbox[data-v-792a749d]{position:absolute;right:.5rem;top:.8rem}.noteList li h4[data-v-792a749d]{margin:0;padding:0 0 .5rem;border-bottom:1px solid #eee;font-weight:400;color:#ffca00}.noteList.grid li h4[data-v-792a749d]{border:none;color:#aeaeae;padding:0}.toolBar[data-v-56313116]{position:absolute;bottom:0;width:100%}.addNote[data-v-56313116]{padding:1rem;text-align:right}.float-button[data-v-56313116]{text-align:center;line-height:56px;font-size:22px}.toolBtn[data-v-56313116]{height:3rem;line-height:3rem;background:#fff;border-top:1px solid #ddd;text-align:center;color:#777}.toolBtn .icon[data-v-56313116]{display:inline-block;margin:0 2rem;width:2rem;height:2rem;line-height:2rem;border-radius:2rem;border:1px solid #ddd;text-align:center;cursor:pointer}
2 | /*!
3 | * Muse UI v2.1.0 (https://github.com/myronliu347/vue-carbon)
4 | * (c) 2017 Myron Liu
5 | * Released under the MIT License.
6 | */
7 | /*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block}audio:not([controls]){display:none;height:0}progress{vertical-align:baseline}[hidden],template{display:none}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:inherit;font-weight:bolder}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}svg:not(:root){overflow:hidden}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}button,input,select,textarea{font:inherit;margin:0}optgroup{font-weight:700}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}*,:after,:before{box-sizing:border-box}body{line-height:1.5;font-size:14px;font-weight:400;width:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}body,html{overflow-x:hidden;overflow-y:auto}pre{white-space:pre-wrap;word-break:break-all;margin:0}a{text-decoration:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.mu-icon{font-size:24px;cursor:inherit}.mu-back-up[data-v-7fd436bc]{position:fixed;z-index:3;cursor:pointer;display:block;border-radius:4px}.mu-back-up-default[data-v-7fd436bc]{background-color:rgba(126,87,194,.6);border-radius:2px;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:all .2s ease-in-out;display:block}.mu-back-up i[data-v-7fd436bc]{color:#fff;font-size:24px;padding:8px 12px}.mu-badge-container{display:inline-block;position:relative}.mu-badge{font-size:10px;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;padding:0 6px;line-height:1.5;font-size:12px;font-style:normal;border-radius:3px;overflow:hidden}.mu-badge-float{position:absolute;top:-12px;right:-12px}.mu-badge-circle{border-radius:50%;padding:0;width:24px;height:24px;overflow:hidden}.mu-badge-primary{background-color:#7e57c2}.mu-breadcrumb-item-link:active i[data-v-64be4c11],.mu-breadcrumb-item-link:focus i[data-v-64be4c11],.mu-breadcrumb-item-link:hover i[data-v-64be4c11]{color:#7e57c2}.mu-breadcrumb-item-current[data-v-64be4c11]{font-weight:700}.mu-breadcrumb-item-separator[data-v-64be4c11]{margin:0 8px;color:#d7dde4}.mu-appbar{-ms-flex-item-align:start;align-self:flex-start;background-color:#7e57c2;height:56px;padding:0 8px;width:100%;z-index:3}.mu-appbar,.mu-appbar>.left,.mu-appbar>.right{display:-ms-flexbox;display:flex;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-align:center;align-items:center;-webkit-box-flex:0;-webkit-flex-shrink:0;-ms-flex:0 0 auto;-ms-flex-negative:0;flex-shrink:0}.mu-appbar>.left,.mu-appbar>.right{height:100%}.mu-appbar .mu-icon-button{color:inherit}.mu-appbar .mu-flat-button{color:inherit;height:100%;line-height:100%;min-width:auto}.mu-appbar-title{-ms-flex:1;flex:1;padding-left:8px;padding-right:8px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:20px;font-weight:400;line-height:56px}@media (min-width:480px){.mu-appbar-title{line-height:64px}.mu-appbar{height:64px}.mu-appbar-title{font-size:24px}}.mu-icon-button{position:relative;display:inline-block;overflow:visible;line-height:1;width:48px;height:48px;border-radius:50%;font-size:24px;padding:12px;border:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;color:inherit;text-decoration:none;transition-duration:.3s;transition-timing-function:cubic-bezier(.23,1,.32,1);transform:translateZ(0);-webkit-box-flex:0;-webkit-flex-shrink:0;-ms-flex:0 0 auto;-ms-flex-negative:0;flex-shrink:0;margin:0;outline:0;cursor:pointer}.mu-icon-button .mu-circle-ripple{color:rgba(0,0,0,.87)}.mu-icon-button.disabled{color:rgba(0,0,0,.38);cursor:not-allowed}.mu-ripple-wrapper{overflow:hidden}.mu-circle-ripple,.mu-ripple-wrapper{height:100%;width:100%;position:absolute;top:0;left:0}.mu-circle-ripple{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-radius:50%;background-color:currentColor;background-clip:padding-box;opacity:.1}.mu-ripple-enter-active,.mu-ripple-leave-active{transition:opacity 2s cubic-bezier(.23,1,.32,1),transform .45s cubic-bezier(.23,1,.32,1)}.mu-ripple-enter{transform:scale(0)}.mu-ripple-leave-active{opacity:0!important}.mu-focus-ripple-wrapper{height:100%;width:100%;position:absolute;top:0;left:0;overflow:hidden}.mu-focus-ripple{position:absolute;height:100%;width:100%;border-radius:50%;opacity:.16;background-color:currentColor;animation:a .75s cubic-bezier(.445,.05,.55,.95);animation-iteration-count:infinite;animation-direction:alternate}@keyframes a{0%{transform:scale(.72)}to{transform:scale(.85)}}.mu-tooltip{position:absolute;font-size:10px;line-height:22px;padding:0 8px;z-index:5;overflow:hidden;top:-1000px;border-radius:2px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;opacity:0;transition:top 0ms cubic-bezier(.23,1,.32,1) .45s,transform .45s cubic-bezier(.23,1,.32,1) 0ms,opacity .45s cubic-bezier(.23,1,.32,1) 0ms}.mu-tooltip.when-shown{opacity:.9;transition:top 0ms cubic-bezier(.23,1,.32,1) 0ms,transform .45s cubic-bezier(.23,1,.32,1) 0ms,opacity .45s cubic-bezier(.23,1,.32,1) 0ms}.mu-tooltip.touched{font-size:14px;line-height:32px;padding:0 16px}.mu-tooltip-ripple{position:absolute;transform:translate(-50%,-50%);border-radius:50%;background-color:transparent;transition:width 0ms cubic-bezier(.23,1,.32,1) .45s,height 0ms cubic-bezier(.23,1,.32,1) .45s,background-color .45s cubic-bezier(.23,1,.32,1) 0ms}.mu-tooltip-ripple.when-shown{transition:width .45s cubic-bezier(.23,1,.32,1) 0ms,height .45s cubic-bezier(.23,1,.32,1) 0ms,background-color .45s cubic-bezier(.23,1,.32,1) 0ms}.mu-tooltip-label{white-space:nowrap;position:relative}.mu-flat-button{display:inline-block;overflow:hidden;position:relative;border-radius:2px;height:36px;line-height:36px;min-width:88px;transition-duration:.3s;transition-timing-function:cubic-bezier(.23,1,.32,1);transform:translateZ(0);text-decoration:none;text-transform:uppercase;border:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;-webkit-box-flex:0;-webkit-flex-shrink:0;-ms-flex:0 0 auto;-ms-flex-negative:0;flex-shrink:0;margin:0;outline:0;padding:0;cursor:pointer}.mu-flat-button.hover{background-color:rgba(0,0,0,.1)}.mu-flat-button.disabled{color:rgba(0,0,0,.38);cursor:not-allowed;background:none}.mu-flat-button .mu-icon{vertical-align:middle;margin-left:12px;margin-right:0}.mu-flat-button .mu-icon+.mu-flat-button-label{padding-left:8px}.mu-flat-button.no-label .mu-icon{margin-left:0}.mu-flat-button.label-before{padding-right:8px}.mu-flat-button.label-before .mu-icon{margin-right:4px;margin-left:0}.mu-flat-button.label-before .mu-flat-button-label{padding-right:8px}.mu-flat-button-wrapper{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;width:100%;height:100%}.mu-flat-button-primary{color:#7e57c2}.mu-flat-button-label{vertical-align:middle;padding-right:16px;padding-left:16px;font-size:14px}.mu-raised-button{display:inline-block;overflow:hidden;position:relative;border-radius:2px;height:36px;line-height:36px;min-width:88px;transition-duration:.3s;transition-timing-function:cubic-bezier(.23,1,.32,1);transform:translateZ(0);text-decoration:none;text-transform:uppercase;border:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-flex:0;-webkit-flex-shrink:0;-ms-flex:0 0 auto;-ms-flex-negative:0;flex-shrink:0;margin:0;outline:0;padding:0;cursor:pointer;box-shadow:0 1px 6px rgba(0,0,0,.117647),0 1px 4px rgba(0,0,0,.117647)}.mu-raised-button.focus{box-shadow:0 3px 10px rgba(0,0,0,.156863),0 3px 10px rgba(0,0,0,.227451)}.mu-raised-button.disabled{cursor:not-allowed;box-shadow:none}.mu-raised-button.disabled.hover,.mu-raised-button.disabled:active,.mu-raised-button.disabled:hover{box-shadow:none}.mu-raised-button.disabled.hover .mu-raised-button-wrapper,.mu-raised-button.disabled:active .mu-raised-button-wrapper,.mu-raised-button.disabled:hover .mu-raised-button-wrapper{background-color:transparent}.mu-raised-button .mu-icon{vertical-align:middle;margin-left:12px;margin-right:0}.mu-raised-button .mu-icon+.mu-raised-button-label{padding-left:8px}.mu-raised-button.no-label .mu-icon{margin:0}.mu-raised-button.label-before .mu-raised-button-wrapper{padding-right:8px}.mu-raised-button.label-before .mu-icon{margin-right:4px;margin-left:0}.mu-raised-button.label-before .mu-raised-button-label{padding-right:8px}.mu-raised-button:active{box-shadow:0 3px 10px rgba(0,0,0,.156863),0 3px 10px rgba(0,0,0,.227451)}.mu-raised-button-wrapper{border-radius:2px;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;width:100%;height:100%}.mu-raised-button-primary{background-color:#7e57c2}.mu-raised-button-full{width:100%}.mu-raised-button.mu-raised-button-inverse{color:#fff}.mu-raised-button.mu-raised-button-inverse .mu-circle-ripple{opacity:.3}.mu-raised-button.mu-raised-button-inverse.hover .mu-raised-button-wrapper{background-color:hsla(0,0%,100%,.3)}.mu-raised-button-label{vertical-align:middle;padding-right:16px;padding-left:16px}.mu-float-button{position:relative;display:inline-block;overflow:visible;line-height:1;width:56px;height:56px;border-radius:50%;border:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#7e57c2;text-decoration:none;transition-duration:.3s;transition-timing-function:cubic-bezier(.23,1,.32,1);transform:translateZ(0);-webkit-box-flex:0;-webkit-flex-shrink:0;-ms-flex:0 0 auto;-ms-flex-negative:0;flex-shrink:0;margin:0;outline:0;padding:0;cursor:pointer;box-shadow:0 3px 10px rgba(0,0,0,.156863),0 3px 10px rgba(0,0,0,.227451)}.mu-float-button .mu-circle-ripple{opacity:.3}.mu-float-button.disabled{cursor:not-allowed;background-color:#e6e6e6;box-shadow:none}.mu-float-button.disabled.hover,.mu-float-button.disabled:active,.mu-float-button.disabled:hover{box-shadow:none}.mu-float-button.disabled.hover .mu-float-button-wrapper,.mu-float-button.disabled:active .mu-float-button-wrapper,.mu-float-button.disabled:hover .mu-float-button-wrapper{background-color:transparent}.mu-float-button.hover,.mu-float-button:active{box-shadow:0 10px 30px rgba(0,0,0,.188235),0 6px 10px rgba(0,0,0,.227451)}.mu-float-button-wrapper{border-radius:50%;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;position:absolute;left:0;top:0;right:0;bottom:0}.mu-float-button-mini{width:40px;height:40px}.mu-content-block{padding:8px 16px;width:100%}.mu-content-block p{margin-top:1em;margin-bottom:1em}.mu-content-block p:first-child{margin-top:0}.mu-content-block p:last-child{margin-bottom:0}.mu-list{padding:8px 0;width:100%;position:relative;overflow-x:hidden;overflow-y:visible}.mu-list .mu-sub-header:first-child{margin-top:-8px}.mu-item-wrapper{display:block;color:inherit;position:relative;outline:none;cursor:pointer}.mu-item-wrapper.disabled{cursor:default}.mu-item{min-height:48px;display:-ms-flexbox;display:flex;padding:16px;position:relative}.mu-item.show-left{padding-left:72px}.mu-item.show-right{padding-right:56px}.mu-item.has-avatar{min-height:56px}.mu-item.selected{color:#7e57c2}.mu-item-toggle-button{color:rgba(0,0,0,.87);position:absolute;right:4px;top:0}.mu-item-left,.mu-item-right{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:start;justify-content:flex-start;width:40px;height:100%;position:absolute;color:#757575;top:0;max-height:72px}.mu-item-left{left:16px}.mu-item.selected .mu-item-left{color:#7e57c2}.mu-item-right{right:12px;-ms-flex-pack:center;justify-content:center}.mu-item-right>.mu-icon-button,.mu-item-right>.mu-icon-menu{-ms-flex-item-align:start;align-self:flex-start}.mu-item-content{width:100%;-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center}.mu-item-title-row{display:-ms-flexbox;display:flex;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-align:center;align-items:center;position:relative;width:100%;line-height:1}.mu-item-title{-ms-flex:1;flex:1;display:block;font-size:16px;max-width:100%}.mu-item-sub-title{line-height:1;margin-top:4px}.mu-item-after{margin-left:auto;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.mu-item-text{display:-webkit-box;-webkit-line-clamp:2;position:relative;overflow:hidden;font-size:14px;line-height:18px;margin-top:4px;max-height:40px;max-width:100%;text-overflow:ellipsis;word-break:break-all}.mu-item-svg-icon{display:inline-block;width:24px;height:24px;stroke-width:2;fill:none;stroke:currentColor;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mu-expand-enter-active,.mu-expand-leave-active{transition:height .45s cubic-bezier(.23,1,.32,1),padding .45s cubic-bezier(.23,1,.32,1);-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0)}.mu-sub-header{font-size:14px;line-height:48px;padding-left:16px;width:100%}.mu-sub-header.inset{padding-left:72px}.mu-divider{margin:0;height:1px;border:none;background-color:rgba(0,0,0,.12);width:100%}.mu-divider.inset{margin-left:72px}.mu-divider.shallow-inset{margin-left:16px}html.pixel-ratio-2 .mu-divider{transform:scaleY(.5)}html.pixel-ratio-3 .mu-divider{transform:scaleY(.33)}.mu-refresh-control{display:-ms-flexbox;display:flex;margin:0 auto;width:40px;height:40px;color:#7e57c2;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:#fff;border-radius:50%;box-shadow:0 1px 6px rgba(0,0,0,.117647),0 1px 4px rgba(0,0,0,.117647);position:absolute;left:50%;margin-left:-18px;margin-top:24px;z-index:2}.mu-refresh-control .mu-icon{display:inline-block;vertical-align:middle}.mu-refresh-svg-icon{display:inline-block;width:28px;height:28px;fill:currentColor;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mu-refresh-control-animate{transition:all .45s ease}.mu-refresh-control-hide{opacity:1;transform:translate3d(0,-68px,0)}.mu-refresh-control-noshow{opacity:0;transform:scale(.01)}.mu-refresh-control-refreshing{transform:scale(1);opacity:1}.mu-circle-wrapper{display:inline-block;position:relative;width:48px;height:48px}.mu-circle-wrapper.active{animation:e 1568ms linear infinite}.mu-circle-wrapper .mu-circle{border-radius:50%}.mu-circle-wrapper .left{float:left!important}.mu-circle-wrapper .right{float:right!important}.mu-circle-spinner{position:absolute;width:100%;height:100%;opacity:0;border-color:#7e57c2;opacity:1;animation:b 5332ms cubic-bezier(.4,0,.2,1) infinite both}.mu-circle-clipper{display:inline-block;position:relative;width:50%}.mu-circle-clipper,.mu-circle-gap-patch{height:100%;overflow:hidden;border-color:inherit}.mu-circle-gap-patch{position:absolute;top:0;left:45%;width:10%}.mu-circle-gap-patch .mu-circle{width:1000%;left:-450%}.mu-circle-clipper .mu-circle{width:200%;height:100%;border-width:3px;border-style:solid;border-color:inherit;border-bottom-color:transparent!important;border-radius:50%;animation:none;position:absolute;top:0;right:0;bottom:0}.mu-circle-spinner.active .mu-circle-clipper.left .mu-circle{animation:c 1333ms cubic-bezier(.4,0,.2,1) infinite both}.mu-circle-spinner.active .mu-circle-clipper.right .mu-circle{animation:d 1333ms cubic-bezier(.4,0,.2,1) infinite both}.mu-circle-clipper.left .mu-circle{left:0;border-right-color:transparent!important;transform:rotate(129deg)}.mu-circle-clipper.right .mu-circle{left:-100%;border-left-color:transparent!important;transform:rotate(-129deg)}@keyframes b{12.5%{transform:rotate(135deg)}25%{transform:rotate(270deg)}37.5%{transform:rotate(405deg)}50%{transform:rotate(540deg)}62.5%{transform:rotate(675deg)}75%{transform:rotate(810deg)}87.5%{transform:rotate(945deg)}to{transform:rotate(3turn)}}@keyframes c{0%{transform:rotate(130deg)}50%{transform:rotate(-5deg)}to{transform:rotate(130deg)}}@keyframes d{0%{transform:rotate(-130deg)}50%{transform:rotate(5deg)}to{transform:rotate(-130deg)}}@keyframes e{to{transform:rotate(1turn)}}.mu-infinite-scroll{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;padding-bottom:8px;line-height:36px;width:100%}.mu-infinite-scroll-text{margin-left:16px;font-size:16px}.mu-avatar{display:inline-block;height:40px;width:40px;font-size:20px;text-align:center;border-radius:50%}.mu-avatar img{border-radius:50%;width:100%;height:100%;display:block}.mu-avatar-inner{height:100%;-ms-flex-pack:center;justify-content:center}.mu-avatar-inner,.mu-tabs{display:-ms-flexbox;display:flex;width:100%;-ms-flex-align:center;align-items:center}.mu-tabs{-ms-flex-pack:justify;justify-content:space-between;background-color:#7e57c2;color:#fff;text-align:center;position:relative;z-index:3}.mu-tab-link-highlight{position:absolute;left:0;bottom:0;height:2px;transition:transform .3s;-webkit-backface-visibility:hidden;backface-visibility:hidden}.mu-tab-link{min-height:48px;padding-top:12px;padding-bottom:12px;font-size:14px;background:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-decoration:none;border:none;outline:none;-ms-flex:1;flex:1;color:inherit;position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;line-height:normal;-ms-flex-align:center;align-items:center;transition:all .45s cubic-bezier(.445,.05,.55,.95);cursor:pointer}.mu-tab-text.has-icon{margin-top:8px}.mu-paper{transition:all .45s cubic-bezier(.23,1,.32,1);box-shadow:0 1px 6px rgba(0,0,0,.117647),0 1px 4px rgba(0,0,0,.117647)}.mu-paper-round{border-radius:2px}.mu-paper-circle{border-radius:50%}.mu-paper-1{box-shadow:0 1px 6px rgba(0,0,0,.117647),0 1px 4px rgba(0,0,0,.117647)}.mu-paper-2{box-shadow:0 3px 10px rgba(0,0,0,.156863),0 3px 10px rgba(0,0,0,.227451)}.mu-paper-3,.mu-paper-4{box-shadow:0 14px 45px rgba(0,0,0,.247059),0 10px 18px rgba(0,0,0,.219608)}.mu-paper-5{box-shadow:0 19px 60px rgba(0,0,0,.298039),0 15px 20px rgba(0,0,0,.219608)}.mu-bottom-nav{height:56px;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;text-align:center;position:relative;width:100%;color:#fff}.mu-bottom-nav-shift{background-color:#7e57c2}.mu-bottom-nav-shift-wrapper{height:100%;width:100%;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;text-align:center}.mu-buttom-item{-ms-flex:1;flex:1;min-width:80px;max-width:168px;position:relative;height:100%;padding:0;background:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-decoration:none;border:none;outline:none;transition:all .4s cubic-bezier(.445,.05,.55,.95);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding:6px}.mu-bottom-nav-shift .mu-buttom-item{padding:8px 12px 10px;min-width:56px;max-width:168px}.mu-buttom-item-wrapper{display:block;height:100%}.mu-bottom-item-active{padding-top:6px;padding-bottom:5px}.mu-bottom-item-active .mu-bottom-item-text{font-size:14px}.mu-bottom-nav-shift .mu-bottom-item-active{-ms-flex:1.7;flex:1.7;min-width:96px;max-width:168px;padding-top:6px;padding-bottom:5px}.mu-bottom-item-text{display:block;text-align:center;font-size:12px;transition:all .4s cubic-bezier(.23,1,.32,1),color .3s,font-size .3s;-webkit-backface-visibility:hidden;backface-visibility:hidden}.mu-bottom-item-active .mu-bottom-item-text{color:#7e57c2}.mu-bottom-nav-shift .mu-bottom-item-text{opacity:0;transform:scale(1) translate3d(0,6px,0)}.mu-bottom-nav-shift .mu-bottom-item-active .mu-bottom-item-text{transform:scale(1) translate3d(0,2px,0);opacity:1}.mu-bottom-item-icon{display:block;margin:auto;transition:all .45s cubic-bezier(.23,1,.32,1);-webkit-backface-visibility:hidden;backface-visibility:hidden;width:24px}.mu-bottom-item-active .mu-bottom-item-icon{color:#7e57c2}.mu-bottom-nav-shift .mu-bottom-item-icon{transform:translate3d(0,8px,0)}.mu-bottom-nav-shift .mu-bottom-item-active .mu-bottom-item-icon{transform:scale(1) translateZ(0)}.mu-card{position:relative;border-radius:2px;box-shadow:0 1px 6px rgba(0,0,0,.117647),0 1px 4px rgba(0,0,0,.117647)}.mu-card-header{padding:16px;font-weight:500;position:relative;white-space:nowrap}.mu-card-header .mu-avatar{margin-right:16px}.mu-card-header-title{display:inline-block;vertical-align:top;white-space:normal;padding-right:90px}.mu-card-header-title .mu-card-title{font-size:15px}.mu-card-header-title .mu-card-sub-title{font-size:14px;color:rgba(0,0,0,.57)}.mu-card-media{position:relative}.mu-card-media>img{width:100%;max-width:100%;min-width:100%;display:block;vertical-align:top}.mu-card-media-title{position:absolute;left:0;right:0;bottom:0;padding:16px}.mu-card-media-title .mu-card-title{font-size:24px;line-height:36px}.mu-card-media-title .mu-card-sub-title{font-size:14px}.mu-card-title-container{padding:16px;position:relative}.mu-card-title-container .mu-card-title{font-size:24px;line-height:36px}.mu-card-title-container .mu-card-sub-title{font-size:14px;display:block}.mu-card-text{padding:16px;font-size:14px}.mu-card-actions{padding:8px;position:relative}.mu-chip{border-radius:16px;line-height:32px;white-space:nowrap;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;padding:0 12px;cursor:default}.mu-chip .mu-avatar:first-child{margin-left:-12px;margin-right:4px}.mu-chip.active{box-shadow:0 1px 6px rgba(0,0,0,.12),0 1px 4px rgba(0,0,0,.12)}.mu-chip-delete-icon{display:inline-block;margin-right:-8px;margin-left:4px;fill:currentColor;height:24px;width:24px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:all .45s cubic-bezier(.23,1,.32,1)}.mu-overlay{position:absolute;left:0;right:0;top:0;bottom:0;background-color:#000;opacity:.4;z-index:6}.mu-overlay-fade-enter-active,.mu-overlay-fade-leave-active{transition:opacity .45s cubic-bezier(.23,1,.32,1)}.mu-overlay-fade-enter,.mu-overlay-fade-leave-active{opacity:0!important}.mu-dialog-wrapper{position:fixed;left:0;top:0;right:0;bottom:0;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.mu-dialog{width:75%;max-width:768px;padding:0;border-radius:2px;font-size:16px;box-shadow:0 19px 60px rgba(0,0,0,.298039),0 15px 20px rgba(0,0,0,.219608)}.mu-dialog-title{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:24px 24px 20px;margin:0;font-size:22px;font-weight:400;line-height:32px}.mu-dialog-title+.mu-dialog-body{padding-top:0}.mu-dialog-title.scrollable{border-bottom:1px solid rgba(0,0,0,.12)}.mu-dialog-body{padding:24px 24px 20px}.mu-dialog-actions{min-height:48px;padding:8px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end}.mu-dialog-actions .mu-raised-button+.mu-raised-button{margin-left:10px}.mu-dialog-actions.scrollable{border-top:1px solid rgba(0,0,0,.12)}.mu-dialog-slide-enter-active,.mu-dialog-slide-leave-active{transition:opacity .45s cubic-bezier(.23,1,.32,1)}.mu-dialog-slide-enter-active .mu-dialog,.mu-dialog-slide-leave-active .mu-dialog{-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .45s cubic-bezier(.23,1,.32,1)}.mu-dialog-slide-enter,.mu-dialog-slide-leave-active{opacity:0}.mu-dialog-slide-enter .mu-dialog{transform:translate3d(0,-64px,0)}.mu-dialog-slide-leave-active .mu-dialog{transform:translate3d(0,64px,0)}.mu-toast{height:48px;line-height:48px;padding:0 24px;border-radius:24px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;word-wrap:break-word;max-width:568px;width:100%;position:fixed;left:0;bottom:0}@media only screen and (max-width:992px) and (min-width:601px){.mu-toast{width:auto;min-width:288px;left:5%;bottom:7%}}@media only screen and (min-width:993px){.mu-toast{width:auto;min-width:8%;top:10%;right:7%;left:auto;bottom:auto;min-width:288px}}.mu-toast-enter-active,.mu-toast-leave-active{transition:transform .4s cubic-bezier(.23,1,.32,1),opacity .4s cubic-bezier(.23,1,.32,1);-webkit-backface-visibility:hidden;backface-visibility:hidden}.mu-toast-enter,.mu-toast-leave-active{transform:translate3d(0,100%,0);opacity:0}.mu-snackbar{position:fixed;bottom:0;left:0;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;padding:0 24px;min-height:48px;width:100%;max-width:568px}.mu-snackbar-action{margin:0 -16px 0 24px}.mu-snackbar-message{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;padding-top:8px;padding-bottom:8px}@media only screen and (max-width:992px) and (min-width:601px){.mu-snackbar{width:auto;min-width:288px;left:5%;bottom:7%}}@media only screen and (min-width:993px){.mu-snackbar{width:auto;min-width:8%;top:10%;right:7%;left:auto;bottom:auto;min-width:288px}}.mu-snackbar-enter-active,.mu-snackbar-leave-active{transition:transform .4s cubic-bezier(.23,1,.32,1),opacity .4s cubic-bezier(.23,1,.32,1);-webkit-backface-visibility:hidden;backface-visibility:hidden}.mu-snackbar-enter,.mu-snackbar-leave-active{transform:translate3d(0,100%,0);opacity:0}.mu-popup{position:fixed;top:50%;left:50%;transform:translate3d(-50%,-50%,0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.mu-popup-top{top:0;right:auto;bottom:auto;left:50%;transform:translate3d(-50%,0,0)}.mu-popup-right{top:50%;right:0;bottom:auto;left:auto;transform:translate3d(0,-50%,0)}.mu-popup-bottom{top:auto;right:auto;bottom:0;left:50%;transform:translate3d(-50%,0,0)}.mu-popup-left{top:50%;right:auto;bottom:auto;left:0;transform:translate3d(0,-50%,0)}.popup-slide-bottom-enter-active,.popup-slide-bottom-leave-active,.popup-slide-left-enter-active,.popup-slide-left-leave-active,.popup-slide-right-enter-active,.popup-slide-right-leave-active,.popup-slide-top-enter-active,.popup-slide-top-leave-active{transition:transform .3s ease}.popup-slide-top-enter,.popup-slide-top-leave-active{transform:translate3d(-50%,-100%,0)}.popup-slide-right-enter,.popup-slide-right-leave-active{transform:translate3d(100%,-50%,0)}.popup-slide-bottom-enter,.popup-slide-bottom-leave-active{transform:translate3d(-50%,100%,0)}.popup-slide-left-enter,.popup-slide-left-leave-active{transform:translate3d(-100%,-50%,0)}.popup-fade-enter-active,.popup-fade-leave-active{transition:opacity .3s}.popup-fade-enter,.popup-fade-leave-active{opacity:0}.mu-menu{z-index:2;outline:none}.mu-menu-list{padding:8px 0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow-y:auto;-webkit-overflow-scrolling:touch}.mu-menu-list>.mu-divider{margin:7px 0 8px}.mu-menu-list>.mu-sub-header{padding-left:24px;margin-top:-8px}.mu-menu-destop{padding:16px 0}.mu-menu-destop>.mu-sub-header{margin-top:-16px}.mu-menu-item-wrapper{display:block;font-size:16px;height:48px;line-height:48px;transition:all .45s cubic-bezier(.23,1,.32,1);position:relative;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mu-menu-destop .mu-menu-item-wrapper{height:32px;line-height:32px;font-size:15px}.mu-menu-item-wrapper.disabled{cursor:not-allowed}.mu-menu-item{padding:0 16px;position:relative;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center}.mu-menu-destop .mu-menu-item{padding:0 24px}.mu-menu-item.have-left-icon{padding-left:72px}.mu-menu-item-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word}.mu-menu-item-left-icon{position:absolute;top:0;left:4px;margin:12px}.mu-menu-destop .mu-menu-item-left-icon{top:4px;left:24px;margin:0}.mu-menu-item-right-icon{position:absolute;top:0;right:4px;margin:12px}.mu-menu-destop .mu-menu-item-right-icon{top:4px;right:24px;margin:0}.mu-popover{position:fixed;background:#fff;border-radius:2px;max-height:100%;overflow:visible;-webkit-overflow-scrolling:touch;box-shadow:0 1px 6px rgba(0,0,0,.117647),0 1px 4px rgba(0,0,0,.117647);transform-origin:center top}.mu-popover-enter-active,.mu-popover-leave-active{transition-duration:.3s;transition-property:opacity,transform}.mu-popover-enter,.mu-popover-leave-active{transform:scaleY(0);opacity:0}.mu-bottom-sheet{position:fixed;left:0;right:0;bottom:0}.mu-bottom-sheet-enter-active,.mu-bottom-sheet-leave-active{transition:transform .3s cubic-bezier(.23,1,.32,1);-webkit-backface-visibility:hidden;backface-visibility:hidden}.mu-bottom-sheet-enter,.mu-bottom-sheet-leave-active{transform:translate3d(0,100%,0)}.mu-dropDown-menu,.mu-icon-menu{display:inline-block;position:relative}.mu-dropDown-menu{font-size:15px;height:48px;transition:all .45s cubic-bezier(.23,1,.32,1);cursor:pointer;overflow:hidden}.mu-dropDown-menu.disabled{color:rgba(0,0,0,.38);cursor:not-allowed}.mu-dropDown-menu-icon{position:absolute;right:16px;top:16px;fill:currentColor;display:inline-block;width:24px;height:24px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mu-dropDown-menu-text{padding-left:24px;padding-right:48px;line-height:56px;opacity:1;position:relative}.mu-dropDown-menu.disabled .mu-dropDown-menu-text{color:rgba(0,0,0,.38)}.mu-dropDown-menu-text-overflow{white-space:nowrap;overflow:hidden;width:100%}.mu-dropDown-menu-line{bottom:1px;left:0;margin:-1px 24px;right:0;position:absolute;height:1px;transition:all .45s cubic-bezier(.23,1,.32,1)}html.pixel-ratio-2 .mu-dropDown-menu-line{transform:scaleY(.5)}html.pixel-ratio-3 .mu-dropDown-menu-line{transform:scaleY(.33)}.mu-drawer{width:256px;position:fixed;top:0;bottom:0;overflow:auto;-webkit-overflow-scrolling:touch;transition-property:transform,visibility;transition-duration:.45s;transform:translate3d(-100%,0,0);border-radius:0;left:0;visibility:hidden;z-index:4}.mu-drawer::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;-webkit-appearance:none;opacity:0!important}.mu-drawer.right{right:0;left:auto;transform:translate3d(100%,0,0)}.mu-drawer.open{transform:translateZ(0);visibility:visible}.mu-picker{background:#fff;overflow:hidden;width:100%;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;position:relative;-webkit-mask-box-image:-webkit-linear-gradient(bottom,transparent,transparent 5%,#fff 20%,#fff 80%,transparent 95%,transparent);-webkit-mask-box-image:linear-gradient(0deg,transparent,transparent 5%,#fff 20%,#fff 80%,transparent 95%,transparent)}.mu-picker-center-highlight{height:36px;box-sizing:border-box;position:absolute;left:0;width:100%;top:50%;margin-top:-18px;pointer-events:none;border-top:1px solid rgba(0,0,0,.12);border-bottom:1px solid rgba(0,0,0,.12)}.mu-picker-center-highlight:before{left:0;top:0;bottom:auto;right:auto}.mu-picker-center-highlight:after{left:0;bottom:0;right:auto;top:auto}.mu-picker-slot{font-size:18px;overflow:hidden;position:relative;max-height:100%;text-align:center}.mu-picker-slot.mu-picker-slot-divider{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;line-height:36px}.mu-picker-slot-wrapper.animate{transition:transform .45s cubic-bezier(.23,1,.32,1)}.mu-picker-item,.mu-picker-slot-wrapper.animate{-webkit-backface-visibility:hidden;backface-visibility:hidden}.mu-picker-item{line-height:36px;padding:0 10px;font-size:20px;white-space:nowrap;position:relative;overflow:hidden;text-overflow:ellipsis;left:0;top:0;width:100%;box-sizing:border-box;transition-duration:.3s}.mu-picker-item.selected{transform:translateZ(0) rotateX(0)}.mu-text-field{font-size:16px;width:256px;min-height:48px;display:inline-block;position:relative;margin-bottom:8px}.mu-text-field.full-width{width:100%}.mu-text-field.has-icon{padding-left:56px}.mu-text-field.focus-state{color:#7e57c2}.mu-text-field.has-label{min-height:72px}.mu-text-field-icon{position:absolute;left:16px;top:12px}.mu-text-field.has-label .mu-text-field-icon{top:36px}.mu-text-field-content{display:block;height:100%;padding-bottom:12px;padding-top:4px}.mu-text-field.disabled .mu-text-field-content{color:rgba(0,0,0,.38);cursor:not-allowed}.mu-text-field.has-label .mu-text-field-content{padding-top:28px;padding-bottom:12px}.mu-text-field-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;border:none;background:none;border-radius:0 0 0 0;box-shadow:none;display:block;padding:0;margin:0;width:100%;height:32px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-stretch:inherit;font-size:inherit;font-family:inherit;position:relative}.mu-text-field-help{position:absolute;margin-top:6px;font-size:12px;line-height:12px;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;left:0;right:0}.mu-text-field.has-icon .mu-text-field-help{left:56px}.mu-text-field.disabled .mu-text-field-help{color:inherit}.mu-text-field-line{margin:0;height:1px;border:none;left:0;right:0;position:absolute}.mu-text-field.has-icon .mu-text-field-line{left:56px}.mu-text-field-line.disabled{height:auto;background-color:transparent;border-bottom:2px dotted rgba(0,0,0,.38)}.mu-text-field-focus-line{margin:0;height:2px;border:none;background-color:#7e57c2;position:absolute;left:0;right:0;margin-top:-1px;transform:scaleX(0);transition:transform .45s cubic-bezier(.23,1,.32,1)}.mu-text-field.has-icon .mu-text-field-focus-line{left:56px}.mu-text-field-focus-line.error,.mu-text-field-focus-line.focus{transform:scaleX(1)}.mu-text-field-textarea{resize:vertical;line-height:1.5;position:relative;height:100%;resize:none}.mu-text-field-multiline{width:100%;position:relative}.mu-text-field-textarea-hide{width:100%;height:auto;resize:none;position:absolute;padding:0;overflow:auto;visibility:hidden}.mu-text-field-label{line-height:20px;transition:all .45s cubic-bezier(.23,1,.32,1);z-index:1;cursor:text;transform:translateZ(0) scale(.75);transform-origin:left top;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden}.mu-text-field.has-label .mu-text-field-label{top:8px;position:absolute}.mu-text-field.has-label .mu-text-field-label.float{transform:translate3d(0,28px,0) scale(1)}.mu-text-field-hint{position:absolute;opacity:0;transition:opacity .45s cubic-bezier(.23,1,.32,1);line-height:34px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:text;overflow:hidden;white-space:nowrap;width:100%}.mu-text-field-hint.show{opacity:1}.mu-text-field.multi-line .mu-text-field-hint{line-height:1.5}.mu-select-field .mu-dropDown-menu{display:block;width:100%;height:32px}.mu-select-field .mu-dropDown-menu-text{line-height:32px;height:32px;padding-left:0;padding-right:24px;word-wrap:break-word;overflow:hidden}.mu-select-field .mu-dropDown-menu-line{display:none}.mu-select-field .mu-dropDown-menu-icon{right:0;top:6px}.mu-checkbox{position:relative;display:inline-block;height:24px;line-height:24px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mu-checkbox input[type=checkbox]{display:none}.mu-checkbox input[type=checkbox]:checked+.mu-checkbox-wrapper .mu-checkbox-icon-uncheck{opacity:0;transition:opacity .65s cubic-bezier(.23,1,.32,1) .15s;color:#7e57c2}.mu-checkbox input[type=checkbox]:checked+.mu-checkbox-wrapper .mu-checkbox-icon-checked{opacity:1;transform:scale(1);transition:opacity 0ms cubic-bezier(.23,1,.32,1),transform .8s cubic-bezier(.23,1,.32,1)}.mu-checkbox input[type=checkbox]:checked+.mu-checkbox-wrapper .mu-checkbox-ripple-wrapper{color:#7e57c2}.mu-checkbox *{pointer-events:none}.mu-checkbox.disabled{cursor:not-allowed}.mu-checkbox-wrapper{display:-ms-flexbox;display:flex;width:100%;height:24px;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.mu-checkbox-icon{width:24px;height:24px;vertical-align:middle;position:relative;margin-right:16px}.mu-checkbox.label-left .mu-checkbox-icon{margin-right:0;margin-left:16px}.mu-checkbox.no-label .mu-checkbox-icon{margin-left:0;margin-right:0}.mu-checkbox-svg-icon{display:inline-block;fill:currentColor;height:24px;width:24px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mu-checkbox-icon-uncheck{position:absolute;left:0;top:0;opacity:1;transition:opacity 1s cubic-bezier(.23,1,.32,1) .2s}.mu-checkbox-icon-checked{position:absolute;left:0;top:0;opacity:0;color:#7e57c2;transform:scale(0);transition:opacity .45s cubic-bezier(.23,1,.32,1),transform 0ms cubic-bezier(.23,1,.32,1) .45s}.mu-checkbox-ripple-wrapper{width:48px;height:48px;top:-12px;left:-12px}.mu-checkbox.label-left .mu-checkbox-ripple-wrapper{right:-12px;left:auto}.mu-radio{position:relative;display:inline-block;height:24px;line-height:24px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mu-radio input[type=radio]{display:none}.mu-radio input[type=radio]:checked+.mu-radio-wrapper .mu-radio-icon-uncheck{opacity:0;transform:scale(0);color:#7e57c2}.mu-radio input[type=radio]:checked+.mu-radio-wrapper .mu-radio-icon-checked{opacity:1;transform:scale(1)}.mu-radio input[type=radio]:checked+.mu-radio-wrapper .mu-radio-ripple-wrapper{color:#7e57c2}.mu-radio *{pointer-events:none}.mu-radio.disabled{cursor:not-allowed}.mu-radio-wrapper{display:-ms-flexbox;display:flex;width:100%;height:24px;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.mu-radio-icon{width:24px;height:24px;vertical-align:middle;position:relative;margin-right:16px}.mu-radio.label-left .mu-radio-icon{margin-right:0;margin-left:16px}.mu-radio.no-label .mu-radio-icon{margin-left:0;margin-right:0}.mu-radio-label{-ms-flex:1;flex:1;font-size:16px}.mu-radio-svg-icon{display:inline-block;fill:currentColor;height:24px;width:24px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mu-radio-icon-uncheck{opacity:1}.mu-radio-icon-checked,.mu-radio-icon-uncheck{position:absolute;left:0;top:0;transition:all .45s cubic-bezier(.23,1,.32,1)}.mu-radio-icon-checked{opacity:0;color:#7e57c2;transform:scale(0)}.mu-radio-ripple-wrapper{width:48px;height:48px;top:-12px;left:-12px}.mu-radio.label-left .mu-radio-ripple-wrapper{right:-12px;left:auto}.mu-switch{position:relative;display:inline-block;height:24px;line-height:24px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mu-switch input[type=checkbox]{display:none}.mu-switch input[type=checkbox]:checked+.mu-switch-wrapper .mu-switch-track{background-color:rgba(126,87,194,.5)}.mu-switch input[type=checkbox]:checked+.mu-switch-wrapper .mu-switch-thumb{background-color:#7e57c2;color:#7e57c2;transform:translate3d(18px,0,0)}.mu-switch *{pointer-events:none}.mu-switch.disabled{cursor:not-allowed}.mu-switch-wrapper{display:-ms-flexbox;display:flex;width:100%;height:24px;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.mu-switch-container{width:38px;padding:4px 0 4px 2px;position:relative;margin-right:8px;transition:all .45s cubic-bezier(.23,1,.32,1)}.mu-switch.label-left .mu-switch-container{margin-right:0;margin-left:8px}.mu-switch.no-label .mu-switch-container{margin-left:0;margin-right:0}.mu-switch-track{width:100%;height:14px;border-radius:30px;transition:all .45s cubic-bezier(.23,1,.32,1)}.mu-switch-track,.mu-switch.disabled .mu-switch-track{background-color:#bdbdbd}.mu-switch-thumb{position:absolute;top:1px;left:0;width:20px;height:20px;line-height:24px;border-radius:50%;box-shadow:0 1px 6px rgba(0,0,0,.117647),0 1px 4px rgba(0,0,0,.117647);transition:all .45s cubic-bezier(.23,1,.32,1);-webkit-backface-visibility:hidden;backface-visibility:hidden}.mu-switch-ripple-wrapper{height:200%;width:200%;top:-10px;left:-10px}.mu-slider{width:100%;position:relative;height:24px;margin-bottom:16px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;outline:none}.mu-slider-track{right:0}.mu-slider-fill,.mu-slider-track{position:absolute;height:2px;left:0;top:50%;margin-top:-1px}.mu-slider-fill{width:100%;background-color:#7e57c2}.mu-slider.disabled .mu-slider-fill{background-color:#bdbdbd}.mu-slider-thumb{position:absolute;top:50%;width:12px;height:12px;background-color:#7e57c2;color:#7e57c2;border-radius:50%;transform:translate(-50%,-50%);transition:background .45s cubic-bezier(.23,1,.32,1),border-color .45s cubic-bezier(.23,1,.32,1),width .45s cubic-bezier(.23,1,.32,1),height .45s cubic-bezier(.23,1,.32,1);cursor:pointer}.mu-slider.active .mu-slider-thumb{width:20px;height:20px}.mu-slider.disabled .mu-slider-thumb,.mu-slider.zero .mu-slider-thumb{border:2px solid #bdbdbd}.mu-slider.disabled .mu-slider-thumb .mu-focus-ripple-wrapper,.mu-slider.zero .mu-slider-thumb .mu-focus-ripple-wrapper{top:-14px;left:-14px}.mu-slider.disabled .mu-slider-thumb{cursor:default}.mu-slider-thumb .mu-focus-ripple-wrapper{width:36px;height:36px;top:-12px;left:-12px}.mu-linear-progress{position:relative;height:4px;display:block;width:100%;border-radius:2px;margin:0;overflow:hidden}.mu-linear-progress-indeterminate{width:40%;animation:f .84s cubic-bezier(.445,.05,.55,.95);animation-iteration-count:infinite}.mu-linear-progress-determinate,.mu-linear-progress-indeterminate{position:absolute;top:0;bottom:0;border-radius:2px;background-color:#7e57c2}.mu-linear-progress-determinate{left:0;transition:width .3s linear}@keyframes f{0%{left:-40%}to{left:100%}}.mu-circular-progress{display:inline-block;position:relative;overflow:hidden}.mu-circular-progress-determinate{position:relative}.mu-circular-progress-determinate-path{stroke:#7e57c2;stroke-linecap:round;transition:all .3s linear}.mu-grid-list{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.mu-grid-tile{position:relative;display:block;height:100%;overflow:hidden}.mu-grid-tile>img{height:100%;transform:translateX(-50%);position:relative;left:50%}.mu-grid-tile-titlebar{position:absolute;left:0;right:0;bottom:0;height:48px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.mu-grid-tile.multiline .mu-grid-tile-titlebar{height:68px}.mu-grid-tile.top .mu-grid-tile-titlebar{bottom:auto;top:0}.mu-grid-tile-title-container{margin-left:16px;margin-right:0;-ms-flex:1;flex:1;overflow:hidden}.mu-grid-tile.action-left .mu-grid-tile-title-container{margin-right:16px;margin-left:0}.mu-grid-tile-action{-ms-flex-order:1;order:1}.mu-grid-tile.action-left .mu-grid-tile-action{-ms-flex-order:-1;order:-1}.mu-grid-tile-title{font-size:16px}.mu-grid-tile-subtitle,.mu-grid-tile-title{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;word-wrap:break-word}.mu-grid-tile-subtitle{font-size:12px}.mu-table{width:100%;padding:0 24px;border-collapse:collapse;border-spacing:0;table-layout:fixed}.mu-thead,.mu-tr{border-bottom:1px solid rgba(0,0,0,.12)}.mu-tr{height:48px}.mu-tr:last-child{border-bottom:none}.mu-tr.stripe{background-color:hsla(0,0%,100%,.4)}.mu-tfoot .mu-tr{border-top:1px solid rgba(0,0,0,.12)}.mu-tr .mu-checkbox{vertical-align:middle}.mu-checkbox-col{width:72px}.mu-td{height:48px;font-size:13px;white-space:nowrap;text-overflow:ellipsis}.mu-td,.mu-th{padding-left:24px;padding-right:24px;text-align:left}.mu-th{font-weight:400;font-size:12px;height:56px;position:relative}.mu-th-wrapper{position:relative;padding-top:12px;padding-bottom:12px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mu-date-picker{display:inline-block;position:relative;width:256px}.mu-date-picker.fullWidth{width:100%}.mu-date-picker-dialog{width:310px}.mu-date-picker-dialog.landscape{width:479px}.mu-date-picker-dialog.landscape .mu-dialog-body{min-height:330px;min-width:479px}.mu-date-picker-dialog .mu-dialog-body{padding:0;min-height:434px;min-width:310px}.mu-calendar{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:310px}.mu-calendar-landspace{width:479px}.mu-calendar-container{-ms-flex-direction:column;flex-direction:column}.mu-calendar-container,.mu-calendar-monthday-container{display:-ms-flexbox;display:flex}.mu-calendar-monthday-container{-ms-flex-line-pack:justify;align-content:space-between;-ms-flex-direction:column;flex-direction:column;font-size:12px;font-weight:400;padding:0 8px;transition:all .45s cubic-bezier(.23,1,.32,1)}.mu-calendar-monthday-container,.mu-calendar-week{-ms-flex-pack:justify;justify-content:space-between}.mu-calendar-week{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;font-weight:500;height:20px;line-height:15px;opacity:.5;text-align:center}.mu-calendar-week-day{width:42px}.mu-calendar-monthday{position:relative;overflow:hidden;height:214px}.mu-calendar-monthday-slide{height:100%;width:100%}.mu-calendar-actions{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:end;justify-content:flex-end;margin:0;max-height:48px;padding:0}.mu-calendar-actions .mu-flat-button{min-width:64px;margin:4px 8px 8px 0}.mu-calendar-slide-next-enter-active,.mu-calendar-slide-next-leave-active,.mu-calendar-slide-prev-enter-active,.mu-calendar-slide-prev-leave-active{transition:transform .45s cubic-bezier(.23,1,.32,1),opacity .45s cubic-bezier(.23,1,.32,1);-webkit-backface-visibility:hidden;backface-visibility:hidden;position:absolute;left:0;right:0;top:0}.mu-calendar-slide-next-enter{transform:translate3d(100%,0,0)}.mu-calendar-slide-next-leave-active{opacity:0}.mu-calendar-slide-next-leave-active,.mu-calendar-slide-prev-enter{transform:translate3d(-100%,0,0)}.mu-calendar-slide-prev-leave-active{transform:translate3d(100%,0,0);opacity:0}.mu-date-display{width:100%;font-weight:700;display:block;background-color:#7e57c2;border-top-left-radius:2px;border-top-right-radius:2px;border-bottom-left-radius:0;padding:20px}.mu-calendar-landspace .mu-date-display{width:165px;height:330px;float:left;border-top-right-radius:0;border-bottom-left-radius:2px}.mu-date-display-year{position:relative;overflow:hidden;margin:0;font-size:16px;font-weight:500;line-height:16px;height:16px;opacity:.7;transition:all .45s cubic-bezier(.23,1,.32,1);margin-bottom:10px}.mu-date-display.selected-year .mu-date-display-year{opacity:1}.mu-date-display-year-title{cursor:pointer}.mu-date-display-year.disabled .mu-date-display-year-title{cursor:not-allowed}.mu-date-display-year-title .mu-date-display.selected-year{cursor:default}.mu-date-display-monthday{position:relative;display:block;overflow:hidden;font-size:36px;line-height:36px;height:38px;transition:all .45s cubic-bezier(.23,1,.32,1);width:100%;font-weight:500}.mu-date-display.selected-year .mu-date-display-monthday{opacity:.7}.mu-calendar-landspace .mu-date-display-monthday{height:100%}.mu-date-display-slideIn-wrapper{position:absolute;height:100%;width:100%;top:0;left:0}.mu-date-display-monthday-title{cursor:default;width:100%;display:block}.mu-date-display.selected-year .mu-date-display-monthday-title{cursor:pointer}.mu-date-display-next-enter-active,.mu-date-display-next-leave-active,.mu-date-display-prev-enter-active,.mu-date-display-prev-leave-active{transition:transform .45s cubic-bezier(.23,1,.32,1),opacity .45s cubic-bezier(.23,1,.32,1);-webkit-backface-visibility:hidden;backface-visibility:hidden}.mu-date-display-next-enter{transform:translate3d(0,-100%,0);opacity:0}.mu-date-display-next-leave-active,.mu-date-display-prev-enter{transform:translate3d(0,100%,0);opacity:0}.mu-date-display-prev-leave-active{transform:translate3d(0,-100%,0);opacity:0}.mu-calendar-toolbar{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;height:48px}.mu-calendar-toolbar-title-wrapper{position:relative;overflow:hidden;height:100%;font-size:14px;font-weight:500;text-align:center;width:100%}.mu-calendar-toolbar-title{position:absolute;height:100%;width:100%;top:0;left:0;line-height:48px}.mu-calendar-svg-icon{display:block;fill:currentColor;height:24px;width:24px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mu-calendar-monthday-content{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:start;justify-content:flex-start;font-weight:400;height:228px;line-height:2;position:relative;text-align:center}.mu-calendar-monthday-content,.mu-calendar-monthday-row{display:-ms-flexbox;display:flex}.mu-calendar-monthday-row{-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:distribute;justify-content:space-around;height:34px;margin-bottom:2px}.mu-day-button{display:inline-block;background:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;outline:none;text-decoration:none;cursor:pointer;margin:0;padding:4px 0;font-size:inherit;font-weight:400;position:relative;border:10px;width:42px}.mu-day-button.disabled{opacity:.4}.mu-day-empty{font-weight:400;padding:4px 0;position:relative;width:42px}.mu-day-button-bg{position:absolute;top:0;left:4px;height:34px;background-color:#7e57c2;border-radius:50%;opacity:0;transform:scale(0);transition:all .45s cubic-bezier(.23,1,.32,1);width:34px}.mu-day-button.hover .mu-day-button-bg,.mu-day-button.selected .mu-day-button-bg{transform:scale(1)}.mu-day-button.hover .mu-day-button-bg{opacity:.6}.mu-day-button.selected .mu-day-button-bg{opacity:1}.mu-day-button.now .mu-day-button-text{color:#7e57c2}.mu-calendar-year-container{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-direction:column;flex-direction:column;margin-top:10px;width:310px;height:272px;overflow:hidden}.mu-calendar-year{height:inherit;line-height:35px;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;position:relative}.mu-calendar-year-list{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;min-height:100%}.mu-year-button{position:relative;display:block;background:none;cursor:pointer;outline:none;text-decoration:none;margin:0 auto;padding:0;border:10px;font-size:14px;font-weight:inherit;text-align:center;line-height:inherit}.mu-year-button-text{-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center;font-size:17px;font-weight:400;position:relative;top:-1px}.mu-year-button.selected .mu-year-button-text{color:#7e57c2;font-size:26px;font-weight:500}.mu-year-button.hover .mu-year-button-text{color:#7e57c2}.mu-time-picker{display:inline-block;position:relative;width:256px}.mu-time-picker.fullWidth{width:100%}.mu-time-picker-dialog{width:280px}.mu-time-picker-dialog.landscape{width:479px}.mu-time-picker-dialog.landscape .mu-dialog-body{min-height:352px;min-width:479px}.mu-time-picker-dialog .mu-dialog-body{padding:0;min-height:450px;min-width:280px}.mu-clock{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:280px}.mu-clock-landspace{width:479px;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}.mu-clock-container{height:280px;padding:10px;box-sizing:content-box;position:relative;padding-bottom:62px}.mu-clock-landspace .mu-clock-container{width:300px}.mu-clock-circle{position:absolute;top:20px;width:260px;height:260px;border-radius:100%}.mu-clock-landspace .mu-clock-circle{left:50%;margin-left:-130px}.mu-clock-actions{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:end;justify-content:flex-end;padding:8px;position:absolute;left:0;bottom:0;right:0}.mu-time-display{padding:14px 0;border-top-left-radius:2px;border-top-right-radius:2px;background-color:#7e57c2}.mu-clock-landspace .mu-time-display{width:179px;position:relative}.mu-time-display-text{margin:6px 0;line-height:58px;height:58px;font-size:58px;display:-ms-flexbox;display:flex;-ms-flex-align:baseline;align-items:baseline}.mu-clock-landspace .mu-time-display-text,.mu-time-display-text{-ms-flex-pack:center;justify-content:center}.mu-clock-landspace .mu-time-display-text{margin:0;position:absolute;left:0;right:0;top:0;bottom:0;height:auto;-ms-flex-align:center;align-items:center;-ms-flex-direction:column;flex-direction:column;font-size:48px}.mu-time-display-affix{-ms-flex:1 1;flex:1 1;position:relative;line-height:17px;height:17px;font-size:17px}.mu-clock-landspace .mu-time-display-affix{-ms-flex:none;flex:none;height:auto;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.mu-time-display-time{margin:0 10px}.mu-clock-landspace .mu-time-display-time{margin-top:-28px}.mu-time-display-clickable{cursor:pointer}.mu-time-display-clickable.inactive{opacity:.7}.mu-clock-landspace .mu-time-display-clickable{margin-top:8px}.mu-time-display-affix-top{position:absolute;top:-20px;left:0}.mu-clock-landspace .mu-time-display-affix-top{position:static;-ms-flex-order:-1;order:-1}.mu-clock-hours{height:100%;width:100%;border-radius:100%;position:relative;pointer-events:none;box-sizing:border-box}.mu-clock-hours-mask{height:100%;width:100%;pointer-events:auto}.mu-clock-number{display:inline-block;width:32px;height:32px;line-height:24px;position:absolute;top:10px;text-align:center;padding-top:5px;font-size:1.1em;pointer-events:none;border-radius:100%;box-sizing:border-box;transform:translateY(5px);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mu-clock-number.selected{background-color:#7e57c2}.mu-clock-number.inner{width:28px;height:28px}.mu-clock-pointer{height:40%;background-color:#7e57c2;width:2px;left:49%;position:absolute;bottom:50%;transform-origin:center bottom 0;pointer-events:none}.mu-clock-pointer.inner{height:30%}.mu-clock-pointer-mark{box-sizing:content-box;border:4px solid #7e57c2;width:7px;height:7px;position:absolute;top:-5px;left:-6px;border-radius:100%}.mu-clock-pointer-mark.has-selected{display:none}.mu-clock-minutes{height:100%;width:100%;border-radius:100%;position:relative;pointer-events:none;box-sizing:border-box}.mu-clock-minutes-mask{height:100%;width:100%;pointer-events:auto}.mu-step{-ms-flex:0 0 auto;flex:0 0 auto;margin-left:-6px}.mu-stepper-vertical .mu-step{margin-top:-14px;margin-left:0}.mu-step:first-child{margin-left:0}.mu-step-button{border:10px;display:inline-block;cursor:pointer;text-decoration:none;margin:0;padding:0;outline:none;font-size:inherit;font-weight:inherit;transform:translate(0);transition:all .45s cubic-bezier(.23,1,.32,1) 0ms}.mu-stepper-vertical .mu-step-button{width:100%}.mu-step-label{height:72px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;font-size:14px;padding-left:14px;padding-right:14px}.mu-stepper-vertical .mu-step-label{height:64px}.mu-step-label.disabled{cursor:not-allowed}.mu-step-label.active{font-weight:500}.mu-step-label-icon-container{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;margin-right:8px;width:24px}.mu-step-label-icon{display:block;font-size:24px;width:24px;height:24px;fill:currentColor}.mu-step-label.active .mu-step-label-icon,.mu-step-label.completed .mu-step-label-icon{color:#7e57c2}.mu-step-label-circle{width:20px;height:20px;font-size:12px;line-height:20px;text-align:center;overflow:hidden;border-radius:100%}.mu-step-label-circle,.mu-step-label.disabled .mu-step-label-circle{background-color:#9e9e9e}.mu-step-label.active .mu-step-label-circle,.mu-step-label.completed .mu-step-label-circle{background-color:#7e57c2}.mu-step-content{margin-top:-14px;margin-left:25px;padding-left:21px;padding-right:16px;overflow:hidden}.mu-step-content.last{border-left:none}.mu-step-content-inner{position:relative;width:100%;top:0;left:0;overflow:hidden}.mu-stepper{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-line-pack:center;align-content:center;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.mu-stepper-vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:stretch;align-items:stretch}.mu-step-connector{-ms-flex:1 1 auto;flex:1 1 auto}.mu-stepper-vertical .mu-step-connector{margin-left:25px}.mu-step-connector-line{display:block;margin-left:-6px;border-top-style:solid;border-top-width:1px}.mu-stepper-vertical .mu-step-connector-line{border-top:none;border-left-style:solid;border-left-width:1px;min-height:28px;margin-left:0}.mu-auto-complete{display:inline-block;position:relative;width:256px}.mu-auto-complete.fullWidth{width:100%}.mu-auto-complete-menu-item{width:100%;overflow:hidden}.mu-pagination{display:-ms-flexbox;display:flex;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-align:center;align-items:center}.mu-pagination-svg-icon{display:inline-block;width:24px;height:24px;fill:currentColor;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mu-pagination-item,.mu-pagination-svg-icon{transition:all .45s cubic-bezier(.23,1,.32,1)}.mu-pagination-item{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;font-size:16px;height:32px;min-width:32px;padding-left:8px;padding-right:8px;line-height:32px;margin:0 8px;position:relative;cursor:pointer;border-radius:2px}.mu-pagination-item.active{background-color:#7e57c2}.mu-pagination-item.disabled{cursor:not-allowed}.mu-pagination-item.circle,.mu-pagination-item.circle .mu-ripple-wrapper{border-radius:50%}.mu-pagination-item-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;height:100%;width:100%;-ms-flex-pack:center;justify-content:center}.mu-timeline-item[data-v-10c9b411]{position:relative}.mu-timeline-item-line[data-v-10c9b411]{position:absolute;height:100%}.mu-timeline-item-icon[data-v-10c9b411]{position:absolute;box-sizing:border-box;background-color:#fff}.mu-timeline-item-content[data-v-10c9b411]{position:relative;padding-bottom:20px}.mu-timeline-item-customed[data-v-10c9b411]{position:absolute}.mu-timeline-item-time[data-v-10c9b411]{font-weight:700;font-size:15px}.mu-timeline-item-des[data-v-10c9b411]{font-size:16px}.row{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:start;align-items:flex-start}.row>[class*=col-]{box-sizing:border-box}@media (max-width:600px){.row .col-auto{width:100%}.row .col-100{width:100%;width:calc((100% - 16px*0) / 1)}.row.no-gutter .col-100{width:100%}.row .col-95{width:95%;width:calc((100% - 16px*0.05263157894736836) / 1.0526315789473684)}.row.no-gutter .col-95{width:95%}.row .col-90{width:90%;width:calc((100% - 16px*0.11111111111111116) / 1.1111111111111112)}.row.no-gutter .col-90{width:90%}.row .col-85{width:85%;width:calc((100% - 16px*0.17647058823529416) / 1.1764705882352942)}.row.no-gutter .col-85{width:85%}.row .col-80{width:80%;width:calc((100% - 16px*0.25) / 1.25)}.row.no-gutter .col-80{width:80%}.row .col-75{width:75%;width:calc((100% - 16px*0.33333333333333326) / 1.3333333333333333)}.row.no-gutter .col-75{width:75%}.row .col-70{width:70%;width:calc((100% - 16px*0.4285714285714286) / 1.4285714285714286)}.row.no-gutter .col-70{width:70%}.row .col-66{width:66.66666666666666%;width:calc((100% - 16px*0.5000000000000002) / 1.5000000000000002)}.row.no-gutter .col-66{width:66.66666666666666%}.row .col-65{width:65%;width:calc((100% - 16px*0.5384615384615385) / 1.5384615384615385)}.row.no-gutter .col-65{width:65%}.row .col-60{width:60%;width:calc((100% - 16px*0.6666666666666667) / 1.6666666666666667)}.row.no-gutter .col-60{width:60%}.row .col-55{width:55%;width:calc((100% - 16px*0.8181818181818181) / 1.8181818181818181)}.row.no-gutter .col-55{width:55%}.row .col-50{width:50%;width:calc((100% - 16px*1) / 2)}.row.no-gutter .col-50{width:50%}.row .col-45{width:45%;width:calc((100% - 16px*1.2222222222222223) / 2.2222222222222223)}.row.no-gutter .col-45{width:45%}.row .col-40{width:40%;width:calc((100% - 16px*1.5) / 2.5)}.row.no-gutter .col-40{width:40%}.row .col-35{width:35%;width:calc((100% - 16px*1.8571428571428572) / 2.857142857142857)}.row.no-gutter .col-35{width:35%}.row .col-33{width:33.333333333333336%;width:calc((100% - 16px*2) / 3)}.row.no-gutter .col-33{width:33.333333333333336%}.row .col-30{width:30%;width:calc((100% - 16px*2.3333333333333335) / 3.3333333333333335)}.row.no-gutter .col-30{width:30%}.row .col-25{width:25%;width:calc((100% - 16px*3) / 4)}.row.no-gutter .col-25{width:25%}.row .col-20{width:20%;width:calc((100% - 16px*4) / 5)}.row.no-gutter .col-20{width:20%}.row .col-15{width:15%;width:calc((100% - 16px*5.666666666666667) / 6.666666666666667)}.row.no-gutter .col-15{width:15%}.row .col-10{width:10%;width:calc((100% - 16px*9) / 10)}.row.no-gutter .col-10{width:10%}.row .col-5{width:5%;width:calc((100% - 16px*19) / 20)}.row.no-gutter .col-5{width:5%}.row .col-auto:last-child,.row .col-auto:last-child~.col-auto{width:100%;width:calc((100% - 16px*0) / 1)}.row.no-gutter .col-auto:last-child,.row.no-gutter .col-auto:last-child~.col-auto{width:100%}.row .col-auto:nth-last-child(2),.row .col-auto:nth-last-child(2)~.col-auto{width:50%;width:calc((100% - 16px*1) / 2)}.row.no-gutter .col-auto:nth-last-child(2),.row.no-gutter .col-auto:nth-last-child(2)~.col-auto{width:50%}.row .col-auto:nth-last-child(3),.row .col-auto:nth-last-child(3)~.col-auto{width:33.33333333%;width:calc((100% - 16px*2) / 3)}.row.no-gutter .col-auto:nth-last-child(3),.row.no-gutter .col-auto:nth-last-child(3)~.col-auto{width:33.33333333%}.row .col-auto:nth-last-child(4),.row .col-auto:nth-last-child(4)~.col-auto{width:25%;width:calc((100% - 16px*3) / 4)}.row.no-gutter .col-auto:nth-last-child(4),.row.no-gutter .col-auto:nth-last-child(4)~.col-auto{width:25%}.row .col-auto:nth-last-child(5),.row .col-auto:nth-last-child(5)~.col-auto{width:20%;width:calc((100% - 16px*4) / 5)}.row.no-gutter .col-auto:nth-last-child(5),.row.no-gutter .col-auto:nth-last-child(5)~.col-auto{width:20%}.row .col-auto:nth-last-child(6),.row .col-auto:nth-last-child(6)~.col-auto{width:16.66666667%;width:calc((100% - 16px*5) / 6)}.row.no-gutter .col-auto:nth-last-child(6),.row.no-gutter .col-auto:nth-last-child(6)~.col-auto{width:16.66666667%}.row .col-auto:nth-last-child(7),.row .col-auto:nth-last-child(7)~.col-auto{width:14.28571429%;width:calc((100% - 16px*6) / 7)}.row.no-gutter .col-auto:nth-last-child(7),.row.no-gutter .col-auto:nth-last-child(7)~.col-auto{width:14.28571429%}.row .col-auto:nth-last-child(8),.row .col-auto:nth-last-child(8)~.col-auto{width:12.5%;width:calc((100% - 16px*7) / 8)}.row.no-gutter .col-auto:nth-last-child(8),.row.no-gutter .col-auto:nth-last-child(8)~.col-auto{width:12.5%}.row .col-auto:nth-last-child(9),.row .col-auto:nth-last-child(9)~.col-auto{width:11.11111111%;width:calc((100% - 16px*8) / 9)}.row.no-gutter .col-auto:nth-last-child(9),.row.no-gutter .col-auto:nth-last-child(9)~.col-auto{width:11.11111111%}.row .col-auto:nth-last-child(10),.row .col-auto:nth-last-child(10)~.col-auto{width:10%;width:calc((100% - 16px*9) / 10)}.row.no-gutter .col-auto:nth-last-child(10),.row.no-gutter .col-auto:nth-last-child(10)~.col-auto{width:10%}.row .col-auto:nth-last-child(11),.row .col-auto:nth-last-child(11)~.col-auto{width:9.09090909%;width:calc((100% - 16px*10) / 11)}.row.no-gutter .col-auto:nth-last-child(11),.row.no-gutter .col-auto:nth-last-child(11)~.col-auto{width:9.09090909%}.row .col-auto:nth-last-child(12),.row .col-auto:nth-last-child(12)~.col-auto{width:8.33333333%;width:calc((100% - 16px*11) / 12)}.row.no-gutter .col-auto:nth-last-child(12),.row.no-gutter .col-auto:nth-last-child(12)~.col-auto{width:8.33333333%}.row .col-auto:nth-last-child(13),.row .col-auto:nth-last-child(13)~.col-auto{width:7.69230769%;width:calc((100% - 16px*12) / 13)}.row.no-gutter .col-auto:nth-last-child(13),.row.no-gutter .col-auto:nth-last-child(13)~.col-auto{width:7.69230769%}.row .col-auto:nth-last-child(14),.row .col-auto:nth-last-child(14)~.col-auto{width:7.14285714%;width:calc((100% - 16px*13) / 14)}.row.no-gutter .col-auto:nth-last-child(14),.row.no-gutter .col-auto:nth-last-child(14)~.col-auto{width:7.14285714%}.row .col-auto:nth-last-child(15),.row .col-auto:nth-last-child(15)~.col-auto{width:6.66666667%;width:calc((100% - 16px*14) / 15)}.row.no-gutter .col-auto:nth-last-child(15),.row.no-gutter .col-auto:nth-last-child(15)~.col-auto{width:6.66666667%}.row .col-auto:nth-last-child(16),.row .col-auto:nth-last-child(16)~.col-auto{width:6.25%;width:calc((100% - 16px*15) / 16)}.row.no-gutter .col-auto:nth-last-child(16),.row.no-gutter .col-auto:nth-last-child(16)~.col-auto{width:6.25%}.row .col-auto:nth-last-child(17),.row .col-auto:nth-last-child(17)~.col-auto{width:5.88235294%;width:calc((100% - 16px*16) / 17)}.row.no-gutter .col-auto:nth-last-child(17),.row.no-gutter .col-auto:nth-last-child(17)~.col-auto{width:5.88235294%}.row .col-auto:nth-last-child(18),.row .col-auto:nth-last-child(18)~.col-auto{width:5.55555556%;width:calc((100% - 16px*17) / 18)}.row.no-gutter .col-auto:nth-last-child(18),.row.no-gutter .col-auto:nth-last-child(18)~.col-auto{width:5.55555556%}.row .col-auto:nth-last-child(19),.row .col-auto:nth-last-child(19)~.col-auto{width:5.26315789%;width:calc((100% - 16px*18) / 19)}.row.no-gutter .col-auto:nth-last-child(19),.row.no-gutter .col-auto:nth-last-child(19)~.col-auto{width:5.26315789%}.row .col-auto:nth-last-child(20),.row .col-auto:nth-last-child(20)~.col-auto{width:5%;width:calc((100% - 16px*19) / 20)}.row.no-gutter .col-auto:nth-last-child(20),.row.no-gutter .col-auto:nth-last-child(20)~.col-auto{width:5%}.row .col-auto:nth-last-child(21),.row .col-auto:nth-last-child(21)~.col-auto{width:4.76190476%;width:calc((100% - 16px*20) / 21)}.row.no-gutter .col-auto:nth-last-child(21),.row.no-gutter .col-auto:nth-last-child(21)~.col-auto{width:4.76190476%}}@media (max-width:992px) and (min-width:601px){.row .tablet-100{width:100%;width:calc((100% - 16px*0) / 1)}.row.no-gutter .tablet-100{width:100%}.row .tablet-95{width:95%;width:calc((100% - 16px*0.05263157894736836) / 1.0526315789473684)}.row.no-gutter .tablet-95{width:95%}.row .tablet-90{width:90%;width:calc((100% - 16px*0.11111111111111116) / 1.1111111111111112)}.row.no-gutter .tablet-90{width:90%}.row .tablet-85{width:85%;width:calc((100% - 16px*0.17647058823529416) / 1.1764705882352942)}.row.no-gutter .tablet-85{width:85%}.row .tablet-80{width:80%;width:calc((100% - 16px*0.25) / 1.25)}.row.no-gutter .tablet-80{width:80%}.row .tablet-75{width:75%;width:calc((100% - 16px*0.33333333333333326) / 1.3333333333333333)}.row.no-gutter .tablet-75{width:75%}.row .tablet-70{width:70%;width:calc((100% - 16px*0.4285714285714286) / 1.4285714285714286)}.row.no-gutter .tablet-70{width:70%}.row .tablet-66{width:66.66666666666666%;width:calc((100% - 16px*0.5000000000000002) / 1.5000000000000002)}.row.no-gutter .tablet-66{width:66.66666666666666%}.row .tablet-65{width:65%;width:calc((100% - 16px*0.5384615384615385) / 1.5384615384615385)}.row.no-gutter .tablet-65{width:65%}.row .tablet-60{width:60%;width:calc((100% - 16px*0.6666666666666667) / 1.6666666666666667)}.row.no-gutter .tablet-60{width:60%}.row .tablet-55{width:55%;width:calc((100% - 16px*0.8181818181818181) / 1.8181818181818181)}.row.no-gutter .tablet-55{width:55%}.row .tablet-50{width:50%;width:calc((100% - 16px*1) / 2)}.row.no-gutter .tablet-50{width:50%}.row .tablet-45{width:45%;width:calc((100% - 16px*1.2222222222222223) / 2.2222222222222223)}.row.no-gutter .tablet-45{width:45%}.row .tablet-40{width:40%;width:calc((100% - 16px*1.5) / 2.5)}.row.no-gutter .tablet-40{width:40%}.row .tablet-35{width:35%;width:calc((100% - 16px*1.8571428571428572) / 2.857142857142857)}.row.no-gutter .tablet-35{width:35%}.row .tablet-33{width:33.333333333333336%;width:calc((100% - 16px*2) / 3)}.row.no-gutter .tablet-33{width:33.333333333333336%}.row .tablet-30{width:30%;width:calc((100% - 16px*2.3333333333333335) / 3.3333333333333335)}.row.no-gutter .tablet-30{width:30%}.row .tablet-25{width:25%;width:calc((100% - 16px*3) / 4)}.row.no-gutter .tablet-25{width:25%}.row .tablet-20{width:20%;width:calc((100% - 16px*4) / 5)}.row.no-gutter .tablet-20{width:20%}.row .tablet-15{width:15%;width:calc((100% - 16px*5.666666666666667) / 6.666666666666667)}.row.no-gutter .tablet-15{width:15%}.row .tablet-10{width:10%;width:calc((100% - 16px*9) / 10)}.row.no-gutter .tablet-10{width:10%}.row .tablet-5{width:5%;width:calc((100% - 16px*19) / 20)}.row.no-gutter .tablet-5{width:5%}.row .tablet-auto:last-child,.row .tablet-auto:last-child~.col-auto{width:100%;width:calc((100% - 16px*0) / 1)}.row.no-gutter .tablet-auto:last-child,.row.no-gutter .tablet-auto:last-child~.tablet-auto{width:100%}.row .tablet-auto:nth-last-child(2),.row .tablet-auto:nth-last-child(2)~.col-auto{width:50%;width:calc((100% - 16px*1) / 2)}.row.no-gutter .tablet-auto:nth-last-child(2),.row.no-gutter .tablet-auto:nth-last-child(2)~.tablet-auto{width:50%}.row .tablet-auto:nth-last-child(3),.row .tablet-auto:nth-last-child(3)~.col-auto{width:33.33333333%;width:calc((100% - 16px*2) / 3)}.row.no-gutter .tablet-auto:nth-last-child(3),.row.no-gutter .tablet-auto:nth-last-child(3)~.tablet-auto{width:33.33333333%}.row .tablet-auto:nth-last-child(4),.row .tablet-auto:nth-last-child(4)~.col-auto{width:25%;width:calc((100% - 16px*3) / 4)}.row.no-gutter .tablet-auto:nth-last-child(4),.row.no-gutter .tablet-auto:nth-last-child(4)~.tablet-auto{width:25%}.row .tablet-auto:nth-last-child(5),.row .tablet-auto:nth-last-child(5)~.col-auto{width:20%;width:calc((100% - 16px*4) / 5)}.row.no-gutter .tablet-auto:nth-last-child(5),.row.no-gutter .tablet-auto:nth-last-child(5)~.tablet-auto{width:20%}.row .tablet-auto:nth-last-child(6),.row .tablet-auto:nth-last-child(6)~.col-auto{width:16.66666667%;width:calc((100% - 16px*5) / 6)}.row.no-gutter .tablet-auto:nth-last-child(6),.row.no-gutter .tablet-auto:nth-last-child(6)~.tablet-auto{width:16.66666667%}.row .tablet-auto:nth-last-child(7),.row .tablet-auto:nth-last-child(7)~.col-auto{width:14.28571429%;width:calc((100% - 16px*6) / 7)}.row.no-gutter .tablet-auto:nth-last-child(7),.row.no-gutter .tablet-auto:nth-last-child(7)~.tablet-auto{width:14.28571429%}.row .tablet-auto:nth-last-child(8),.row .tablet-auto:nth-last-child(8)~.col-auto{width:12.5%;width:calc((100% - 16px*7) / 8)}.row.no-gutter .tablet-auto:nth-last-child(8),.row.no-gutter .tablet-auto:nth-last-child(8)~.tablet-auto{width:12.5%}.row .tablet-auto:nth-last-child(9),.row .tablet-auto:nth-last-child(9)~.col-auto{width:11.11111111%;width:calc((100% - 16px*8) / 9)}.row.no-gutter .tablet-auto:nth-last-child(9),.row.no-gutter .tablet-auto:nth-last-child(9)~.tablet-auto{width:11.11111111%}.row .tablet-auto:nth-last-child(10),.row .tablet-auto:nth-last-child(10)~.col-auto{width:10%;width:calc((100% - 16px*9) / 10)}.row.no-gutter .tablet-auto:nth-last-child(10),.row.no-gutter .tablet-auto:nth-last-child(10)~.tablet-auto{width:10%}.row .tablet-auto:nth-last-child(11),.row .tablet-auto:nth-last-child(11)~.col-auto{width:9.09090909%;width:calc((100% - 16px*10) / 11)}.row.no-gutter .tablet-auto:nth-last-child(11),.row.no-gutter .tablet-auto:nth-last-child(11)~.tablet-auto{width:9.09090909%}.row .tablet-auto:nth-last-child(12),.row .tablet-auto:nth-last-child(12)~.col-auto{width:8.33333333%;width:calc((100% - 16px*11) / 12)}.row.no-gutter .tablet-auto:nth-last-child(12),.row.no-gutter .tablet-auto:nth-last-child(12)~.tablet-auto{width:8.33333333%}.row .tablet-auto:nth-last-child(13),.row .tablet-auto:nth-last-child(13)~.col-auto{width:7.69230769%;width:calc((100% - 16px*12) / 13)}.row.no-gutter .tablet-auto:nth-last-child(13),.row.no-gutter .tablet-auto:nth-last-child(13)~.tablet-auto{width:7.69230769%}.row .tablet-auto:nth-last-child(14),.row .tablet-auto:nth-last-child(14)~.col-auto{width:7.14285714%;width:calc((100% - 16px*13) / 14)}.row.no-gutter .tablet-auto:nth-last-child(14),.row.no-gutter .tablet-auto:nth-last-child(14)~.tablet-auto{width:7.14285714%}.row .tablet-auto:nth-last-child(15),.row .tablet-auto:nth-last-child(15)~.col-auto{width:6.66666667%;width:calc((100% - 16px*14) / 15)}.row.no-gutter .tablet-auto:nth-last-child(15),.row.no-gutter .tablet-auto:nth-last-child(15)~.tablet-auto{width:6.66666667%}.row .tablet-auto:nth-last-child(16),.row .tablet-auto:nth-last-child(16)~.col-auto{width:6.25%;width:calc((100% - 16px*15) / 16)}.row.no-gutter .tablet-auto:nth-last-child(16),.row.no-gutter .tablet-auto:nth-last-child(16)~.tablet-auto{width:6.25%}.row .tablet-auto:nth-last-child(17),.row .tablet-auto:nth-last-child(17)~.col-auto{width:5.88235294%;width:calc((100% - 16px*16) / 17)}.row.no-gutter .tablet-auto:nth-last-child(17),.row.no-gutter .tablet-auto:nth-last-child(17)~.tablet-auto{width:5.88235294%}.row .tablet-auto:nth-last-child(18),.row .tablet-auto:nth-last-child(18)~.col-auto{width:5.55555556%;width:calc((100% - 16px*17) / 18)}.row.no-gutter .tablet-auto:nth-last-child(18),.row.no-gutter .tablet-auto:nth-last-child(18)~.tablet-auto{width:5.55555556%}.row .tablet-auto:nth-last-child(19),.row .tablet-auto:nth-last-child(19)~.col-auto{width:5.26315789%;width:calc((100% - 16px*18) / 19)}.row.no-gutter .tablet-auto:nth-last-child(19),.row.no-gutter .tablet-auto:nth-last-child(19)~.tablet-auto{width:5.26315789%}.row .tablet-auto:nth-last-child(20),.row .tablet-auto:nth-last-child(20)~.col-auto{width:5%;width:calc((100% - 16px*19) / 20)}.row.no-gutter .tablet-auto:nth-last-child(20),.row.no-gutter .tablet-auto:nth-last-child(20)~.tablet-auto{width:5%}.row .tablet-auto:nth-last-child(21),.row .tablet-auto:nth-last-child(21)~.col-auto{width:4.76190476%;width:calc((100% - 16px*20) / 21)}.row.no-gutter .tablet-auto:nth-last-child(21),.row.no-gutter .tablet-auto:nth-last-child(21)~.tablet-auto{width:4.76190476%}}@media (min-width:993px){.row .desktop-100{width:100%;width:calc((100% - 16px*0) / 1)}.row.no-gutter .desktop-100{width:100%}.row .desktop-95{width:95%;width:calc((100% - 16px*0.05263157894736836) / 1.0526315789473684)}.row.no-gutter .desktop-95{width:95%}.row .desktop-90{width:90%;width:calc((100% - 16px*0.11111111111111116) / 1.1111111111111112)}.row.no-gutter .desktop-90{width:90%}.row .desktop-85{width:85%;width:calc((100% - 16px*0.17647058823529416) / 1.1764705882352942)}.row.no-gutter .desktop-85{width:85%}.row .desktop-80{width:80%;width:calc((100% - 16px*0.25) / 1.25)}.row.no-gutter .desktop-80{width:80%}.row .desktop-75{width:75%;width:calc((100% - 16px*0.33333333333333326) / 1.3333333333333333)}.row.no-gutter .desktop-75{width:75%}.row .desktop-70{width:70%;width:calc((100% - 16px*0.4285714285714286) / 1.4285714285714286)}.row.no-gutter .desktop-70{width:70%}.row .desktop-66{width:66.66666666666666%;width:calc((100% - 16px*0.5000000000000002) / 1.5000000000000002)}.row.no-gutter .desktop-66{width:66.66666666666666%}.row .desktop-65{width:65%;width:calc((100% - 16px*0.5384615384615385) / 1.5384615384615385)}.row.no-gutter .desktop-65{width:65%}.row .desktop-60{width:60%;width:calc((100% - 16px*0.6666666666666667) / 1.6666666666666667)}.row.no-gutter .desktop-60{width:60%}.row .desktop-55{width:55%;width:calc((100% - 16px*0.8181818181818181) / 1.8181818181818181)}.row.no-gutter .desktop-55{width:55%}.row .desktop-50{width:50%;width:calc((100% - 16px*1) / 2)}.row.no-gutter .desktop-50{width:50%}.row .desktop-45{width:45%;width:calc((100% - 16px*1.2222222222222223) / 2.2222222222222223)}.row.no-gutter .desktop-45{width:45%}.row .desktop-40{width:40%;width:calc((100% - 16px*1.5) / 2.5)}.row.no-gutter .desktop-40{width:40%}.row .desktop-35{width:35%;width:calc((100% - 16px*1.8571428571428572) / 2.857142857142857)}.row.no-gutter .desktop-35{width:35%}.row .desktop-33{width:33.333333333333336%;width:calc((100% - 16px*2) / 3)}.row.no-gutter .desktop-33{width:33.333333333333336%}.row .desktop-30{width:30%;width:calc((100% - 16px*2.3333333333333335) / 3.3333333333333335)}.row.no-gutter .desktop-30{width:30%}.row .desktop-25{width:25%;width:calc((100% - 16px*3) / 4)}.row.no-gutter .desktop-25{width:25%}.row .desktop-20{width:20%;width:calc((100% - 16px*4) / 5)}.row.no-gutter .desktop-20{width:20%}.row .desktop-15{width:15%;width:calc((100% - 16px*5.666666666666667) / 6.666666666666667)}.row.no-gutter .desktop-15{width:15%}.row .desktop-10{width:10%;width:calc((100% - 16px*9) / 10)}.row.no-gutter .desktop-10{width:10%}.row .desktop-5{width:5%;width:calc((100% - 16px*19) / 20)}.row.no-gutter .desktop-5{width:5%}.row .desktop-auto:last-child,.row .desktop-auto:last-child~.col-auto{width:100%;width:calc((100% - 16px*0) / 1)}.row.no-gutter .desktop-auto:last-child,.row.no-gutter .desktop-auto:last-child~.desktop-auto{width:100%}.row .desktop-auto:nth-last-child(2),.row .desktop-auto:nth-last-child(2)~.col-auto{width:50%;width:calc((100% - 16px*1) / 2)}.row.no-gutter .desktop-auto:nth-last-child(2),.row.no-gutter .desktop-auto:nth-last-child(2)~.desktop-auto{width:50%}.row .desktop-auto:nth-last-child(3),.row .desktop-auto:nth-last-child(3)~.col-auto{width:33.33333333%;width:calc((100% - 16px*2) / 3)}.row.no-gutter .desktop-auto:nth-last-child(3),.row.no-gutter .desktop-auto:nth-last-child(3)~.desktop-auto{width:33.33333333%}.row .desktop-auto:nth-last-child(4),.row .desktop-auto:nth-last-child(4)~.col-auto{width:25%;width:calc((100% - 16px*3) / 4)}.row.no-gutter .desktop-auto:nth-last-child(4),.row.no-gutter .desktop-auto:nth-last-child(4)~.desktop-auto{width:25%}.row .desktop-auto:nth-last-child(5),.row .desktop-auto:nth-last-child(5)~.col-auto{width:20%;width:calc((100% - 16px*4) / 5)}.row.no-gutter .desktop-auto:nth-last-child(5),.row.no-gutter .desktop-auto:nth-last-child(5)~.desktop-auto{width:20%}.row .desktop-auto:nth-last-child(6),.row .desktop-auto:nth-last-child(6)~.col-auto{width:16.66666667%;width:calc((100% - 16px*5) / 6)}.row.no-gutter .desktop-auto:nth-last-child(6),.row.no-gutter .desktop-auto:nth-last-child(6)~.desktop-auto{width:16.66666667%}.row .desktop-auto:nth-last-child(7),.row .desktop-auto:nth-last-child(7)~.col-auto{width:14.28571429%;width:calc((100% - 16px*6) / 7)}.row.no-gutter .desktop-auto:nth-last-child(7),.row.no-gutter .desktop-auto:nth-last-child(7)~.desktop-auto{width:14.28571429%}.row .desktop-auto:nth-last-child(8),.row .desktop-auto:nth-last-child(8)~.col-auto{width:12.5%;width:calc((100% - 16px*7) / 8)}.row.no-gutter .desktop-auto:nth-last-child(8),.row.no-gutter .desktop-auto:nth-last-child(8)~.desktop-auto{width:12.5%}.row .desktop-auto:nth-last-child(9),.row .desktop-auto:nth-last-child(9)~.col-auto{width:11.11111111%;width:calc((100% - 16px*8) / 9)}.row.no-gutter .desktop-auto:nth-last-child(9),.row.no-gutter .desktop-auto:nth-last-child(9)~.desktop-auto{width:11.11111111%}.row .desktop-auto:nth-last-child(10),.row .desktop-auto:nth-last-child(10)~.col-auto{width:10%;width:calc((100% - 16px*9) / 10)}.row.no-gutter .desktop-auto:nth-last-child(10),.row.no-gutter .desktop-auto:nth-last-child(10)~.desktop-auto{width:10%}.row .desktop-auto:nth-last-child(11),.row .desktop-auto:nth-last-child(11)~.col-auto{width:9.09090909%;width:calc((100% - 16px*10) / 11)}.row.no-gutter .desktop-auto:nth-last-child(11),.row.no-gutter .desktop-auto:nth-last-child(11)~.desktop-auto{width:9.09090909%}.row .desktop-auto:nth-last-child(12),.row .desktop-auto:nth-last-child(12)~.col-auto{width:8.33333333%;width:calc((100% - 16px*11) / 12)}.row.no-gutter .desktop-auto:nth-last-child(12),.row.no-gutter .desktop-auto:nth-last-child(12)~.desktop-auto{width:8.33333333%}.row .desktop-auto:nth-last-child(13),.row .desktop-auto:nth-last-child(13)~.col-auto{width:7.69230769%;width:calc((100% - 16px*12) / 13)}.row.no-gutter .desktop-auto:nth-last-child(13),.row.no-gutter .desktop-auto:nth-last-child(13)~.desktop-auto{width:7.69230769%}.row .desktop-auto:nth-last-child(14),.row .desktop-auto:nth-last-child(14)~.col-auto{width:7.14285714%;width:calc((100% - 16px*13) / 14)}.row.no-gutter .desktop-auto:nth-last-child(14),.row.no-gutter .desktop-auto:nth-last-child(14)~.desktop-auto{width:7.14285714%}.row .desktop-auto:nth-last-child(15),.row .desktop-auto:nth-last-child(15)~.col-auto{width:6.66666667%;width:calc((100% - 16px*14) / 15)}.row.no-gutter .desktop-auto:nth-last-child(15),.row.no-gutter .desktop-auto:nth-last-child(15)~.desktop-auto{width:6.66666667%}.row .desktop-auto:nth-last-child(16),.row .desktop-auto:nth-last-child(16)~.col-auto{width:6.25%;width:calc((100% - 16px*15) / 16)}.row.no-gutter .desktop-auto:nth-last-child(16),.row.no-gutter .desktop-auto:nth-last-child(16)~.desktop-auto{width:6.25%}.row .desktop-auto:nth-last-child(17),.row .desktop-auto:nth-last-child(17)~.col-auto{width:5.88235294%;width:calc((100% - 16px*16) / 17)}.row.no-gutter .desktop-auto:nth-last-child(17),.row.no-gutter .desktop-auto:nth-last-child(17)~.desktop-auto{width:5.88235294%}.row .desktop-auto:nth-last-child(18),.row .desktop-auto:nth-last-child(18)~.col-auto{width:5.55555556%;width:calc((100% - 16px*17) / 18)}.row.no-gutter .desktop-auto:nth-last-child(18),.row.no-gutter .desktop-auto:nth-last-child(18)~.desktop-auto{width:5.55555556%}.row .desktop-auto:nth-last-child(19),.row .desktop-auto:nth-last-child(19)~.col-auto{width:5.26315789%;width:calc((100% - 16px*18) / 19)}.row.no-gutter .desktop-auto:nth-last-child(19),.row.no-gutter .desktop-auto:nth-last-child(19)~.desktop-auto{width:5.26315789%}.row .desktop-auto:nth-last-child(20),.row .desktop-auto:nth-last-child(20)~.col-auto{width:5%;width:calc((100% - 16px*19) / 20)}.row.no-gutter .desktop-auto:nth-last-child(20),.row.no-gutter .desktop-auto:nth-last-child(20)~.desktop-auto{width:5%}.row .desktop-auto:nth-last-child(21),.row .desktop-auto:nth-last-child(21)~.col-auto{width:4.76190476%;width:calc((100% - 16px*20) / 21)}.row.no-gutter .desktop-auto:nth-last-child(21),.row.no-gutter .desktop-auto:nth-last-child(21)~.desktop-auto{width:4.76190476%}}.mu-flexbox{width:100%;text-align:left;display:-ms-flexbox;display:flex;box-align:center;-ms-flex-align:center;align-items:center}.mu-flexbox .mu-flexbox-item{-ms-flex:1;flex:1;min-width:20px;width:0}.mu-flexbox-item>.mu-flexbox{width:100%}.mu-flexbox .mu-flexbox-item:first-child{margin-left:0!important;margin-top:0!important}.mu-flex-col{box-orient:vertical;-ms-flex-direction:column;flex-direction:column}.mu-flex-col>.mu-flexbox-item{width:100%}.mu-flex-row{box-direction:row;box-orient:horizontal;-ms-flex-direction:row;flex-direction:row}.mu-appbar{background-color:#009688;color:#fff}.mu-avatar,.mu-badge{color:#fff;background-color:#bdbdbd}.mu-badge-primary{background-color:#009688;color:#fff}.mu-badge-secondary{background-color:#ff4081;color:#fff}body{background-color:#fff;color:rgba(0,0,0,.87);font-family:Roboto,Lato,sans-serif}a{color:#ff4081}.mu-bottom-nav{background-color:#fff}.mu-bottom-nav-shift{background-color:#009688}.mu-buttom-item{color:rgba(0,0,0,.54)}.mu-bottom-nav-shift .mu-buttom-item{color:hsla(0,0%,100%,.7)}.mu-bottom-item-active .mu-bottom-item-text{color:#009688}.mu-bottom-nav-shift .mu-bottom-item-active .mu-bottom-item-text{color:#fff}.mu-bottom-item-active .mu-bottom-item-icon{color:#009688}.mu-bottom-nav-shift .mu-bottom-item-active .mu-bottom-item-icon{color:#fff}.mu-bottom-sheet,.mu-card{background-color:#fff}.mu-card-header-title .mu-card-title{color:rgba(0,0,0,.87)}.mu-card-header-title .mu-card-sub-title{color:rgba(0,0,0,.54)}.mu-card-media-title{background-color:rgba(0,0,0,.54)}.mu-card-media-title .mu-card-title{color:hsla(0,0%,100%,.87)}.mu-card-media-title .mu-card-sub-title{color:hsla(0,0%,100%,.54)}.mu-card-title-container .mu-card-title{color:rgba(0,0,0,.87)}.mu-card-title-container .mu-card-sub-title{color:rgba(0,0,0,.54)}.mu-card-text{color:rgba(0,0,0,.87)}.mu-checkbox input[type=checkbox]:checked+.mu-checkbox-wrapper .mu-checkbox-icon-uncheck,.mu-checkbox input[type=checkbox]:checked+.mu-checkbox-wrapper .mu-checkbox-ripple-wrapper{color:#009688}.mu-checkbox-label{color:rgba(0,0,0,.87)}.mu-checkbox.disabled .mu-checkbox-label{color:rgba(0,0,0,.38)}.mu-checkbox-icon-uncheck{color:rgba(0,0,0,.87)}.mu-checkbox.disabled .mu-checkbox-icon-uncheck{color:rgba(0,0,0,.38)}.mu-checkbox-icon-checked{color:#009688}.mu-checkbox.disabled .mu-checkbox-icon-checked{color:rgba(0,0,0,.38)}.mu-chip{background-color:#e0e0e0;color:rgba(0,0,0,.87)}.mu-chip.hover{background-color:#cecece;cursor:pointer}.mu-chip.hover .mu-chip-delete-icon{color:rgba(0,0,0,.4)}.mu-chip-delete-icon{color:rgba(0,0,0,.26)}.mu-circular-progress-determinate-path{stroke:#009688}.mu-calendar{color:rgba(0,0,0,.87)}.mu-calendar-year{background-color:#fff}.mu-date-display{color:#fff}.mu-date-display,.mu-day-button-bg{background-color:#009688}.mu-day-button-text{font-weight:400;position:relative;color:rgba(0,0,0,.87)}.mu-day-button.now .mu-day-button-text{color:#009688}.mu-day-button.hover .mu-day-button-text,.mu-day-button.selected .mu-day-button-text{color:#fff}.mu-year-button-text{color:rgba(0,0,0,.87)}.mu-year-button.hover .mu-year-button-text,.mu-year-button.selected .mu-year-button-text{color:#009688}.mu-dialog{background-color:#fff}.mu-dialog-footer.scrollable,.mu-dialog-header.scrollable{border-bottom-color:rgba(0,0,0,.12)}.mu-dialog-title{color:rgba(0,0,0,.87)}.mu-dialog-body{color:rgba(0,0,0,.6)}.mu-dropDown-menu-text{color:rgba(0,0,0,.87)}.mu-dropDown-menu-icon{color:rgba(0,0,0,.12)}.mu-dropDown-menu-line{background-color:rgba(0,0,0,.12)}.mu-flat-button{background-color:transparent}.mu-flat-button,.mu-flat-button .mu-circle-ripple{color:rgba(0,0,0,.87)}.mu-flat-button-primary{color:#009688}.mu-flat-button-secondary{color:#ff4081}.mu-float-button{background-color:#009688;color:#fff}.mu-float-button.disabled{color:rgba(0,0,0,.3);cursor:default;background-color:#e0e0e0}.mu-float-button.hover .mu-float-button-wrapper,.mu-float-button:active .mu-float-button-wrapper{background-color:hsla(0,0%,100%,.3)}.mu-float-button-secondary{background-color:#ff4081;color:#fff}.mu-grid-tile-titlebar{background-color:rgba(0,0,0,.4)}.mu-grid-tile-action .mu-icon,.mu-grid-tile-title-container{color:#fff}.mu-circle-spinner{border-color:#009688}.mu-circle-secondary{border-color:#ff4081}.mu-linear-progress{background-color:#bdbdbd}.mu-linear-progress-determinate,.mu-linear-progress-indeterminate{background-color:#009688}.mu-item-wrapper.hover{background-color:rgba(0,0,0,.1)}.mu-item{color:rgba(0,0,0,.87)}.mu-item.selected{color:#009688}.mu-item-left,.mu-item-link-icon,.mu-item-right{color:#757575}.mu-item-after,.mu-item-text{color:rgba(0,0,0,.54)}.mu-menu-item-wrapper{color:rgba(0,0,0,.87)}.mu-menu-item-wrapper.active{color:#ff4081}.mu-menu-item-wrapper.hover{background-color:rgba(0,0,0,.1)}.mu-menu-item-wrapper.disabled{color:rgba(0,0,0,.38)}.mu-menu-item-left-icon,.mu-menu-item-right-icon{color:#757575}.mu-pagination-item{color:rgba(0,0,0,.87)}.mu-pagination-item.hover{background-color:rgba(0,0,0,.1)}.mu-pagination-item.active{color:#fff;background-color:#009688}.mu-pagination-item.disabled{color:rgba(0,0,0,.38)}.mu-paper{color:rgba(0,0,0,.87)}.mu-paper,.mu-picker{background-color:#fff}.mu-picker-center-highlight:after,.mu-picker-center-highlight:before{background-color:rgba(0,0,0,.12)}.mu-picker-slot.mu-picker-slot-divider{color:rgba(0,0,0,.87)}.mu-picker-item{color:rgba(0,0,0,.54)}.mu-picker-item.selected{color:rgba(0,0,0,.87)}.mu-popover,.mu-popup{background-color:#fff}.mu-radio input[type=radio]:checked+.mu-radio-wrapper .mu-radio-icon-uncheck,.mu-radio input[type=radio]:checked+.mu-radio-wrapper .mu-radio-ripple-wrapper{color:#009688}.mu-radio-label{color:rgba(0,0,0,.87)}.mu-radio.disabled .mu-radio-label{color:rgba(0,0,0,.38)}.mu-radio-icon-uncheck{color:rgba(0,0,0,.87)}.mu-radio.disabled .mu-radio-icon-uncheck{color:rgba(0,0,0,.38)}.mu-radio-icon-checked{color:#009688}.mu-radio.disabled .mu-radio-icon-checked{color:rgba(0,0,0,.38)}.mu-raised-button{background-color:#fff;color:rgba(0,0,0,.87)}.mu-raised-button.hover .mu-raised-button-wrapper{background-color:rgba(0,0,0,.1)}.mu-raised-button.disabled{color:rgba(0,0,0,.3);background-color:#e6e6e6}.mu-raised-button-primary{background-color:#009688}.mu-raised-button-secondary{background-color:#ff4081}.mu-refresh-control{color:#009688}.mu-slider-track{background-color:#bdbdbd}.mu-slider-fill{background-color:#009688}.mu-slider-fill.disabled{background-color:#bdbdbd}.mu-slider-thumb{background-color:#009688;color:#009688}.mu-slider.disabled .mu-slider-thumb,.mu-slider.zero .mu-slider-thumb{border-color:#bdbdbd;color:#bdbdbd;background-color:#fff}.mu-snackbar{color:#fff;background-color:rgba(0,0,0,.87)}.mu-step-button{background-color:transparent}.mu-step-button.hover{background-color:rgba(0,0,0,.06)}.mu-step-connector-line{border-color:#bdbdbd}.mu-stepper-vertical .mu-step-content{border-left:1px solid #bdbdbd}.mu-step-label{color:rgba(0,0,0,.87)}.mu-step-label.disabled{color:rgba(0,0,0,.38)}.mu-step-label-icon,.mu-step-label.disabled .mu-step-label-icon{color:#9e9e9e}.mu-step-label.active .mu-step-label-icon,.mu-step-label.completed .mu-step-label-icon{color:#009688}.mu-step-label-circle{color:#fff}.mu-step-label-circle,.mu-step-label.disabled .mu-step-label-circle{background-color:#9e9e9e}.mu-step-label.active .mu-step-label-circle,.mu-step-label.completed .mu-step-label-circle{background-color:#009688}.mu-sub-header{color:rgba(0,0,0,.54)}.mu-switch input[type=checkbox]:checked+.mu-switch-wrapper .mu-switch-track{background-color:rgba(0,150,136,.5)}.mu-switch input[type=checkbox]:checked+.mu-switch-wrapper .mu-switch-thumb{background-color:#009688;color:#009688}.mu-switch.disabled input[type=checkbox]:checked+.mu-switch-wrapper .mu-switch-track{background-color:#bdbdbd}.mu-switch.disabled input[type=checkbox]:checked+.mu-switch-wrapper .mu-switch-thumb{background-color:#e0e0e0}.mu-switch-label{color:rgba(0,0,0,.87)}.mu-switch.disabled .mu-switch-label{color:rgba(0,0,0,.38)}.mu-switch-track,.mu-switch.disabled .mu-switch-track{background-color:#bdbdbd}.mu-switch-thumb{color:rgba(0,0,0,.87);background-color:#f5f5f5}.mu-switch.disabled .mu-switch-thumb{background-color:#e0e0e0}.mu-table{background-color:#fff}.mu-thead{border-bottom-color:rgba(0,0,0,.12)}.mu-th{color:rgba(0,0,0,.54)}.mu-tr{border-bottom-color:rgba(0,0,0,.12);color:rgba(0,0,0,.87)}.mu-tr.selected{background-color:#f5f5f5}.mu-tr.hover{background-color:#eee}.mu-tr.stripe{background-color:rgba(150,255,245,.4)}.mu-tfoot .mu-tr{border-top-color:rgba(0,0,0,.12)}.mu-tabs{background-color:#009688}.mu-tab-link-highlight{background-color:#ff4081}.mu-tab-link{color:hsla(0,0%,100%,.7)}.mu-tab-active{color:#fff}.mu-text-field{color:rgba(0,0,0,.54)}.mu-text-field.focus-state{color:#009688}.mu-text-field.focus-state.error{color:#f44336}.mu-text-field.disabled{color:rgba(0,0,0,.38)}.mu-text-field-input{color:rgba(0,0,0,.87)}.mu-text-field.error .mu-text-field-help{color:#f44336}.mu-text-field-line{background-color:rgba(0,0,0,.12)}.mu-text-field-line.disabled{border-color:rgba(0,0,0,.38)}.mu-text-field-focus-line{background-color:#009688}.mu-text-field-focus-line.error{background-color:#f44336}.mu-text-field-hint,.mu-text-field.has-label .mu-text-field-label.float{color:rgba(0,0,0,.38)}.mu-clock-circle{background-color:rgba(0,0,0,.07)}.mu-clock-number.selected,.mu-time-display{background-color:#009688;color:#fff}.mu-clock-pointer{background-color:#009688}.mu-clock-pointer-mark{background-color:#fff;border-color:#009688}.mu-toast{background-color:rgba(0,0,0,.87)}.mu-toast,.mu-tooltip{color:#fff}.mu-tooltip-ripple.when-shown{background-color:#616161}.fa-icon{display:inline-block;fill:currentColor}.fa-flip-horizontal{transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-spin{animation:fa-spin 1s 0s infinite linear}.fa-inverse{color:#fff}.fa-pulse{animation:fa-spin 1s infinite steps(8)}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
8 | /*# sourceMappingURL=app.cfc0f2bd0296962e5c06d48a9026003b.css.map */
--------------------------------------------------------------------------------
/dist/static/js/app.06c0c6b9f5d79fbc1631.js:
--------------------------------------------------------------------------------
1 | webpackJsonp([1],{"5s8g":function(t,e){},AMp5:function(t,e){},Do2Q:function(t,e){},NHnr:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var s={};n.d(s,"filterNote",function(){return j}),n.d(s,"activeNote",function(){return K}),n.d(s,"layout",function(){return I}),n.d(s,"isCheck",function(){return Y}),n.d(s,"isTrashCheck",function(){return q});var o={};n.d(o,"newNote",function(){return Q}),n.d(o,"editNote",function(){return J}),n.d(o,"toggleNote",function(){return U}),n.d(o,"cancelCheck",function(){return X}),n.d(o,"allCheck",function(){return tt}),n.d(o,"deleteNote",function(){return et}),n.d(o,"backSave",function(){return nt}),n.d(o,"toggleTrashNote",function(){return st}),n.d(o,"cancelTrashCheck",function(){return ot}),n.d(o,"allTrashCheck",function(){return it}),n.d(o,"deleteTrashNote",function(){return at}),n.d(o,"recoveryNote",function(){return ct});var i=n("MVMM"),a={render:function(){var t=this.$createElement,e=this._self._c||t;return e("div",{attrs:{id:"app"}},[e("router-view")],1)},staticRenderFns:[]};var c=n("Z0/y")({name:"App"},a,!1,function(t){n("q+mC")},null,null).exports,r=n("zO6J"),l=n("4YfN"),u=n.n(l),h=n("9rMa"),d={name:"Header",data:function(){return{title:"便签",checkBtnTxt:"全选",searchTxt:"",isVisible:!1}},computed:u()({},Object(h.b)(["layout","isCheck"]),{allChecked:function(){return this.$store.state.notes.every(function(t){return t.done})},checkTitle:function(){return"已选择"+this.$store.state.deleteNotes.length+"项"}}),methods:{searchFocus:function(){this.isVisible=!0},searchBlur:function(){this.isVisible=!1},search:function(){this.$store.state.search=this.searchTxt},changeLayout:function(){"list"==this.$store.state.layout?this.$store.state.layout="grid":this.$store.state.layout="list"},cancelCheck:function(){this.$store.dispatch("cancelCheck")},allCheck:function(t){this.checkBtnTxt=t?"取消全选":"全选",this.$store.dispatch("allCheck",t)},openFolder:function(){this.$router.push({path:"noteFolder"})}}},f={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("header",{staticClass:"header",class:{visible:t.isVisible}},[n("mu-flexbox",{staticClass:"headerTool",class:{visible:t.isVisible}},[n("mu-flexbox-item",{staticClass:"flex",attrs:{order:"0"}},[t.isCheck?n("mu-raised-button",{staticClass:"raised-button",attrs:{label:"取消"},on:{click:t.cancelCheck}}):n("span",{staticClass:"icon",on:{click:t.openFolder}},[n("icon",{attrs:{name:"folder-open"}})],1)],1),t._v(" "),n("mu-flexbox-item",{staticClass:"flex",staticStyle:{"text-align":"center"},attrs:{order:"1"}},[t.isCheck?n("span",[t._v(t._s(t.checkTitle))]):n("span",[t._v(t._s(t.title))])]),t._v(" "),n("mu-flexbox-item",{staticClass:"flex",staticStyle:{"text-align":"right"},attrs:{order:"2"}},[t.isCheck?n("mu-raised-button",{staticClass:"raised-button",attrs:{label:t.checkBtnTxt},on:{click:function(e){t.allCheck(!t.allChecked)}}}):n("span",["grid"==t.layout?n("span",{staticClass:"icon",on:{click:t.changeLayout}},[n("icon",{attrs:{name:"list"}})],1):n("span",{staticClass:"icon",on:{click:t.changeLayout}},[n("icon",{attrs:{name:"th-large"}})],1)])],1)],1),t._v(" "),n("div",{staticClass:"search"},[n("div",{staticClass:"icon"},[n("icon",{attrs:{name:"search"}})],1),t._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:t.searchTxt,expression:"searchTxt"}],attrs:{type:"text"},domProps:{value:t.searchTxt},on:{keyup:t.search,focus:t.searchFocus,blur:t.searchBlur,input:function(e){e.target.composing||(t.searchTxt=e.target.value)}}})])],1)},staticRenderFns:[]};var p=n("Z0/y")(d,f,!1,function(t){n("Wos8")},"data-v-4a395ce8",null).exports,m={name:"NoteList",data:function(){return{timeOutEvent:0,Loop:null}},computed:u()({},Object(h.b)(["filterNote","layout","isCheck"])),methods:{editNote:function(t){this.isCheck?this.$store.dispatch("toggleNote",t):(this.$store.dispatch("editNote",t),this.$router.push({path:"/editor"}))},gtouchstart:function(t){var e=this;return this.timeOutEvent=setTimeout(function(){e.longPress(t)},500),!1},gtouchend:function(t){return clearTimeout(this.timeOutEvent),0!=this.timeOutEvent&&this.editNote(t),!1},longPress:function(t){this.timeOutEvent=0,this.$store.state.isCheck=!0,this.$store.dispatch("toggleNote",t)},loopstart:function(t){var e=this;clearInterval(this.Loop),this.Loop=setTimeout(function(){e.$store.state.isCheck=!0,e.$store.dispatch("toggleNote",t)},500)},clearLoop:function(){clearTimeout(this.Loop)}}},v={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("ul",{staticClass:"noteList",class:t.layout},t._l(t.filterNote,function(e){return n("li",{key:e.id,on:{mousedown:function(n){t.gtouchstart(e)},mouseup:function(n){t.gtouchend(e)},touchstart:function(n){t.loopstart(e)},touchend:t.clearLoop}},[n("h4",[t._v(t._s(e.date))]),t._v(" "),n("p",[t._v(t._s(e.content))]),t._v(" "),n("mu-checkbox",{directives:[{name:"show",rawName:"v-show",value:t.isCheck,expression:"isCheck"}],staticClass:"checkbox",attrs:{label:""},model:{value:e.done,callback:function(n){t.$set(e,"done",n)},expression:"note.done"}})],1)}))},staticRenderFns:[]};var C=n("Z0/y")(m,v,!1,function(t){n("zxv9")},"data-v-55204add",null).exports,g={name:"ToolBar",data:function(){return{dialog:!1}},computed:u()({},Object(h.b)(["isCheck"])),methods:{addNote:function(){this.$store.dispatch("newNote"),this.$router.push({path:"editor"})},deleteNote:function(){this.dialog=!0},close:function(){this.dialog=!1},deleteConfirm:function(){this.dialog=!1,this.$store.dispatch("deleteNote")}}},N={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"toolBar"},[t.isCheck?n("div",{staticClass:"toolBtn"},[n("span",{staticClass:"icon",on:{click:t.deleteNote}},[n("icon",{attrs:{name:"trash-alt"}})],1),t._v(" "),n("span",{staticClass:"icon"},[n("icon",{attrs:{name:"dolly"}})],1)]):n("div",{staticClass:"addNote"},[n("div",{staticClass:"float-button mu-float-button",on:{click:t.addNote}},[n("icon",{attrs:{name:"plus"}})],1)]),t._v(" "),n("mu-dialog",{attrs:{open:t.dialog,title:"删除便签"},on:{close:t.close}},[t._v("\n 您确定删除所选便签吗?\n "),n("mu-flat-button",{attrs:{slot:"actions",primary:"",label:"取消"},on:{click:t.close},slot:"actions"}),t._v(" "),n("mu-flat-button",{attrs:{slot:"actions",primary:"",label:"确定"},on:{click:t.deleteConfirm},slot:"actions"})],1)],1)},staticRenderFns:[]};var _={name:"Notepad",data:function(){return{}},components:{Header:p,NoteList:C,ToolBar:n("Z0/y")(g,N,!1,function(t){n("Pv2r")},"data-v-a076ac20",null).exports}},k={render:function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"notepad"},[e("Header"),this._v(" "),e("NoteList"),this._v(" "),e("ToolBar")],1)},staticRenderFns:[]};var T=n("Z0/y")(_,k,!1,function(t){n("AMp5")},"data-v-74d53388",null).exports,x={name:"Editor",data:function(){return{content:"",isShow:!1}},created:function(){this.content=this.activeNote.content},computed:u()({},Object(h.b)(["activeNote"])),directives:{focus:{inserted:function(t){t.focus()}}},methods:{backList:function(){this.$router.push({path:"/"}),this.$store.dispatch("backSave",this.activeNote)},editorNote:function(){this.content!=this.activeNote.content?this.isShow=!0:this.isShow=!1}}},b={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"edit-panel"},[n("div",{staticClass:"edit-tool"},[n("span",{staticClass:"back-list",on:{click:t.backList}},[n("icon",{attrs:{name:"angle-left"}})],1),t._v(" "),n("span",{staticClass:"date",domProps:{textContent:t._s(t.activeNote.date)}}),t._v(" "),n("span",{directives:[{name:"show",rawName:"v-show",value:t.isShow,expression:"isShow"}],staticClass:"saveNote",on:{click:t.backList}},[t._v("完成")])]),t._v(" "),n("textarea",{directives:[{name:"focus",rawName:"v-focus"},{name:"model",rawName:"v-model",value:t.activeNote.content,expression:"activeNote.content"}],staticClass:"edit-area",domProps:{value:t.activeNote.content},on:{keyup:t.editorNote,input:function(e){e.target.composing||t.$set(t.activeNote,"content",e.target.value)}}})])},staticRenderFns:[]};var y=n("Z0/y")(x,b,!1,function(t){n("bL7U")},"data-v-7371ce79",null).exports,E={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"noteFolder"},[n("div",{staticClass:"header"},[n("span",{staticClass:"back-list",on:{click:t.backList}},[n("icon",{attrs:{name:"angle-left"}})],1),t._v(" "),n("span",{domProps:{textContent:t._s(t.title)}})]),t._v(" "),n("div",{staticClass:"folder-list"},[n("ul",{staticClass:"folder-note"},[n("li",{staticClass:"clearfix",on:{click:t.openNote}},[n("div",{staticClass:"pull-left"},[n("span",{staticClass:"icon"},[n("icon",{attrs:{name:"ellipsis-h"}})],1),t._v(" "),n("span",{domProps:{textContent:t._s(t.noteTaking)}})]),t._v(" "),n("div",{staticClass:"pull-right"},[t._v("\n "+t._s(t.notes)+"\n "),n("span",{staticClass:"icon"},[n("icon",{attrs:{name:"angle-right"}})],1)])])]),t._v(" "),n("ul",{staticClass:"folder-trash"},[n("li",{staticClass:"clearfix",on:{click:t.openTrash}},[n("div",{staticClass:"pull-left"},[n("span",{staticClass:"icon"},[n("icon",{attrs:{name:"trash"}})],1),t._v(" "),n("span",{domProps:{textContent:t._s(t.trash)}})]),t._v(" "),n("div",{staticClass:"pull-right"},[t._v("\n "+t._s(t.deleteNote)+"\n "),n("span",{staticClass:"icon"},[n("icon",{attrs:{name:"angle-right"}})],1)])])])])])},staticRenderFns:[]};var $=n("Z0/y")({name:"NoteFolder",data:function(){return{title:"便签夹",noteTaking:"随手记",trash:"废纸篓"}},computed:{deleteNote:function(){return this.$store.state.trashNotes.length},notes:function(){return this.$store.state.notes.length}},methods:{backList:function(){this.$router.push({path:"/"})},openTrash:function(){this.$router.push({path:"trash"})},openNote:function(){this.$router.push({path:"/"})}}},E,!1,function(t){n("nGQo")},"data-v-34119840",null).exports,L={data:function(){return{title:"便签",checkBtnTxt:"全选"}},computed:u()({},Object(h.b)(["layout","isTrashCheck"]),{checkTitle:function(){return"已选择"+this.$store.state.deleteTrashNotes.length+"项"},allChecked:function(){return this.$store.state.trashNotes.every(function(t){return t.done})}}),methods:{allTrashCheck:function(t){this.checkBtnTxt=t?"取消全选":"全选",this.$store.dispatch("allTrashCheck",t)},cancelCheck:function(){this.$store.dispatch("cancelTrashCheck")},backList:function(){this.$router.push({path:"/NoteFolder"})},changeLayout:function(){"list"==this.$store.state.layout?this.$store.state.layout="grid":this.$store.state.layout="list"}}},w={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("mu-flexbox",{staticClass:"trash-header"},[n("mu-flexbox-item",{staticClass:"flex",attrs:{order:"0"}},[t.isTrashCheck?n("mu-raised-button",{staticClass:"raised-button",attrs:{label:"取消"},on:{click:t.cancelCheck}}):n("span",[n("span",{staticClass:"back-list",on:{click:t.backList}},[n("icon",{attrs:{name:"angle-left"}})],1),t._v(" "),n("span",{domProps:{textContent:t._s(t.title)}})])],1),t._v(" "),n("mu-flexbox-item",{staticClass:"flex",staticStyle:{"text-align":"center"},attrs:{order:"1"}},[t.isTrashCheck?n("span",[t._v(t._s(t.checkTitle))]):t._e()]),t._v(" "),n("mu-flexbox-item",{staticClass:"flex",staticStyle:{"text-align":"right"},attrs:{order:"2"}},[t.isTrashCheck?n("mu-raised-button",{staticClass:"raised-button",attrs:{label:t.checkBtnTxt},on:{click:function(e){t.allTrashCheck(!t.allChecked)}}}):n("span",["grid"==t.layout?n("span",{staticClass:"icon",on:{click:t.changeLayout}},[n("icon",{attrs:{name:"list"}})],1):n("span",{staticClass:"icon",on:{click:t.changeLayout}},[n("icon",{attrs:{name:"th-large"}})],1)])],1)],1)},staticRenderFns:[]};var O=n("Z0/y")(L,w,!1,function(t){n("YBAl")},"data-v-40fd331c",null).exports,S={data:function(){return{timeOutEvent:0,Loop:null,dialog:!1,note:{}}},computed:u()({},Object(h.b)(["layout","isTrashCheck"]),{trashNotes:function(){return this.$store.state.trashNotes}}),methods:{gtouchstart:function(t){var e=this;return this.timeOutEvent=setTimeout(function(){e.longPress(t)},500),!1},gtouchend:function(t){return clearTimeout(this.timeOutEvent),0!=this.timeOutEvent&&this.checkNote(t),!1},longPress:function(t){this.timeOutEvent=0,this.$store.state.isTrashCheck=!0,this.$store.dispatch("toggleTrashNote",t)},loopstart:function(t){var e=this;clearInterval(this.Loop),this.Loop=setTimeout(function(){e.$store.state.isTrashCheck=!0,e.$store.dispatch("toggleTrashNote",t)},500)},clearLoop:function(){clearTimeout(this.Loop)},checkNote:function(t){this.$store.state.isTrashCheck?this.$store.dispatch("toggleTrashNote",t):(this.dialog=!0,this.$store.state.deleteTrashNotes.push(t))},close:function(){this.dialog=!1},ecoveryConfirm:function(){this.dialog=!1,this.$store.dispatch("recoveryNote")}}},R={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"trash-notelist"},[n("div",{staticClass:"trash-tip"},[t._v("废纸篓内的便签逾期30天后会被自动删除哦!")]),t._v(" "),n("ul",{staticClass:"noteList",class:t.layout},t._l(t.trashNotes,function(e){return n("li",{key:e.id,on:{mousedown:function(n){t.gtouchstart(e)},mouseup:function(n){t.gtouchend(e)},touchstart:function(n){t.loopstart(e)},touchend:t.clearLoop}},[n("h4",[t._v(t._s(e.date))]),t._v(" "),n("p",[t._v(t._s(e.content))]),t._v(" "),n("mu-checkbox",{directives:[{name:"show",rawName:"v-show",value:t.isTrashCheck,expression:"isTrashCheck"}],staticClass:"checkbox",attrs:{label:""},model:{value:e.done,callback:function(n){t.$set(e,"done",n)},expression:"note.done"}})],1)})),t._v(" "),n("mu-dialog",{attrs:{open:t.dialog,title:"恢复便签"},on:{close:t.close}},[t._v("\n 不能打开本便签,如需对便签进行编辑操作,请先恢复该便签\n "),n("mu-flat-button",{attrs:{slot:"actions",primary:"",label:"取消"},on:{click:t.close},slot:"actions"}),t._v(" "),n("mu-flat-button",{attrs:{slot:"actions",primary:"",label:"恢复"},on:{click:t.ecoveryConfirm},slot:"actions"})],1)],1)},staticRenderFns:[]};var H=n("Z0/y")(S,R,!1,function(t){n("Do2Q")},"data-v-792a749d",null).exports,A={data:function(){return{dialog:!1}},computed:u()({},Object(h.b)(["isTrashCheck"])),methods:{deleteNote:function(){this.dialog=!0},deleteConfirm:function(){this.dialog=!1,this.$store.dispatch("deleteTrashNote")},close:function(){this.dialog=!1},recoveryNote:function(){this.$store.dispatch("recoveryNote")}}},B={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"toolBar"},[t.isTrashCheck?n("div",{staticClass:"toolBtn"},[n("span",{staticClass:"icon",on:{click:t.recoveryNote}},[n("icon",{attrs:{name:"dolly"}})],1),t._v(" "),n("span",{staticClass:"icon",on:{click:t.deleteNote}},[n("icon",{attrs:{name:"trash-alt"}})],1)]):t._e(),t._v(" "),n("mu-dialog",{attrs:{open:t.dialog,title:"删除便签"},on:{close:t.close}},[t._v("\n 您确定删除所选便签吗?\n "),n("mu-flat-button",{attrs:{slot:"actions",primary:"",label:"取消"},on:{click:t.close},slot:"actions"}),t._v(" "),n("mu-flat-button",{attrs:{slot:"actions",primary:"",label:"确定"},on:{click:t.deleteConfirm},slot:"actions"})],1)],1)},staticRenderFns:[]};var F={data:function(){return{}},components:{TrashHeader:O,TrashNoteList:H,TrashToolBar:n("Z0/y")(A,B,!1,function(t){n("W6y1")},"data-v-56313116",null).exports}},M={render:function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"trash-notepad"},[e("TrashHeader"),this._v(" "),e("TrashNoteList"),this._v(" "),e("TrashToolBar")],1)},staticRenderFns:[]};var P=n("Z0/y")(F,M,!1,function(t){n("vnhu")},"data-v-29bd97e6",null).exports;i.default.use(r.a);var D,z=new r.a({routes:[{path:"/",name:"notepad",component:T},{path:"/editor",name:"editor",component:y},{path:"/noteFolder",name:"NoteFolder",component:$},{path:"/trash",name:"Trash",component:P}]}),V={notes:[],activeNote:{},deleteNotes:[],trashNotes:[],deleteTrashNotes:[],search:"",isCheck:!1,isTrashCheck:!1,layout:"list"},Z=n("a3Yh"),G=n.n(Z),W=(n("d9Vn"),D={},G()(D,"NEW_NOTE",function(t){var e={id:+new Date,date:(new Date).Format("yyyy-MM-dd hh:mm"),content:"",done:!1};t.activeNote=e,t.notes.push(e)}),G()(D,"EDIT_NOTE",function(t,e){t.activeNote=e}),G()(D,"TOGGLE_NOTE",function(t,e){t.notes.map(function(t,n){t.id==e.id&&(t.done=!e.done)}),e.done?t.deleteNotes.push(e):t.deleteNotes.splice(t.deleteNotes.indexOf(e),1)}),G()(D,"CANCEL_CHECK",function(t){t.notes.map(function(t,e){t.done=!1}),t.deleteNotes=[],t.isCheck=!1}),G()(D,"ALL_CHECK",function(t,e){t.deleteNotes=[],t.notes.map(function(n,s){n.done=e,e?t.deleteNotes.push(n):t.deleteNotes=[]})}),G()(D,"DELETE_NOTE",function(t){t.deleteNotes.map(function(e,n){e.done=!1,t.notes.splice(t.notes.indexOf(e),1),t.trashNotes.push(e)}),t.isCheck=!1,t.deleteNotes=[]}),G()(D,"BACK_SAVE",function(t,e){""==e.content&&t.notes.splice(t.notes.indexOf(e),1)}),G()(D,"TOGGLE_TRASHNOTE",function(t,e){t.trashNotes.map(function(t,n){t.id==e.id&&(t.done=!e.done)}),e.done?t.deleteTrashNotes.push(e):t.deleteTrashNotes.splice(t.deleteTrashNotes.indexOf(e),1)}),G()(D,"CANCEL_TRASHCHECk",function(t){t.trashNotes.map(function(t,e){t.done=!1}),t.deleteTrashNotes=[],t.isTrashCheck=!1}),G()(D,"ALL_TRASHCHECK",function(t,e){t.deleteTrashNotes=[],t.trashNotes.map(function(n,s){n.done=e,e?t.deleteTrashNotes.push(n):t.deleteTrashNotes=[]})}),G()(D,"DELETE_TRASHNOTE",function(t){t.deleteTrashNotes.map(function(e,n){t.trashNotes.splice(t.trashNotes.indexOf(e),1)}),t.deleteTrashNotes=[],t.isTrashCheck=!1}),G()(D,"RECOVERY_NOTE",function(t){t.deleteTrashNotes.map(function(e,n){e.done=!1,t.notes.unshift(e),t.trashNotes.splice(t.trashNotes.indexOf(e),1)}),t.deleteTrashNotes=[],t.isTrashCheck=!1}),D),j=function(t){return""!=t.search&&t.notes.length>0?t.notes.filter(function(e){return e.content.indexOf(t.search)>-1})||{}:t.notes||{}},K=function(t){return t.activeNote},I=function(t){return t.layout},Y=function(t){return t.isCheck},q=function(t){return t.isTrashCheck},Q=function(t){(0,t.commit)("NEW_NOTE")},J=function(t,e){(0,t.commit)("EDIT_NOTE",e)},U=function(t,e){(0,t.commit)("TOGGLE_NOTE",e)},X=function(t){(0,t.commit)("CANCEL_CHECK")},tt=function(t,e){(0,t.commit)("ALL_CHECK",e)},et=function(t){(0,t.commit)("DELETE_NOTE")},nt=function(t,e){(0,t.commit)("BACK_SAVE",e)},st=function(t,e){(0,t.commit)("TOGGLE_TRASHNOTE",e)},ot=function(t){(0,t.commit)("CANCEL_TRASHCHECk")},it=function(t,e){(0,t.commit)("ALL_TRASHCHECK",e)},at=function(t){(0,t.commit)("DELETE_TRASHNOTE")},ct=function(t){(0,t.commit)("RECOVERY_NOTE")};i.default.use(h.a);var rt=new h.a.Store({state:V,mutations:W,getters:s,actions:o}),lt=n("q2H9"),ut=n.n(lt),ht=(n("5s8g"),n("TLD1"),n("ykR9"));n("xmiu"),n("Oxrq");i.default.use(ut.a),i.default.component("icon",ht.a),i.default.config.productionTip=!1,new i.default({el:"#app",router:z,store:rt,components:{App:c},template:""})},Pv2r:function(t,e){},TLD1:function(t,e){},W6y1:function(t,e){},Wos8:function(t,e){},YBAl:function(t,e){},amrL:function(t,e){},bL7U:function(t,e){},d9Vn:function(t,e){Date.prototype.Format=function(t){var e={"M+":this.getMonth()+1,"d+":this.getDate(),"h+":this.getHours(),"m+":this.getMinutes(),"s+":this.getSeconds(),"q+":Math.floor((this.getMonth()+3)/3),S:this.getMilliseconds()};for(var n in/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(this.getFullYear()+"").substr(4-RegExp.$1.length))),e)new RegExp("("+n+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?e[n]:("00"+e[n]).substr((""+e[n]).length)));return t}},nGQo:function(t,e){},"q+mC":function(t,e){},vnhu:function(t,e){},ykR9:function(t,e,n){"use strict";var s={},o={name:"icon",props:{name:{type:String,validator:function(t){return t?t in s||(console.warn('Invalid prop: prop "name" is referring to an unregistered icon "'+t+'".\nPlease make sure you have imported this icon before using it.'),!1):(console.warn('Invalid prop: prop "name" is required.'),!1)}},scale:[Number,String],spin:Boolean,inverse:Boolean,pulse:Boolean,flip:{validator:function(t){return"horizontal"===t||"vertical"===t}},label:String},data:function(){return{x:!1,y:!1,childrenWidth:0,childrenHeight:0,outerScale:1}},computed:{normalizedScale:function(){var t=this.scale;return t=void 0===t?1:Number(t),isNaN(t)||t<=0?(console.warn('Invalid prop: prop "scale" should be a number over 0.',this),this.outerScale):t*this.outerScale},klass:function(){return{"fa-icon":!0,"fa-spin":this.spin,"fa-flip-horizontal":"horizontal"===this.flip,"fa-flip-vertical":"vertical"===this.flip,"fa-inverse":this.inverse,"fa-pulse":this.pulse}},icon:function(){return this.name?s[this.name]:null},box:function(){return this.icon?"0 0 "+this.icon.width+" "+this.icon.height:"0 0 "+this.width+" "+this.height},ratio:function(){if(!this.icon)return 1;var t=this.icon,e=t.width,n=t.height;return Math.max(e,n)/16},width:function(){return this.childrenWidth||this.icon&&this.icon.width/this.ratio*this.normalizedScale||0},height:function(){return this.childrenHeight||this.icon&&this.icon.height/this.ratio*this.normalizedScale||0},style:function(){return 1!==this.normalizedScale&&{fontSize:this.normalizedScale+"em"}},raw:function(){if(!this.icon||!this.icon.raw)return null;var t=this.icon.raw,e={};return t=t.replace(/\s(?:xml:)?id=(["']?)([^"')\s]+)\1/g,function(t,n,s){var o="fa-"+(i++).toString(16);return e[s]=o,' id="'+o+'"'}),t=t.replace(/#(?:([^'")\s]+)|xpointer\(id\((['"]?)([^')]+)\2\)\))/g,function(t,n,s,o){var i=n||o;return i&&e[i]?"#"+e[i]:t}),t}},mounted:function(){var t=this;if(!this.icon){this.$children.forEach(function(e){e.outerScale=t.normalizedScale});var e=0,n=0;this.$children.forEach(function(t){e=Math.max(e,t.width),n=Math.max(n,t.height)}),this.childrenWidth=e,this.childrenHeight=n,this.$children.forEach(function(t){t.x=(e-t.width)/2,t.y=(n-t.height)/2})}},register:function(t){for(var e in t){var n=t[e];n.paths||(n.paths=[]),n.d&&n.paths.push({d:n.d}),n.polygons||(n.polygons=[]),n.points&&n.polygons.push({points:n.points}),s[e]=n}},icons:s},i=870711;var a={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("svg",{class:t.klass,style:t.style,attrs:{version:"1.1",role:t.label?"img":"presentation","aria-label":t.label,x:t.x,y:t.y,width:t.width,height:t.height,viewBox:t.box}},[t._t("default",[t.icon&&t.icon.paths?t._l(t.icon.paths,function(e,s){return n("path",t._b({key:"path-"+s},"path",e,!1))}):t._e(),t._v(" "),t.icon&&t.icon.polygons?t._l(t.icon.polygons,function(e,s){return n("polygon",t._b({key:"polygon-"+s},"polygon",e,!1))}):t._e(),t._v(" "),t.icon&&t.icon.raw?[n("g",{domProps:{innerHTML:t._s(t.raw)}})]:t._e()])],2)},staticRenderFns:[]};var c=n("Z0/y")(o,a,!1,function(t){n("amrL")},null,null);e.a=c.exports},zxv9:function(t,e){}},["NHnr"]);
2 | //# sourceMappingURL=app.06c0c6b9f5d79fbc1631.js.map
--------------------------------------------------------------------------------
/dist/static/js/manifest.3ad1d5771e9b13dbdad2.js:
--------------------------------------------------------------------------------
1 | !function(r){var n=window.webpackJsonp;window.webpackJsonp=function(e,u,c){for(var f,i,p,a=0,l=[];a
2 |
3 |
4 |
5 |
6 |
7 | notepad-xiaomi
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "notepad-xiaomi",
3 | "version": "1.0.0",
4 | "description": "xiaomi notepad",
5 | "author": "MR.L",
6 | "private": true,
7 | "scripts": {
8 | "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
9 | "start": "npm run dev",
10 | "unit": "jest --config test/unit/jest.conf.js --coverage",
11 | "e2e": "node test/e2e/runner.js",
12 | "test": "npm run unit && npm run e2e",
13 | "build": "node build/build.js"
14 | },
15 | "dependencies": {
16 | "muse-ui": "^2.1.0",
17 | "vue": "^2.5.2",
18 | "vue-awesome": "^3.0.0",
19 | "vue-router": "^3.0.1",
20 | "vuex": "^3.0.1"
21 | },
22 | "devDependencies": {
23 | "autoprefixer": "^7.1.2",
24 | "babel-core": "^6.22.1",
25 | "babel-helper-vue-jsx-merge-props": "^2.0.3",
26 | "babel-jest": "^21.0.2",
27 | "babel-loader": "^7.1.1",
28 | "babel-plugin-dynamic-import-node": "^1.2.0",
29 | "babel-plugin-syntax-jsx": "^6.18.0",
30 | "babel-plugin-transform-es2015-modules-commonjs": "^6.26.0",
31 | "babel-plugin-transform-runtime": "^6.22.0",
32 | "babel-plugin-transform-vue-jsx": "^3.5.0",
33 | "babel-preset-env": "^1.3.2",
34 | "babel-preset-stage-2": "^6.22.0",
35 | "babel-register": "^6.22.0",
36 | "chalk": "^2.0.1",
37 | "chromedriver": "^2.27.2",
38 | "copy-webpack-plugin": "^4.0.1",
39 | "cross-spawn": "^5.0.1",
40 | "css-loader": "^0.28.0",
41 | "extract-text-webpack-plugin": "^3.0.0",
42 | "file-loader": "^1.1.4",
43 | "friendly-errors-webpack-plugin": "^1.6.1",
44 | "html-webpack-plugin": "^2.30.1",
45 | "jest": "^22.0.4",
46 | "jest-serializer-vue": "^0.3.0",
47 | "nightwatch": "^0.9.12",
48 | "node-notifier": "^5.1.2",
49 | "optimize-css-assets-webpack-plugin": "^3.2.0",
50 | "ora": "^1.2.0",
51 | "portfinder": "^1.0.13",
52 | "postcss-import": "^11.0.0",
53 | "postcss-loader": "^2.0.8",
54 | "postcss-url": "^7.2.1",
55 | "rimraf": "^2.6.0",
56 | "selenium-server": "^3.0.1",
57 | "semver": "^5.3.0",
58 | "shelljs": "^0.7.6",
59 | "uglifyjs-webpack-plugin": "^1.1.1",
60 | "url-loader": "^0.5.8",
61 | "vue-jest": "^1.0.2",
62 | "vue-loader": "^13.3.0",
63 | "vue-style-loader": "^3.0.1",
64 | "vue-template-compiler": "^2.5.2",
65 | "webpack": "^3.6.0",
66 | "webpack-bundle-analyzer": "^2.9.0",
67 | "webpack-dev-server": "^2.9.1",
68 | "webpack-merge": "^4.1.0"
69 | },
70 | "engines": {
71 | "node": ">= 6.0.0",
72 | "npm": ">= 3.0.0"
73 | },
74 | "browserslist": [
75 | "> 1%",
76 | "last 2 versions",
77 | "not ie <= 8"
78 | ]
79 | }
80 |
--------------------------------------------------------------------------------
/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
13 |
33 |
--------------------------------------------------------------------------------
/src/assets/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tianlang89757/vuex-notepad2/4f7784ccf1da9bb8a2a6ac1983699e4c487d92d3/src/assets/logo.png
--------------------------------------------------------------------------------
/src/components/Editor.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | 完成
7 |
8 |
9 |
10 |
11 |
12 |
55 |
56 |
--------------------------------------------------------------------------------
/src/components/Header.vue:
--------------------------------------------------------------------------------
1 |
2 |
25 |
26 |
27 |
91 |
92 |
147 |
148 |
149 |
150 |
151 |
--------------------------------------------------------------------------------
/src/components/NoteFolder.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
9 | -
10 |
11 |
12 |
13 |
14 |
15 | {{notes}}
16 |
17 |
18 |
19 |
20 |
32 |
33 |
34 |
35 |
69 |
117 |
118 |
--------------------------------------------------------------------------------
/src/components/NoteList.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
{{note.date}}
5 | {{note.content}}
6 |
7 |
8 |
9 |
10 |
11 |
77 |
78 |
136 |
137 |
--------------------------------------------------------------------------------
/src/components/Notepad.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
26 |
27 |
28 |
34 |
--------------------------------------------------------------------------------
/src/components/ToolBar.vue:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 |
54 |
55 |
92 |
93 |
--------------------------------------------------------------------------------
/src/components/Trash.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
25 |
28 |
29 |
--------------------------------------------------------------------------------
/src/components/TrashHeader.vue:
--------------------------------------------------------------------------------
1 |
2 |
21 |
22 |
68 |
90 |
91 |
92 |
--------------------------------------------------------------------------------
/src/components/TrashNoteList.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
废纸篓内的便签逾期30天后会被自动删除哦!
4 |
5 | -
6 |
{{note.date}}
7 | {{note.content}}
8 |
9 |
10 |
11 |
12 | 不能打开本便签,如需对便签进行编辑操作,请先恢复该便签
13 |
14 |
15 |
16 |
17 |
18 |
96 |
162 |
163 |
164 |
--------------------------------------------------------------------------------
/src/components/TrashToolBar.vue:
--------------------------------------------------------------------------------
1 |
2 |
13 |
14 |
48 |
--------------------------------------------------------------------------------
/src/libs/dateFormat.js:
--------------------------------------------------------------------------------
1 | // 对Date的扩展,将 Date 转化为指定格式的String
2 | // 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
3 | // 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
4 | // 例子:
5 | // (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423
6 | // (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18
7 | Date.prototype.Format = function(fmt) { //author: meizz
8 | var o = {
9 | "M+": this.getMonth() + 1, //月份
10 | "d+": this.getDate(), //日
11 | "h+": this.getHours(), //小时
12 | "m+": this.getMinutes(), //分
13 | "s+": this.getSeconds(), //秒
14 | "q+": Math.floor((this.getMonth() + 3) / 3), //季度
15 | "S": this.getMilliseconds() //毫秒
16 | };
17 | if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
18 | for (var k in o)
19 | if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
20 | return fmt;
21 | }
--------------------------------------------------------------------------------
/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/index'
7 |
8 | /* 第三方插件 */
9 | import MuseUI from 'muse-ui'
10 | import 'muse-ui/dist/muse-ui.css'
11 | import 'muse-ui/dist/theme-teal.css'
12 | import Icon from 'vue-awesome/components/Icon'
13 | import 'vue-awesome/icons/flag'
14 | import 'vue-awesome/icons'
15 |
16 | Vue.use(MuseUI)
17 | Vue.component('icon', Icon);
18 | Vue.config.productionTip = false
19 |
20 | /* eslint-disable no-new */
21 | new Vue({
22 | el: '#app',
23 | router,
24 | store,
25 | components: { App },
26 | template: ''
27 | })
--------------------------------------------------------------------------------
/src/router/index.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import Router from 'vue-router'
3 | import Notepad from '@/components/Notepad'
4 | import Editor from '@/components/Editor'
5 | import NoteFolder from '@/components/NoteFolder'
6 | import Trash from '@/components/Trash'
7 |
8 | Vue.use(Router)
9 |
10 | export default new Router({
11 | routes: [{
12 | path: '/',
13 | name: 'notepad',
14 | component: Notepad
15 | }, {
16 | path: '/editor',
17 | name: 'editor',
18 | component: Editor
19 | }, {
20 | path: '/noteFolder',
21 | name: 'NoteFolder',
22 | component: NoteFolder
23 | }, {
24 | path: '/trash',
25 | name: 'Trash',
26 | component: Trash
27 | }]
28 | })
--------------------------------------------------------------------------------
/src/store/actions.js:
--------------------------------------------------------------------------------
1 | import * as types from './mutation-types';
2 |
3 | //创建新便签
4 | export const newNote = ({ commit }) => {
5 | commit(types.NEW_NOTE)
6 | }
7 |
8 | //编辑便签
9 | export const editNote = ({ commit }, note) => {
10 | commit(types.EDIT_NOTE, note)
11 | }
12 |
13 | //勾选便签
14 | export const toggleNote = ({ commit }, note) => {
15 | commit(types.TOGGLE_NOTE, note)
16 | }
17 |
18 | //取消勾选便签
19 | export const cancelCheck = ({ commit }) => {
20 | commit(types.CANCEL_CHECK)
21 | }
22 |
23 | //全部勾选
24 | export const allCheck = ({ commit }, done) => {
25 | commit(types.ALL_CHECK, done)
26 | }
27 |
28 | //删除便签
29 | export const deleteNote = ({ commit }) => {
30 | commit(types.DELETE_NOTE)
31 | }
32 |
33 | //返回自动保存
34 | export const backSave = ({ commit }, note) => {
35 | commit(types.BACK_SAVE, note)
36 | }
37 |
38 | //勾选废纸篓便签
39 | export const toggleTrashNote = ({ commit }, note) => {
40 | commit(types.TOGGLE_TRASHNOTE, note)
41 | }
42 |
43 | //取消勾选废纸篓便签
44 | export const cancelTrashCheck = ({ commit }) => {
45 | commit(types.CANCEL_TRASHCHECk)
46 | }
47 |
48 | //全选废纸篓便签
49 | export const allTrashCheck = ({ commit }, done) => {
50 | commit(types.ALL_TRASHCHECK, done)
51 | }
52 |
53 | //删除废纸篓便签
54 | export const deleteTrashNote = ({ commit }) => {
55 | commit(types.DELETE_TRASHNOTE)
56 | }
57 |
58 | //恢复便签
59 | export const recoveryNote = ({ commit }) => {
60 | commit(types.RECOVERY_NOTE)
61 | }
--------------------------------------------------------------------------------
/src/store/getters.js:
--------------------------------------------------------------------------------
1 | export const filterNote = (state) => {
2 | if (state.search != '' && state.notes.length > 0) {
3 | return state.notes.filter(note => note.content.indexOf(state.search) > -1) || {}
4 | } else {
5 | return state.notes || {}
6 | }
7 | }
8 |
9 | export const activeNote = (state) => {
10 | return state.activeNote
11 | }
12 |
13 | export const layout = state => state.layout
14 |
15 | export const isCheck = state => state.isCheck
16 |
17 | export const isTrashCheck = state => state.isTrashCheck
--------------------------------------------------------------------------------
/src/store/index.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import Vuex from 'vuex'
3 | import state from './state'
4 | import mutations from './mutation'
5 | import * as getters from './getters'
6 | import * as actions from './actions'
7 |
8 | Vue.use(Vuex)
9 |
10 | export default new Vuex.Store({
11 | state,
12 | mutations,
13 | getters,
14 | actions
15 | })
--------------------------------------------------------------------------------
/src/store/mutation-types.js:
--------------------------------------------------------------------------------
1 | export const NEW_NOTE = 'NEW_NOTE'
2 | export const EDIT_NOTE = 'EDIT_NOTE'
3 | export const TOGGLE_NOTE = 'TOGGLE_NOTE'
4 | export const CANCEL_CHECK = 'CANCEL_CHECK'
5 | export const ALL_CHECK = 'ALL_CHECK'
6 | export const DELETE_NOTE = 'DELETE_NOTE'
7 | export const BACK_SAVE = 'BACK_SAVE'
8 | export const TOGGLE_TRASHNOTE = 'TOGGLE_TRASHNOTE'
9 | export const CANCEL_TRASHCHECk = 'CANCEL_TRASHCHECk'
10 | export const ALL_TRASHCHECK = 'ALL_TRASHCHECK'
11 | export const DELETE_TRASHNOTE = 'DELETE_TRASHNOTE'
12 | export const RECOVERY_NOTE = 'RECOVERY_NOTE'
--------------------------------------------------------------------------------
/src/store/mutation.js:
--------------------------------------------------------------------------------
1 | import Format from '../libs/dateFormat'
2 | import * as types from './mutation-types';
3 |
4 | const mutations = {
5 | [types.NEW_NOTE](state) {
6 | let newNote = {
7 | id: +new Date(),
8 | date: new Date().Format('yyyy-MM-dd hh:mm'),
9 | content: '',
10 | done: false
11 | }
12 | state.activeNote = newNote;
13 | state.notes.push(newNote)
14 | },
15 | [types.EDIT_NOTE](state, note) {
16 | state.activeNote = note;
17 | },
18 | [types.TOGGLE_NOTE](state, note) {
19 | state.notes.map((item, i) => {
20 | if (item.id == note.id) {
21 | item.done = !note.done;
22 | }
23 | })
24 | if (note.done) {
25 | state.deleteNotes.push(note);
26 | } else {
27 | state.deleteNotes.splice(state.deleteNotes.indexOf(note), 1);
28 | }
29 | },
30 | [types.CANCEL_CHECK](state) {
31 | state.notes.map((item, i) => {
32 | item.done = false;
33 | })
34 | state.deleteNotes = [];
35 | state.isCheck = false;
36 | },
37 | [types.ALL_CHECK](state, done) {
38 | state.deleteNotes = [];
39 | state.notes.map((item, i) => {
40 | item.done = done;
41 | if (done) {
42 | state.deleteNotes.push(item);
43 | } else {
44 | state.deleteNotes = [];
45 | }
46 | })
47 | },
48 | [types.DELETE_NOTE](state) {
49 | state.deleteNotes.map((item, i) => {
50 | item.done = false;
51 | state.notes.splice(state.notes.indexOf(item), 1);
52 | state.trashNotes.push(item)
53 | })
54 | state.isCheck = false;
55 | state.deleteNotes = [];
56 | },
57 | [types.BACK_SAVE](state, note) {
58 | if (note.content != '') return;
59 | state.notes.splice(state.notes.indexOf(note), 1);
60 | },
61 | [types.TOGGLE_TRASHNOTE](state, note) {
62 | state.trashNotes.map((item, i) => {
63 | if (item.id == note.id) {
64 | item.done = !note.done;
65 | }
66 | })
67 | if (note.done) {
68 | state.deleteTrashNotes.push(note);
69 | } else {
70 | state.deleteTrashNotes.splice(state.deleteTrashNotes.indexOf(note), 1);
71 | }
72 | },
73 | [types.CANCEL_TRASHCHECk](state) {
74 | state.trashNotes.map((item, i) => {
75 | item.done = false;
76 | })
77 | state.deleteTrashNotes = [];
78 | state.isTrashCheck = false;
79 | },
80 | [types.ALL_TRASHCHECK](state, done) {
81 | state.deleteTrashNotes = [];
82 | state.trashNotes.map((item, i) => {
83 | item.done = done;
84 | if (done) {
85 | state.deleteTrashNotes.push(item);
86 | } else {
87 | state.deleteTrashNotes = [];
88 | }
89 | })
90 | },
91 | [types.DELETE_TRASHNOTE](state) {
92 | state.deleteTrashNotes.map((item, i) => {
93 | state.trashNotes.splice(state.trashNotes.indexOf(item), 1);
94 | })
95 | state.deleteTrashNotes = [];
96 | state.isTrashCheck = false;
97 | },
98 | [types.RECOVERY_NOTE](state) {
99 | state.deleteTrashNotes.map((item, i) => {
100 | item.done = false;
101 | state.notes.unshift(item)
102 | state.trashNotes.splice(state.trashNotes.indexOf(item), 1);
103 | })
104 | state.deleteTrashNotes = [];
105 | state.isTrashCheck = false;
106 | }
107 | }
108 |
109 | export default mutations;
--------------------------------------------------------------------------------
/src/store/state.js:
--------------------------------------------------------------------------------
1 | const state = {
2 | notes: [],
3 | activeNote: {},
4 | deleteNotes: [],
5 | trashNotes: [],
6 | deleteTrashNotes: [],
7 | search: '',
8 | isCheck: false,
9 | isTrashCheck: false,
10 | layout: 'list'
11 | }
12 |
13 | export default state;
--------------------------------------------------------------------------------
/static/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tianlang89757/vuex-notepad2/4f7784ccf1da9bb8a2a6ac1983699e4c487d92d3/static/.gitkeep
--------------------------------------------------------------------------------
/test/e2e/custom-assertions/elementCount.js:
--------------------------------------------------------------------------------
1 | // A custom Nightwatch assertion.
2 | // The assertion name is the filename.
3 | // Example usage:
4 | //
5 | // browser.assert.elementCount(selector, count)
6 | //
7 | // For more information on custom assertions see:
8 | // http://nightwatchjs.org/guide#writing-custom-assertions
9 |
10 | exports.assertion = function (selector, count) {
11 | this.message = 'Testing if element <' + selector + '> has count: ' + count
12 | this.expected = count
13 | this.pass = function (val) {
14 | return val === this.expected
15 | }
16 | this.value = function (res) {
17 | return res.value
18 | }
19 | this.command = function (cb) {
20 | var self = this
21 | return this.api.execute(function (selector) {
22 | return document.querySelectorAll(selector).length
23 | }, [selector], function (res) {
24 | cb.call(self, res)
25 | })
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/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 |
4 | const webpack = require('webpack')
5 | const DevServer = require('webpack-dev-server')
6 |
7 | const webpackConfig = require('../../build/webpack.prod.conf')
8 | const devConfigPromise = require('../../build/webpack.dev.conf')
9 |
10 | let server
11 |
12 | devConfigPromise.then(devConfig => {
13 | const devServerOptions = devConfig.devServer
14 | const compiler = webpack(webpackConfig)
15 | server = new DevServer(compiler, devServerOptions)
16 | const port = devServerOptions.port
17 | const host = devServerOptions.host
18 | return server.listen(port, host)
19 | })
20 | .then(() => {
21 | // 2. run the nightwatch test suite against it
22 | // to run in additional browsers:
23 | // 1. add an entry in test/e2e/nightwatch.conf.js under "test_settings"
24 | // 2. add it to the --env flag below
25 | // or override the environment flag, for example: `npm run e2e -- --env chrome,firefox`
26 | // For more information on Nightwatch's config file, see
27 | // http://nightwatchjs.org/guide#settings-file
28 | let opts = process.argv.slice(2)
29 | if (opts.indexOf('--config') === -1) {
30 | opts = opts.concat(['--config', 'test/e2e/nightwatch.conf.js'])
31 | }
32 | if (opts.indexOf('--env') === -1) {
33 | opts = opts.concat(['--env', 'chrome'])
34 | }
35 |
36 | const spawn = require('cross-spawn')
37 | const runner = spawn('./node_modules/.bin/nightwatch', opts, { stdio: 'inherit' })
38 |
39 | runner.on('exit', function (code) {
40 | server.close()
41 | process.exit(code)
42 | })
43 |
44 | runner.on('error', function (err) {
45 | server.close()
46 | throw err
47 | })
48 | })
49 |
--------------------------------------------------------------------------------
/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 | "jest": true
4 | },
5 | "globals": {
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/test/unit/jest.conf.js:
--------------------------------------------------------------------------------
1 | const path = require('path')
2 |
3 | module.exports = {
4 | rootDir: path.resolve(__dirname, '../../'),
5 | moduleFileExtensions: [
6 | 'js',
7 | 'json',
8 | 'vue'
9 | ],
10 | moduleNameMapper: {
11 | '^@/(.*)$': '/src/$1'
12 | },
13 | transform: {
14 | '^.+\\.js$': '/node_modules/babel-jest',
15 | '.*\\.(vue)$': '/node_modules/vue-jest'
16 | },
17 | testPathIgnorePatterns: [
18 | '/test/e2e'
19 | ],
20 | snapshotSerializers: ['/node_modules/jest-serializer-vue'],
21 | setupFiles: ['/test/unit/setup'],
22 | mapCoverage: true,
23 | coverageDirectory: '/test/unit/coverage',
24 | collectCoverageFrom: [
25 | 'src/**/*.{js,vue}',
26 | '!src/main.js',
27 | '!src/router/index.js',
28 | '!**/node_modules/**'
29 | ]
30 | }
31 |
--------------------------------------------------------------------------------
/test/unit/setup.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 |
3 | Vue.config.productionTip = false
4 |
--------------------------------------------------------------------------------
/test/unit/specs/HelloWorld.spec.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import HelloWorld from '@/components/HelloWorld'
3 |
4 | describe('HelloWorld.vue', () => {
5 | it('should render correct contents', () => {
6 | const Constructor = Vue.extend(HelloWorld)
7 | const vm = new Constructor().$mount()
8 | expect(vm.$el.querySelector('.hello h1').textContent)
9 | .toEqual('Welcome to Your Vue.js App')
10 | })
11 | })
12 |
--------------------------------------------------------------------------------