diff --git a/.babelrc b/.babelrc index 51a8ae4..41789ca 100644 --- a/.babelrc +++ b/.babelrc @@ -1,4 +1,5 @@ { "presets": ["es2015", "stage-2"], - "plugins": ["transform-runtime"] + "plugins": ["transform-runtime"], + "comments": false } diff --git a/build/build.js b/build/build.js new file mode 100644 index 0000000..37f5a82 --- /dev/null +++ b/build/build.js @@ -0,0 +1,35 @@ +// https://github.com/shelljs/shelljs +require('shelljs/global') +env.NODE_ENV = 'production' + +var path = require('path') +var config = require('../config') +var ora = require('ora') +var webpack = require('webpack') +var webpackConfig = require('./webpack.prod.conf') + +console.log( + ' Tip:\n' + + ' Built files are meant to be served over an HTTP server.\n' + + ' Opening index.html over file:// won\'t work.\n' +) + +var spinner = ora('building for production...') +spinner.start() + +var assetsPath = path.join(config.build.assetsRoot, config.build.assetsSubDirectory) +rm('-rf', assetsPath) +mkdir('-p', assetsPath) +cp('-R', 'static/', assetsPath) + +webpack(webpackConfig, function (err, stats) { + spinner.stop() + if (err) throw err + process.stdout.write(stats.toString({ + colors: true, + modules: false, + children: false, + chunks: false, + chunkModules: false + }) + '\n') +}) diff --git a/build/dev-client.js b/build/dev-client.js new file mode 100644 index 0000000..18aa1e2 --- /dev/null +++ b/build/dev-client.js @@ -0,0 +1,9 @@ +/* eslint-disable */ +require('eventsource-polyfill') +var hotClient = require('webpack-hot-middleware/client?noInfo=true&reload=true') + +hotClient.subscribe(function (event) { + if (event.action === 'reload') { + window.location.reload() + } +}) diff --git a/build/dev-server.js b/build/dev-server.js new file mode 100644 index 0000000..b4d8133 --- /dev/null +++ b/build/dev-server.js @@ -0,0 +1,65 @@ +var path = require('path') +var express = require('express') +var webpack = require('webpack') +var config = require('../config') +var proxyMiddleware = require('http-proxy-middleware') +var webpackConfig = process.env.NODE_ENV === 'testing' + ? require('./webpack.prod.conf') + : require('./webpack.dev.conf') + +// default port where dev server listens for incoming traffic +var port = process.env.PORT || config.dev.port +// Define HTTP proxies to your custom API backend +// https://github.com/chimurai/http-proxy-middleware +var proxyTable = config.dev.proxyTable + +var app = express() +var compiler = webpack(webpackConfig) + +var devMiddleware = require('webpack-dev-middleware')(compiler, { + publicPath: webpackConfig.output.publicPath, + stats: { + colors: true, + chunks: false + } +}) + +var hotMiddleware = require('webpack-hot-middleware')(compiler) +// force page reload when html-webpack-plugin template changes +compiler.plugin('compilation', function (compilation) { + compilation.plugin('html-webpack-plugin-after-emit', function (data, cb) { + hotMiddleware.publish({ action: 'reload' }) + cb() + }) +}) + +// proxy api requests +Object.keys(proxyTable).forEach(function (context) { + var options = proxyTable[context] + if (typeof options === 'string') { + options = { target: options } + } + app.use(proxyMiddleware(context, options)) +}) + +// handle fallback for HTML5 history API +app.use(require('connect-history-api-fallback')()) + +// serve webpack bundle output +app.use(devMiddleware) + +// enable hot-reload and state-preserving +// compilation error display +app.use(hotMiddleware) + +// serve pure static assets +var staticPath = path.posix.join(config.build.assetsPublicPath, config.build.assetsSubDirectory) +app.use(staticPath, express.static('./static')) + +module.exports = app.listen(port, function (err) { + if (err) { + console.log(err) + return + } + console.log('Listening at http://localhost:' + port + '\n') +}) diff --git a/build/utils.js b/build/utils.js new file mode 100644 index 0000000..d294e35 --- /dev/null +++ b/build/utils.js @@ -0,0 +1,56 @@ +var path = require('path') +var config = require('../config') +var ExtractTextPlugin = require('extract-text-webpack-plugin') + +exports.assetsPath = function (_path) { + return path.posix.join(config.build.assetsSubDirectory, _path) +} + +exports.cssLoaders = function (options) { + options = options || {} + // generate loader string to be used with extract text plugin + function generateLoaders (loaders) { + var sourceLoader = loaders.map(function (loader) { + var extraParamChar + if (/\?/.test(loader)) { + loader = loader.replace(/\?/, '-loader?') + extraParamChar = '&' + } else { + loader = loader + '-loader' + extraParamChar = '?' + } + return loader + (options.sourceMap ? extraParamChar + 'sourceMap' : '') + }).join('!') + + if (options.extract) { + return ExtractTextPlugin.extract('vue-style-loader', sourceLoader) + } else { + return ['vue-style-loader', sourceLoader].join('!') + } + } + + // http://vuejs.github.io/vue-loader/configurations/extract-css.html + return { + css: generateLoaders(['css']), + postcss: generateLoaders(['css']), + less: generateLoaders(['css', 'less']), + sass: generateLoaders(['css', 'sass?indentedSyntax']), + scss: generateLoaders(['css', 'sass']), + stylus: generateLoaders(['css', 'stylus']), + styl: generateLoaders(['css', 'stylus']) + } +} + +// Generate loaders for standalone style files (outside of .vue) +exports.styleLoaders = function (options) { + var output = [] + var loaders = exports.cssLoaders(options) + for (var extension in loaders) { + var loader = loaders[extension] + output.push({ + test: new RegExp('\\.' + extension + '$'), + loader: loader + }) + } + return output +} diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js new file mode 100644 index 0000000..2a6dbf2 --- /dev/null +++ b/build/webpack.base.conf.js @@ -0,0 +1,68 @@ +var path = require('path') +var config = require('../config') +var utils = require('./utils') +var projectRoot = path.resolve(__dirname, '../') + +module.exports = { + entry: { + app: './src/main.js' + }, + output: { + path: config.build.assetsRoot, + publicPath: config.build.assetsPublicPath, + filename: '[name].js' + }, + resolve: { + extensions: ['', '.js', '.vue'], + fallback: [path.join(__dirname, '../node_modules')], + alias: { + 'src': path.resolve(__dirname, '../src'), + 'assets': path.resolve(__dirname, '../src/assets'), + 'components': path.resolve(__dirname, '../src/components') + } + }, + resolveLoader: { + fallback: [path.join(__dirname, '../node_modules')] + }, + module: { + loaders: [ + { + test: /\.vue$/, + loader: 'vue' + }, + { + test: /\.js$/, + loader: 'babel', + include: projectRoot, + exclude: /node_modules/ + }, + { + test: /\.json$/, + loader: 'json' + }, + { + test: /\.html$/, + loader: 'vue-html' + }, + { + test: /\.(png|jpe?g|gif|svg)(\?.*)?$/, + loader: 'url', + query: { + limit: 10000, + name: utils.assetsPath('img/[name].[hash:7].[ext]') + } + }, + { + test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/, + loader: 'url', + query: { + limit: 10000, + name: utils.assetsPath('fonts/[name].[hash:7].[ext]') + } + } + ] + }, + vue: { + loaders: utils.cssLoaders() + } +} diff --git a/build/webpack.dev.conf.js b/build/webpack.dev.conf.js new file mode 100644 index 0000000..662df01 --- /dev/null +++ b/build/webpack.dev.conf.js @@ -0,0 +1,34 @@ +var config = require('../config') +var webpack = require('webpack') +var merge = require('webpack-merge') +var utils = require('./utils') +var baseWebpackConfig = require('./webpack.base.conf') +var HtmlWebpackPlugin = require('html-webpack-plugin') + +// add hot-reload related code to entry chunks +Object.keys(baseWebpackConfig.entry).forEach(function (name) { + baseWebpackConfig.entry[name] = ['./build/dev-client'].concat(baseWebpackConfig.entry[name]) +}) + +module.exports = merge(baseWebpackConfig, { + module: { + loaders: utils.styleLoaders() + }, + // eval-source-map is faster for development + devtool: '#eval-source-map', + plugins: [ + new webpack.DefinePlugin({ + 'process.env': config.dev.env + }), + // https://github.com/glenjamin/webpack-hot-middleware#installation--usage + new webpack.optimize.OccurenceOrderPlugin(), + new webpack.HotModuleReplacementPlugin(), + new webpack.NoErrorsPlugin(), + // https://github.com/ampedandwired/html-webpack-plugin + new HtmlWebpackPlugin({ + filename: 'index.html', + template: 'index.html', + inject: true + }) + ] +}) diff --git a/build/webpack.prod.conf.js b/build/webpack.prod.conf.js new file mode 100644 index 0000000..498f128 --- /dev/null +++ b/build/webpack.prod.conf.js @@ -0,0 +1,81 @@ +var path = require('path') +var config = require('../config') +var utils = require('./utils') +var webpack = require('webpack') +var merge = require('webpack-merge') +var baseWebpackConfig = require('./webpack.base.conf') +var ExtractTextPlugin = require('extract-text-webpack-plugin') +var HtmlWebpackPlugin = require('html-webpack-plugin') +var env = process.env.NODE_ENV === 'testing' + ? require('../config/test.env') + : config.build.env + +module.exports = merge(baseWebpackConfig, { + module: { + loaders: utils.styleLoaders({ sourceMap: config.build.productionSourceMap, extract: true }) + }, + devtool: config.build.productionSourceMap ? '#source-map' : false, + output: { + path: config.build.assetsRoot, + filename: utils.assetsPath('js/[name].[chunkhash].js'), + chunkFilename: utils.assetsPath('js/[id].[chunkhash].js') + }, + vue: { + loaders: utils.cssLoaders({ + sourceMap: config.build.productionSourceMap, + extract: true + }) + }, + plugins: [ + // http://vuejs.github.io/vue-loader/workflow/production.html + new webpack.DefinePlugin({ + 'process.env': env + }), + new webpack.optimize.UglifyJsPlugin({ + compress: { + warnings: false + } + }), + new webpack.optimize.OccurenceOrderPlugin(), + // extract css into its own file + new ExtractTextPlugin(utils.assetsPath('css/[name].[contenthash].css')), + // generate dist index.html with correct asset hash for caching. + // you can customize output by editing /index.html + // see https://github.com/ampedandwired/html-webpack-plugin + new HtmlWebpackPlugin({ + filename: process.env.NODE_ENV === 'testing' + ? 'index.html' + : config.build.index, + template: 'index.html', + inject: true, + minify: { + removeComments: true, + collapseWhitespace: true, + removeAttributeQuotes: true + // more options: + // https://github.com/kangax/html-minifier#options-quick-reference + }, + // necessary to consistently work with multiple chunks via CommonsChunkPlugin + chunksSortMode: 'dependency' + }), + // split vendor js into its own file + new webpack.optimize.CommonsChunkPlugin({ + name: 'vendor', + minChunks: function (module, count) { + // any required modules inside node_modules are extracted to vendor + return ( + module.resource && + module.resource.indexOf( + path.join(__dirname, '../node_modules') + ) === 0 + ) + } + }), + // extract webpack runtime and module manifest to its own file in order to + // prevent vendor hash from being updated whenever app bundle is updated + new webpack.optimize.CommonsChunkPlugin({ + name: 'manifest', + chunks: ['vendor'] + }) + ] +}) diff --git a/config/dev.env.js b/config/dev.env.js new file mode 100644 index 0000000..efead7c --- /dev/null +++ b/config/dev.env.js @@ -0,0 +1,6 @@ +var merge = require('webpack-merge') +var prodEnv = require('./prod.env') + +module.exports = merge(prodEnv, { + NODE_ENV: '"development"' +}) diff --git a/config/index.js b/config/index.js new file mode 100644 index 0000000..59773a0 --- /dev/null +++ b/config/index.js @@ -0,0 +1,18 @@ +// see http://vuejs-templates.github.io/webpack for documentation. +var path = require('path') + +module.exports = { + build: { + env: require('./prod.env'), + index: path.resolve(__dirname, '../dist/index.html'), + assetsRoot: path.resolve(__dirname, '../dist'), + assetsSubDirectory: 'static', + assetsPublicPath: '/', + productionSourceMap: true + }, + dev: { + env: require('./dev.env'), + port: 8080, + proxyTable: {} + } +} diff --git a/config/prod.env.js b/config/prod.env.js new file mode 100644 index 0000000..773d263 --- /dev/null +++ b/config/prod.env.js @@ -0,0 +1,3 @@ +module.exports = { + NODE_ENV: '"production"' +} diff --git a/config/test.env.js b/config/test.env.js new file mode 100644 index 0000000..89f90de --- /dev/null +++ b/config/test.env.js @@ -0,0 +1,6 @@ +var merge = require('webpack-merge') +var devEnv = require('./dev.env') + +module.exports = merge(devEnv, { + NODE_ENV: '"testing"' +}) diff --git a/dist/build.js b/dist/build.js deleted file mode 100644 index 847fbde..0000000 --- a/dist/build.js +++ /dev/null @@ -1,12537 +0,0 @@ -(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o Array#indexOf -// true -> Array#includes -var toIObject = require('./_to-iobject') - , toLength = require('./_to-length') - , toIndex = require('./_to-index'); -module.exports = function(IS_INCLUDES){ - return function($this, el, fromIndex){ - var O = toIObject($this) - , length = toLength(O.length) - , index = toIndex(fromIndex, length) - , value; - // Array#includes uses SameValueZero equality algorithm - if(IS_INCLUDES && el != el)while(length > index){ - value = O[index++]; - if(value != value)return true; - // Array#toIndex ignores holes, Array#includes - not - } else for(;length > index; index++)if(IS_INCLUDES || index in O){ - if(O[index] === el)return IS_INCLUDES || index || 0; - } return !IS_INCLUDES && -1; - }; -}; -},{"./_to-index":60,"./_to-iobject":62,"./_to-length":63}],17:[function(require,module,exports){ -var toString = {}.toString; - -module.exports = function(it){ - return toString.call(it).slice(8, -1); -}; -},{}],18:[function(require,module,exports){ -var core = module.exports = {version: '2.4.0'}; -if(typeof __e == 'number')__e = core; // eslint-disable-line no-undef -},{}],19:[function(require,module,exports){ -// optional / simple context binding -var aFunction = require('./_a-function'); -module.exports = function(fn, that, length){ - aFunction(fn); - if(that === undefined)return fn; - switch(length){ - case 1: return function(a){ - return fn.call(that, a); - }; - case 2: return function(a, b){ - return fn.call(that, a, b); - }; - case 3: return function(a, b, c){ - return fn.call(that, a, b, c); - }; - } - return function(/* ...args */){ - return fn.apply(that, arguments); - }; -}; -},{"./_a-function":13}],20:[function(require,module,exports){ -// 7.2.1 RequireObjectCoercible(argument) -module.exports = function(it){ - if(it == undefined)throw TypeError("Can't call method on " + it); - return it; -}; -},{}],21:[function(require,module,exports){ -// Thank's IE8 for his funny defineProperty -module.exports = !require('./_fails')(function(){ - return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7; -}); -},{"./_fails":26}],22:[function(require,module,exports){ -var isObject = require('./_is-object') - , document = require('./_global').document - // in old IE typeof document.createElement is 'object' - , is = isObject(document) && isObject(document.createElement); -module.exports = function(it){ - return is ? document.createElement(it) : {}; -}; -},{"./_global":27,"./_is-object":34}],23:[function(require,module,exports){ -// IE 8- don't enum bug keys -module.exports = ( - 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf' -).split(','); -},{}],24:[function(require,module,exports){ -// all enumerable object keys, includes symbols -var getKeys = require('./_object-keys') - , gOPS = require('./_object-gops') - , pIE = require('./_object-pie'); -module.exports = function(it){ - var result = getKeys(it) - , getSymbols = gOPS.f; - if(getSymbols){ - var symbols = getSymbols(it) - , isEnum = pIE.f - , i = 0 - , key; - while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))result.push(key); - } return result; -}; -},{"./_object-gops":48,"./_object-keys":51,"./_object-pie":52}],25:[function(require,module,exports){ -var global = require('./_global') - , core = require('./_core') - , ctx = require('./_ctx') - , hide = require('./_hide') - , PROTOTYPE = 'prototype'; - -var $export = function(type, name, source){ - var IS_FORCED = type & $export.F - , IS_GLOBAL = type & $export.G - , IS_STATIC = type & $export.S - , IS_PROTO = type & $export.P - , IS_BIND = type & $export.B - , IS_WRAP = type & $export.W - , exports = IS_GLOBAL ? core : core[name] || (core[name] = {}) - , expProto = exports[PROTOTYPE] - , target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE] - , key, own, out; - if(IS_GLOBAL)source = name; - for(key in source){ - // contains in native - own = !IS_FORCED && target && target[key] !== undefined; - if(own && key in exports)continue; - // export native or passed - out = own ? target[key] : source[key]; - // prevent global pollution for namespaces - exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key] - // bind timers to global for call from export context - : IS_BIND && own ? ctx(out, global) - // wrap global constructors for prevent change them in library - : IS_WRAP && target[key] == out ? (function(C){ - var F = function(a, b, c){ - if(this instanceof C){ - switch(arguments.length){ - case 0: return new C; - case 1: return new C(a); - case 2: return new C(a, b); - } return new C(a, b, c); - } return C.apply(this, arguments); - }; - F[PROTOTYPE] = C[PROTOTYPE]; - return F; - // make static versions for prototype methods - })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out; - // export proto methods to core.%CONSTRUCTOR%.methods.%NAME% - if(IS_PROTO){ - (exports.virtual || (exports.virtual = {}))[key] = out; - // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME% - if(type & $export.R && expProto && !expProto[key])hide(expProto, key, out); - } - } -}; -// type bitmap -$export.F = 1; // forced -$export.G = 2; // global -$export.S = 4; // static -$export.P = 8; // proto -$export.B = 16; // bind -$export.W = 32; // wrap -$export.U = 64; // safe -$export.R = 128; // real proto method for `library` -module.exports = $export; -},{"./_core":18,"./_ctx":19,"./_global":27,"./_hide":29}],26:[function(require,module,exports){ -module.exports = function(exec){ - try { - return !!exec(); - } catch(e){ - return true; - } -}; -},{}],27:[function(require,module,exports){ -// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 -var global = module.exports = typeof window != 'undefined' && window.Math == Math - ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')(); -if(typeof __g == 'number')__g = global; // eslint-disable-line no-undef -},{}],28:[function(require,module,exports){ -var hasOwnProperty = {}.hasOwnProperty; -module.exports = function(it, key){ - return hasOwnProperty.call(it, key); -}; -},{}],29:[function(require,module,exports){ -var dP = require('./_object-dp') - , createDesc = require('./_property-desc'); -module.exports = require('./_descriptors') ? function(object, key, value){ - return dP.f(object, key, createDesc(1, value)); -} : function(object, key, value){ - object[key] = value; - return object; -}; -},{"./_descriptors":21,"./_object-dp":43,"./_property-desc":54}],30:[function(require,module,exports){ -module.exports = require('./_global').document && document.documentElement; -},{"./_global":27}],31:[function(require,module,exports){ -module.exports = !require('./_descriptors') && !require('./_fails')(function(){ - return Object.defineProperty(require('./_dom-create')('div'), 'a', {get: function(){ return 7; }}).a != 7; -}); -},{"./_descriptors":21,"./_dom-create":22,"./_fails":26}],32:[function(require,module,exports){ -// fallback for non-array-like ES3 and non-enumerable old V8 strings -var cof = require('./_cof'); -module.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){ - return cof(it) == 'String' ? it.split('') : Object(it); -}; -},{"./_cof":17}],33:[function(require,module,exports){ -// 7.2.2 IsArray(argument) -var cof = require('./_cof'); -module.exports = Array.isArray || function isArray(arg){ - return cof(arg) == 'Array'; -}; -},{"./_cof":17}],34:[function(require,module,exports){ -module.exports = function(it){ - return typeof it === 'object' ? it !== null : typeof it === 'function'; -}; -},{}],35:[function(require,module,exports){ -'use strict'; -var create = require('./_object-create') - , descriptor = require('./_property-desc') - , setToStringTag = require('./_set-to-string-tag') - , IteratorPrototype = {}; - -// 25.1.2.1.1 %IteratorPrototype%[@@iterator]() -require('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function(){ return this; }); - -module.exports = function(Constructor, NAME, next){ - Constructor.prototype = create(IteratorPrototype, {next: descriptor(1, next)}); - setToStringTag(Constructor, NAME + ' Iterator'); -}; -},{"./_hide":29,"./_object-create":42,"./_property-desc":54,"./_set-to-string-tag":56,"./_wks":69}],36:[function(require,module,exports){ -'use strict'; -var LIBRARY = require('./_library') - , $export = require('./_export') - , redefine = require('./_redefine') - , hide = require('./_hide') - , has = require('./_has') - , Iterators = require('./_iterators') - , $iterCreate = require('./_iter-create') - , setToStringTag = require('./_set-to-string-tag') - , getPrototypeOf = require('./_object-gpo') - , ITERATOR = require('./_wks')('iterator') - , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next` - , FF_ITERATOR = '@@iterator' - , KEYS = 'keys' - , VALUES = 'values'; - -var returnThis = function(){ return this; }; - -module.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){ - $iterCreate(Constructor, NAME, next); - var getMethod = function(kind){ - if(!BUGGY && kind in proto)return proto[kind]; - switch(kind){ - case KEYS: return function keys(){ return new Constructor(this, kind); }; - case VALUES: return function values(){ return new Constructor(this, kind); }; - } return function entries(){ return new Constructor(this, kind); }; - }; - var TAG = NAME + ' Iterator' - , DEF_VALUES = DEFAULT == VALUES - , VALUES_BUG = false - , proto = Base.prototype - , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT] - , $default = $native || getMethod(DEFAULT) - , $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined - , $anyNative = NAME == 'Array' ? proto.entries || $native : $native - , methods, key, IteratorPrototype; - // Fix native - if($anyNative){ - IteratorPrototype = getPrototypeOf($anyNative.call(new Base)); - if(IteratorPrototype !== Object.prototype){ - // Set @@toStringTag to native iterators - setToStringTag(IteratorPrototype, TAG, true); - // fix for some old engines - if(!LIBRARY && !has(IteratorPrototype, ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis); - } - } - // fix Array#{values, @@iterator}.name in V8 / FF - if(DEF_VALUES && $native && $native.name !== VALUES){ - VALUES_BUG = true; - $default = function values(){ return $native.call(this); }; - } - // Define iterator - if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){ - hide(proto, ITERATOR, $default); - } - // Plug for library - Iterators[NAME] = $default; - Iterators[TAG] = returnThis; - if(DEFAULT){ - methods = { - values: DEF_VALUES ? $default : getMethod(VALUES), - keys: IS_SET ? $default : getMethod(KEYS), - entries: $entries - }; - if(FORCED)for(key in methods){ - if(!(key in proto))redefine(proto, key, methods[key]); - } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods); - } - return methods; -}; -},{"./_export":25,"./_has":28,"./_hide":29,"./_iter-create":35,"./_iterators":38,"./_library":40,"./_object-gpo":49,"./_redefine":55,"./_set-to-string-tag":56,"./_wks":69}],37:[function(require,module,exports){ -module.exports = function(done, value){ - return {value: value, done: !!done}; -}; -},{}],38:[function(require,module,exports){ -module.exports = {}; -},{}],39:[function(require,module,exports){ -var getKeys = require('./_object-keys') - , toIObject = require('./_to-iobject'); -module.exports = function(object, el){ - var O = toIObject(object) - , keys = getKeys(O) - , length = keys.length - , index = 0 - , key; - while(length > index)if(O[key = keys[index++]] === el)return key; -}; -},{"./_object-keys":51,"./_to-iobject":62}],40:[function(require,module,exports){ -module.exports = true; -},{}],41:[function(require,module,exports){ -var META = require('./_uid')('meta') - , isObject = require('./_is-object') - , has = require('./_has') - , setDesc = require('./_object-dp').f - , id = 0; -var isExtensible = Object.isExtensible || function(){ - return true; -}; -var FREEZE = !require('./_fails')(function(){ - return isExtensible(Object.preventExtensions({})); -}); -var setMeta = function(it){ - setDesc(it, META, {value: { - i: 'O' + ++id, // object ID - w: {} // weak collections IDs - }}); -}; -var fastKey = function(it, create){ - // return primitive with prefix - if(!isObject(it))return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; - if(!has(it, META)){ - // can't set metadata to uncaught frozen object - if(!isExtensible(it))return 'F'; - // not necessary to add metadata - if(!create)return 'E'; - // add missing metadata - setMeta(it); - // return object ID - } return it[META].i; -}; -var getWeak = function(it, create){ - if(!has(it, META)){ - // can't set metadata to uncaught frozen object - if(!isExtensible(it))return true; - // not necessary to add metadata - if(!create)return false; - // add missing metadata - setMeta(it); - // return hash weak collections IDs - } return it[META].w; -}; -// add metadata on freeze-family methods calling -var onFreeze = function(it){ - if(FREEZE && meta.NEED && isExtensible(it) && !has(it, META))setMeta(it); - return it; -}; -var meta = module.exports = { - KEY: META, - NEED: false, - fastKey: fastKey, - getWeak: getWeak, - onFreeze: onFreeze -}; -},{"./_fails":26,"./_has":28,"./_is-object":34,"./_object-dp":43,"./_uid":66}],42:[function(require,module,exports){ -// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) -var anObject = require('./_an-object') - , dPs = require('./_object-dps') - , enumBugKeys = require('./_enum-bug-keys') - , IE_PROTO = require('./_shared-key')('IE_PROTO') - , Empty = function(){ /* empty */ } - , PROTOTYPE = 'prototype'; - -// Create object with fake `null` prototype: use iframe Object with cleared prototype -var createDict = function(){ - // Thrash, waste and sodomy: IE GC bug - var iframe = require('./_dom-create')('iframe') - , i = enumBugKeys.length - , gt = '>' - , iframeDocument; - iframe.style.display = 'none'; - require('./_html').appendChild(iframe); - iframe.src = 'javascript:'; // eslint-disable-line no-script-url - // createDict = iframe.contentWindow.Object; - // html.removeChild(iframe); - iframeDocument = iframe.contentWindow.document; - iframeDocument.open(); - iframeDocument.write(' \ No newline at end of file diff --git a/dist/static/css/app.b827bc5ff13fea1f9c9892461e1b62c1.css b/dist/static/css/app.b827bc5ff13fea1f9c9892461e1b62c1.css new file mode 100644 index 0000000..71f8fd8 --- /dev/null +++ b/dist/static/css/app.b827bc5ff13fea1f9c9892461e1b62c1.css @@ -0,0 +1,2 @@ +body{font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.jumbotron-top{background:#4cc3d9;background:-webkit-linear-gradient(45deg,rgba(76,195,217,0),#98e3ea);background:linear-gradient(45deg,rgba(76,195,217,0),#98e3ea);margin-bottom:0;min-height:100vh;position:relative}.jumbotron-top .container{position:absolute;height:600px;left:0;right:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);text-align:center}h1{display:inline-block;font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-weight:300;line-height:1;padding-right:80px;background-position:100%;background-repeat:no-repeat;background-size:55px auto;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OTk2QkI4RkE3NjE2MTFFNUE4NEU4RkIxNjQ5MTYyRDgiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OTk2QkI4Rjk3NjE2MTFFNUE4NEU4RkIxNjQ5MTYyRDgiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjU2QTEyNzk3NjkyMTFFMzkxODk4RDkwQkY4Q0U0NzYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjU2QTEyN0E3NjkyMTFFMzkxODk4RDkwQkY4Q0U0NzYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5WHowqAAAXNElEQVR42uxda4xd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)}.list-vue{text-align:left;margin:20px auto;padding:0}p.lead{font-size:1.8em;margin:1em 0}.btn-outline{background:none;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px;border:3px solid #91ddec;color:#147688}.btn-outline:hover{border-color:#41b883;background-color:rgba(65,184,131,.67)}.btn-outline:active,.btn-outline:focus{border-color:#41b883;background-color:#41b883}.down-arrow{position:absolute;bottom:10px;width:100%;text-align:center;color:rgba(0,0,0,.5);font-size:1.6em}.down-arrow i{font-size:.7em;opacity:.4}#v-select{max-width:500px;margin:0 auto}#v-select .dropdown-toggle{background:#fff;border-color:rgba(82,166,183,.39)}#v-select .selected-tag{color:#147688;background-color:#d7f3f9;border-color:#91ddec}#v-select .selected-tag .close{color:#147688;opacity:.5}#v-select.dropdown.open .dropdown-menu,#v-select.dropdown.open .dropdown-toggle,#v-select.dropdown.open .open-indicator:before{border-color:#4cc3d9}#v-select .active a{background:rgba(50,50,50,.1);color:#333}#v-select.dropdown .highlight a,#v-select.dropdown li:hover a{background:#4cc3d9;color:#fff}.selected-tag .close{font-family:Helvetica Neue,Helvetica;font-weight:400}.v-select.dropdown{position:relative}.v-select .open-indicator{position:absolute;bottom:6px;right:10px;cursor:pointer;pointer-events:all}.v-select .open-indicator,.v-select .open-indicator:before{display:inline-block;-webkit-transition:all .15s cubic-bezier(1,-.115,.975,.855);transition:all .15s cubic-bezier(1,-.115,.975,.855);-webkit-transition-timing-function:cubic-bezier(1,-.115,.975,.855);transition-timing-function:cubic-bezier(1,-.115,.975,.855)}.v-select .open-indicator:before{border-color:rgba(60,60,60,.5);border-style:solid;border-width:.25em .25em 0 0;content:'';height:10px;width:10px;vertical-align:top;-webkit-transform:rotate(133deg);transform:rotate(133deg)}.v-select.open .open-indicator{bottom:1px}.v-select.open .open-indicator:before{-webkit-transform:rotate(315deg);transform:rotate(315deg)}.v-select .dropdown-toggle{display:block;padding:0;background:none;border:1px solid rgba(60,60,60,.26);border-radius:4px;white-space:normal}.v-select.searchable .dropdown-toggle{cursor:text}.v-select.open .dropdown-toggle{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.v-select>.dropdown-menu{margin:0;width:100%;overflow-y:auto;border-top:none;border-top-left-radius:0;border-top-right-radius:0}.v-select .selected-tag{color:#333;background-color:#f0f0f0;border:1px solid #ccc;border-radius:4px;height:26px;margin:4px 1px 0 3px;padding:0 .25em;float:left;line-height:1.7em}.v-select .selected-tag .close{float:none;margin-right:0;font-size:20px}.v-select input[type=search],.v-select input[type=search]:focus{display:inline-block;border:none;outline:none;margin:0;padding:0 .5em;width:10em;max-width:100%;background:none;position:relative;box-shadow:none;float:left;clear:none}.v-select input[type=search]:disabled,.v-select li a{cursor:pointer}.v-select .active a{background:rgba(50,50,50,.1);color:#333}.v-select .highlight a,.v-select li:hover>a{background:#f0f0f0;color:#333} +/*# sourceMappingURL=app.b827bc5ff13fea1f9c9892461e1b62c1.css.map*/ \ No newline at end of file diff --git a/dist/static/css/app.b827bc5ff13fea1f9c9892461e1b62c1.css.map b/dist/static/css/app.b827bc5ff13fea1f9c9892461e1b62c1.css.map new file mode 100644 index 0000000..d8f9938 --- /dev/null +++ b/dist/static/css/app.b827bc5ff13fea1f9c9892461e1b62c1.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///webpack:///src/App.vue","webpack:///webpack:///src/components/Select.vue"],"names":[],"mappings":"AAAA,KAAK,4DAAmE,mCAAmC,iCAAiC,CAAC,eAAe,mBAAmB,qEAA+E,6DAAuE,gBAAgB,iBAAiB,iBAAiB,CAAC,0BAA0B,kBAAkB,aAAa,OAAO,QAAQ,QAAQ,mCAAmC,2BAA2B,iBAAiB,CAAC,GAAG,qBAAqB,kEAA4E,gBAAgB,cAAc,mBAAmB,yBAAiC,4BAA4B,0BAA0B,w9RAAw9R,CAAC,UAAU,gBAAgB,iBAAiB,SAAS,CAAC,OAAO,gBAAgB,YAAY,CAAC,aAAa,gBAAgB,kBAAkB,eAAe,sBAAsB,kBAAkB,yBAAyB,aAAa,CAAC,mBAAmB,qBAAqB,qCAAsC,CAAC,uCAAuC,qBAAqB,wBAAwB,CAAC,YAAY,kBAAkB,YAAY,WAAW,kBAAkB,qBAAsB,eAAe,CAAC,cAAc,eAAe,UAAU,CAAC,UAAU,gBAAgB,aAAa,CAAC,2BAA2B,gBAAgB,iCAAkC,CAAC,wBAAwB,cAAc,yBAAyB,oBAAoB,CAAC,+BAA+B,cAAc,UAAU,CAAC,+HAA+H,oBAAoB,CAAC,oBAAoB,6BAA8B,UAAU,CAAC,8DAA8D,mBAAmB,UAAU,CAAC,qBAAqB,qCAA0C,eAAe,CCCz3V,mBACE,iBAAmB,CAGrB,0BACE,kBACA,WACA,WAEA,eACA,kBAAoB,CAOtB,2DATE,qBAGA,4DACA,oDACA,mEACQ,0DAAsE,CAkB/E,iCAdC,+BACA,mBACA,6BACA,WAEA,YACA,WACA,mBACA,iCACQ,wBAA0B,CAOpC,+BACE,UAAY,CAGd,sCACE,iCACQ,wBAA0B,CAGpC,2BACE,cACA,UACA,gBACA,oCACA,kBACA,kBAAoB,CAGtB,sCACE,WAAa,CAGf,gCACE,mBACA,4BACA,4BAA8B,CAGhC,yBACE,SACA,WACA,gBACA,gBACA,yBACA,yBAA2B,CAG7B,wBACE,WACA,yBACA,sBACA,kBACA,YACA,qBACA,gBACA,WACA,iBAAmB,CAGrB,+BACE,WACA,eACA,cAAgB,CAGlB,gEAEE,qBACA,YACA,aACA,SACA,eACA,WACA,eACA,gBACA,kBACA,gBACA,WACA,UAAY,CAOd,qDACE,cAAgB,CAGlB,oBACE,6BACA,UAAY,CAGd,4CAEE,mBACA,UAAY","file":"static/css/app.b827bc5ff13fea1f9c9892461e1b62c1.css","sourcesContent":["body{font-family:'Source Sans Pro', 'Helvetica Neue', Arial, sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.jumbotron-top{background:#4CC3D9;background:-webkit-linear-gradient(45deg, rgba(76,195,217,0) 0%, #98e3ea 100%);background:linear-gradient(45deg, rgba(76,195,217,0) 0%, #98e3ea 100%);margin-bottom:0;min-height:100vh;position:relative}.jumbotron-top .container{position:absolute;height:600px;left:0;right:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);text-align:center}h1{display:inline-block;font-family:'Dosis', 'Source Sans Pro', 'Helvetica Neue', Arial, sans-serif;font-weight:300;line-height:1;padding-right:80px;background-position:center right;background-repeat:no-repeat;background-size:55px auto;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OTk2QkI4RkE3NjE2MTFFNUE4NEU4RkIxNjQ5MTYyRDgiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OTk2QkI4Rjk3NjE2MTFFNUE4NEU4RkIxNjQ5MTYyRDgiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjU2QTEyNzk3NjkyMTFFMzkxODk4RDkwQkY4Q0U0NzYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjU2QTEyN0E3NjkyMTFFMzkxODk4RDkwQkY4Q0U0NzYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5WHowqAAAXNElEQVR42uxda4xd1XVe53XvvD2eGQ/lXQcKuDwc2eFlCAGnUn7kT6T86J/+aNTgsWPchJJYciEOCQ8hF+G0hFCIHRSEqAuJBCqRaUEIEbmBppAIBGnESwZje8COZ+y587j3PLq+ffadGJix53HvPevcuz60xPjec89ZZ+39nf04+9vLSZKEFArFzHA1BAqFEkShUIIoFEoQhUIJolAoQRQKJYhCoQRRKJQgCoUSRKFQKEEUCiWIQrFo+Gv/8/YH+f/nsMWSHHMChyhxqPTTdyncWyJ3ScD/ztipiB3wXSqu6P17avN+TyFC5ggv4tRnmoxWTP1+5F+Mz17GPvPl49EKBWd3UsfXllPiso8VcYtmPba3fNuKrBVXrGFCbrdPwXndFL49ltI367roOpSUI4pGypv9s7q+ltj6JxqOQ07Bo/DgxGb2/a8cX0CnAWXJ5etz2TqdHiXHKlKj9w6i9XX8Ic41DmI8FVHhmmXk85MmRhCzJoiTWnig9LfJRHihgydxzAxJhBr7Bh/hK3yu+p9568FliTJF2aKMZfVd/kQOcKP6OBmS9+Rjm4zJ6faoeN0gOUn61MncLX4CJ+MRhe+P/dRxhfew2Df4CF/hs4jWg8vQYUKYMuWyRRkLjeHQ8YP0Z9mekVjA8Qj3VVcuoeDiXu63lkUE0ym6FA5PXBaNVr7qtPumGyPR4Bt8hK/wWUR5chn6XJYoU5StUHL8l+XEx2axhkS6yk+chJuP4rXLyOkIKJkS0B67adcqfL/0Y4pixxSysK6V8Yl9Mz7i3272NRFlhzJsu24Z5l9E9Ahmwfrpoj7uw3fZtktsRZKjIXnndlLxin7+W8ZTBwPf6I+Tg9HwxK2Ob8citbCoBoaxBxMCvsFH+CqjHCtUvLzflKWUcpwB91gupG5f9/Rtx39ZZBtmWyJtphKzHTQW0diP36b4aJmcLj/zGaSkHJPb4SWFi/tOJd8bTqd9s48VBRh4RKeUX/vjgXg8cpyCmz05xkJylxSoa8M5RF0eJaVIIkGOsg2yTc3UgpD94psiWxEOqDNYoOIXuHnGwE5AXUTFi46FTnRw4l/dwEm7/pSxcYnCF/gE3zInh52RRJkVP7/MlKFQcgCbjifHTAQBfsb2qsgBO3e1Cpf3UXBej3nRJKKrxU/rcH/pKzz4vNIQuRJTEmZklbg6EL4SPsE3GQPzinmfhbJDGQolB+r8w58abs5y8DqRt4ABeptLRR7koY9NleybEYw/MPisvF/ayT1/SvDewcnIcG32wfiCAbEvoCZyGaGsitdyz6XdTctQJq6fcT5mloNfYvu5yFZkpEz+RT0UrFoqpxVBV+vQxIrkaPnrbqdvXs6hcjbU+Jq4Nvvwd/BFRNeq2npwWfkX95iyE9p6PM72P/MhCPANTBSKu5WITHcC074Y9CUTkYglKBgcV/aVtlM5Kpp/RHFjDdfka7MP/2wG6m72661QNigjlBXKTGBtsjWKNs5atCf44Uds3xc5YD8Wknd2BxWuGjCzIxLWQzlFj+IjU108OL7bafM5sm5DDdfka/8T+9AJXyTMpqFsUEYoK5SZ0NbjVlvX500Q4Ha2A+JuCcEvhVS8qp/8MzspHhMSfO7mVPaP35BMRp9JsCQldbX+hmvxNfnamzJfqVvtWnGZoGxQRigroYs6UbfvOGHn4ORVkTaIbEWwtqg3MNO+Zql0JGCdVuCayhDuG9uJB7vp+oR17FbZc+NauCauLWLmKkqXr6NsUEYoK6GtxwY6CXXnEs0n2faIHLCPhhR8bikFKwRN+xZddHWu5a7Ol9yCZ2ZwHKdOxufGNeKRqS/hmnLWW1VMmQSrl5oyEkqOPbZu02IJAsic9sU7B+5uF9cOmqUfeLOdOaAZYb/CA+M/Ic9NxUoYMNfD/PT84f7xB807EAnrrbgMUBZt1w1SEpCIqfjF1Om5EuQNth0iu1r8tPLP76LCpX2yWpHDk2dGH018p6brtD5hOHf04cR3okOTZ0lqPVAW3gVdlMhdrfsTW6drRhDgRrYJcbeKZQxTkenvegNt6YBQwrQvOxG+P3ZHEia9TuClS9Br1XKge8XnxLlxjelzZ/2w4tijDMxyoHIsVQg1zvYPcy7KeZx4jG2zyFakFJF7Whu1XT2QvhfJeryeVNdplYPo4Pi9hKd7VVxVC8O5cH4+N65hXgoKuGfEHmWAskjGxI49Ntu6XHOCAD9ie1PcLSepjDNY00fB8m6KpSyJx/jgg9LfJEfLK40818w+LXY5e5zKaMfKl+DcIlSCZp0cd3U59igDI4+WOa2LunvfvDoD9RrcNLqAjDy3yzfrtKqbAkggSDIZmSlYxzz9a8BaJ101zF2rh3BuSTJaCKGMDEGujHbedXch0X2ebbdEkkDC6a9cQoWVguS53P0JP5xcHY1W/tppD9KxgrdAw5QxnwPn4nOukrPeqkzBJb0m9oJltLtt3a07QYD1IkMAeS7/hw0BXMhzJwXJc/eV7kuiyIN8OOGuUhLP06JUeoxz4FxiZLRouTsDM9WO2OdBRtsIgrzHtk3kgH00JO+cTipc2S9jqyCaluf2xwcnfuB6LndHuEsSzdP4N/gtzoFzSZHRIsaQQiPmidyXgttsnW0YQYDvsh2ROGBPxkMqXjNA/qlCFsnZ8UdlX+kfk0pymlnMWH2JOBfz0sWI+C3OMS1dzPphhPVWHOPC5wdMzIUOzFFHb1lwB2ARF+ZOPt0gshWBPLe/wCRZlu6CIkSei/cE0fD4g2ZbVWceyxH5WPwGvzXrrSTJaDnG7oBoGS3qaCULggCPsv1W5IAd8tzLllJwvpx1WthMIfyg9OVotHy1WVQ4V37wsfgNfkuSZLQcW8Q4lruU/RVbRykrggDXiwwN3uQWnXTa1xMkz2W/on2lndNajpNtAGePw2/MOicBMlqs+8K7GBNbjrFgGe2iX0nUgiAvs+0S2YpgndaFPVRc3SdmVanZlfGjifOiw5PrT/oGvPpG/vDkEH4jZ70Vt86rl5rYimmdP41/s3Uzc4Isup9XNxwvz+0tyNAlONPrtO6hctR+QnluKqNt52O3pxvtClhvxTH0egtmEwbBMlrUxU21OFGtCHKYbavIATv3j90z26kIea4QZRtahfhIuT0anrjH7O3rpjNVHzPIaLG3Lh8Tj5TbRQihjlNyehxTwTLarbZOiiEIcBfbPnGhMtroChXW9JN/VqeYdyPEY4nwwPj6ZCL8C1T+T61JhDqRv8MxZgwlJG2BxzEsrBmgeEzseqt9ti6SNIIA8t6wm901eFDZ66d7M4UkQ56LVgTTvvtKaRqFqoTWymjxGb6LpUzrImYcuzaOIWKJmAptPWpaB2sd+V+yvSB1wB6s7qXgwiUyBpbJdBqFq6MjU18mKCKhRsTyEbx558/wnRmYJzLiV+DYBat6JQ/MX7B1UCxBAKHy3IQrH6W7MhY9MWkUMNAN948/8Mm35/jMDIKlpC3gmBWQtsAjifkE61b36kGQP7DdL7KrVZXnXiYpjYKZxj09Gh7f4kB4yIa/8ZmU1brIIYiYIXaJ3Nbjflv3xBME+DZbSVwIzfIIK89dJkSea18Ihu+XflD9yPztCJnW5Ri5VRntpNh8giVb5ygvBIHu9yaRrchYRO6fFU0CSTPQlDLte6zshx9O3g3D3yJajySd4EDaAsQMsRPaetxk61zty+YTCXRqjf9jO19cOLnyYV+p8QffpcreMXJ7BeRgh77Ds6SIYhGbMBgB2tld1DW0nGL4VxbZfKBbdUHdhol1dl7mOi0MOjttGgWT11lAwU9r1mMSsX0oxwSxgYyWOvKXtiAvBPkV239I7GqZdVqX9FDw2V5+UoYipn2nt/WRMK3LMQlW9poYCZ7WfcrWsdwSBNggMrRYdcLdhjas0+q28lzJOc8bOU7jWLh2AwzEyLxclYm6Z2ZuBEE+YLtTZEVA9tzPdBh5biJ3q5rGD8yRjXbNAPkcm0RuyjTUqf3NQBDge2yHJFaGeDyi4tUD5J3WIXmzs8Y9NDgG3un80OCYIDZCHxqHbJ2iZiEIGmnB8twgzYIkd7vMxiBON59GLJyBQLKMdiM1qOPXyMn2f2f7X5EDdshzkUbhAtED0oZMXCAGiIXgtAW/YXusURdr9NsoufLcgmP20zKy2ErrNSNGRuunMUAshL7zABq61q/RBPkd2yNSn57+X3ZTQZA8t7H3H5p7RwwEt6KP2DrUtAQBIIUsiwt99Kf+tydFntuocVhVRltNWyBTRlumGslopRNkhO1mkRVlLCT3jHYzqyU48WSN+1ZWRou0BZDRyp3Ju9nWnaYnCHA3216JlQWy0gKy557dJSaNQn0nKNL1VrhnwTLavbbOUKsQBBApzzVpFHqsPFdIGoW6AfeG7cMwrcv3TC0io80LQZ5me07kU3WkYqSlhYvkpFGoz8C8bO7RyGjlpi14ztaVliMIIFOeizQKbpI+WdsDGfLcWvcmsaK53b4gdUW3lENZXjxrgrzNdq/IAftohbzzOql4eV/zjUUcu96K7w33KFhGi7rxVisTBEBSxWPiiqYqz71mGfmDQuS5tSIHstHyPZnd7+XKaI+RgKSxEggySWmKaXkVaSwi5xSbRmGiSdZpxVZGy/eEexMso73R1o2WJwiwk+11kQNZrNO6oo+Cc7vz39Wy07q4l+CKfnNvQu/ndVsnSAkifcCOAXq7R8W1y9JdRvI87QvfnTRtgdPeujLavBLkv9meEPnUHS2Tf1EPFT67lOKRnE77munrsrkH/+IeydPXqAO/VoLMDMhz5T2irTzXpFHoKeRPnluV0XYX0mlduTLamIRJtKUR5CDbbSIrGPfX/eUdVFyTQ3luku6OaNIW/HmH5LQFt9k6oAQ5Ab7PNiyxkmGndUhRvTNyJM9F1wrZaM9IZbQmG63MocewxIejRIKg+DaKbEXGI3KWBtT2hUFKyonUZeEfB3xkX4vsM3wXvIx/IwmMqCu0WH/B9qLIpzG6Wp/rpWBFj/x1WnaCAb4G7LPgad0XbZmTEmTukDnti0yzgZvKcwNPtDzXyGjZR5ONFincVEbbVAR5je0hkU/lkTL5F3TZzQ2EvjysJr1hH/0LuiVPTz9ky1oJsgB8iwQsN5hplISns5Hn9hXl9eurMlr2zUzrVsQuk5m0ZUxKkIXhKNsWkQN2yHNPhzx3WbqQMRZGYCOjXWZ8FDzjtsWWsRJkEfgh2zvyOvhWnovsucu75GTPtdlo4RN8i+W+s3nHli0pQRaPIXEeVeW53V46YJciz2Uf4IvxiX0juW/9h/JQ8fJCkGfZnpE5YK9QsHIJBZcIkOdW141d3Gt8EiyjfcaWqRKk6Z84kOc6duODjmzluUZGyz4g6Q18UhltaxHkXbbtIgfsRyvknQt5bobZc6dltP3Gl0SudmW7LUslSJ1mPUbFeWVUepDnDpB3SgazRtW0BXxt+ABfhE7rypyVbCKCTLF9U2QrgjQKg3b7zskGv3eI0+XsuDZ8EJy2YJMtQyVIHfEztldFDtghz728j4LzGphGoZq2gK9ZMDuwiH3ngTJ7OG+VLY8EAeTKc9ts9lwk42zEOi2st+JrYZIA1xYso12Xx4qWV4K8xPZzka3ISCrPDVY1YJ1WtfVYZWW0ctdbPW7LTAnSQHyDJCoykEYhTNdpuUsK6YDZqQ85cG5cw6y3CsWmLYBXG/NayfJMkI8oVR/KG7AfC8k7u4MKVw2kM1r1eB2RpDNXuAauJVhGe6stKyVIBrid7YA4r6o5N5BG4cxOI3mtaeWtymj53LiG4FwmKJs78lzB8k4QVIsN4ryqynN7AzP1ShXIc2tYg3GuSpJO6/aKltHK3KWmhQgCPMm2R+SAfTSkANlzV9Rw2rc6MDcyWtHZaPfYsiElSPaQOYVYiSnxiIprB8kpeGn+v8U2mZD8FjxzTpybKjqtqwQ5Od5g2yGyq4Xsued3UeHSvsW3IlUZLZ8L5xSctmCHLRMliCBgN/AJcV7F6SpbjBe8gUWkUaimLeBzmOUsU2JltOMkcbd+JQiNkYB8ErNVbPe0Nmq72i4kXMiwNUnfe+AcOJfgfCWbbVkoQQTiR2xvivPKynODNX0ULF9AGoVq2gL+Lc4hWEaL2N/XTBWq2Qgic3BYled2+ekeVfOV51az0WKNF59DsIx2XbNVpmYkyPNsuyWSBBJYf+USKsxHnlvNRsu/8WXLaHfb2CtBcoD1Ir2CPJf/wxSt2xmkupGT9c6QtoCPNdO66FfJldGub8aK1KwEeY9tm8gB+2hI3jmdVLii/+RbBdktfHAsfpPIfSm4zcZcCZIjfJftiMQBO1IQQBrrn3qCRYZ20SOOMTLacbHrrRDjW5q1EjUzQbiTTzeIbEUgz+232XNne59RfX+CbLT9omW0iHFFCZJPPMr2W5EDdshzL1tKwfkzrNOqrrfi73CMYBntKzbGpATJL64X6RXWZRVtxlnP+VgaBZO2wEu/wzGatkAJUk+8zLZLZCuCdVoXciux+rhVuXYVMD7Dd7Hc9Va7bGyVIE0Amf3kaXnuIHm9qTwXhr/xmWAZbUXk+E4JsmAcZtsqcsAOee6Z7VS08lwY/sZngmW0W21MlSBNhLvY9onzCqtIxipUuKqf3L6iMfyNz4RO6+6zsWwJ+NRawNvep8S1IhMxucie+8VT0o+6PIqPiB17rG+lCtNqBPkl2wts14gbsCONwqVLzT8Fr7d6wcawZeBS60Hm1GSSTu+a6d5EY6cEyQ5/YLtf4oCd4iQ1ma3H/TZ2SpAWwLfZSqSYK0o2ZqQEaQ1AN32T1vs54yYbMyVIC+GBVuwyLLBL+kCr3rzb4oV/vdZ/jZESZHb8iqS9F5GFp2yMlCAtjCENgcZGCTI79rPdqWH4FO60sVGCKOh7bIc0DNM4ZGNCShAFEFKOsyDVARttTJQgGoJpPMb2Gw2DicFjGgYlyExYpyHQGChBZsfv2B5p4ft/xMZAoQSZFZso3TKo1VC2965QgpwQI2w3t+B932zvXaEEOSnuZtvbQve7196zQgkyZ6zXe1UoQWbH02zPtcB9PmfvVaEEmTeG9B6VIIrZ8RbbvU18f/fae1QoQRYMJKU81oT3dYwkJj1VguQOk9REaY2Pw4323hRKkEVjJ9vrTXQ/r9t7UihBaobr9V6UIIrZ8Wu2J5rgPp6w96JQgtQcG2jmhGl5QWzvQaEEqQsOst2WY/9vs/egUILUtZIN59Dv4ZyTWwmSEyDnUx7luRtJar4qJUjT4RdsL+bI3xetzwolSMOwTn1Vgihmx2tsD+XAz4esrwolSMPxLZK9XGPS+qhQgmSCo2xbBPu3xfqoUIJkhh+yvSPQr3esbwolSOYYUp+UIIrZ8SzbM4L8ecb6pFCC6BNbWw8lSB7wLtt2AX5st74olCDikPWskfRZNSVIi2OKst2+c5P1QaEEEYuH2V7N4Lqv2msrlCDisa5FrqkEUSwIL7E93sDrPW6vqVCC5AaN0l/kVZ+iBGlxfMR2awOuc6u9lkIJkjvcwXagjuc/YK+hUILkEgnVdxeRDfYaCiVIbvEk2546nHePPbdCCZJ7rMvJORVKkEzwBtuOGp5vhz2nQgnSNMBu6uM1OM84Nedu80qQFscY1SYfx2Z7LoUSpOlwH9ubi/j9m/YcCiWIDth1YK4EaUU8z7Z7Ab/bbX+rUII0PdY36DcKJUgu8R7btnkcv83+RqEEaRncwnZkDscdsccqlCAthQrbDXM47gZ7rEIJ0nJ4lO2VE3z/ij1GoQRpWaxb4HcKJUhL4GW2XTN8vst+p1CCtDw+Oc6Y6/hEoQRpCRxm23rcv7fazxRKEIXFXZRuwBDZvxUC4GsIREHflguDkyQqaVYotIulUChBFAoliEKhBFEolCAKhRJEoVCCKBRKEIVCCaJQKJQgCoUSRKFQgigUShCFIhP8vwADACog5YM65zugAAAAAElFTkSuQmCC)}.list-vue{text-align:left;margin:20px auto;padding:0}p.lead{font-size:1.8em;margin:1em 0}.btn-outline{background:none;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px;border:3px solid #91ddec;color:#147688}.btn-outline:hover{border-color:#41b883;background-color:rgba(65,184,131,0.67)}.btn-outline:active,.btn-outline:focus{border-color:#41b883;background-color:#41b883}.down-arrow{position:absolute;bottom:10px;width:100%;text-align:center;color:rgba(0,0,0,0.5);font-size:1.6em}.down-arrow i{font-size:.7em;opacity:.4}#v-select{max-width:500px;margin:0 auto}#v-select .dropdown-toggle{background:#fff;border-color:rgba(82,166,183,0.39)}#v-select .selected-tag{color:#147688;background-color:#d7f3f9;border-color:#91ddec}#v-select .selected-tag .close{color:#147688;opacity:.5}#v-select.dropdown.open .dropdown-toggle,#v-select.dropdown.open .dropdown-menu,#v-select.dropdown.open .open-indicator:before{border-color:#4CC3D9}#v-select .active a{background:rgba(50,50,50,0.1);color:#333}#v-select.dropdown .highlight a,#v-select.dropdown li:hover a{background:#4CC3D9;color:#fff}.selected-tag .close{font-family:\"Helvetica Neue\", \"Helvetica\";font-weight:400}\n\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/App.vue\n **/","\n.v-select.dropdown {\n position: relative;\n}\n\n.v-select .open-indicator {\n position: absolute;\n bottom: 6px;\n right: 10px;\n display: inline-block;\n cursor: pointer;\n pointer-events: all;\n -webkit-transition: all 150ms cubic-bezier(1.000, -0.115, 0.975, 0.855);\n transition: all 150ms cubic-bezier(1.000, -0.115, 0.975, 0.855);\n -webkit-transition-timing-function: cubic-bezier(1.000, -0.115, 0.975, 0.855);\n transition-timing-function: cubic-bezier(1.000, -0.115, 0.975, 0.855);\n}\n\n.v-select .open-indicator:before {\n border-color: rgba(60,60,60,.5);\n border-style: solid;\n border-width: 0.25em 0.25em 0 0;\n content: '';\n display: inline-block;\n height: 10px;\n width: 10px;\n vertical-align: top;\n -webkit-transform: rotate(133deg);\n transform: rotate(133deg);\n -webkit-transition: all 150ms cubic-bezier(1.000, -0.115, 0.975, 0.855);\n transition: all 150ms cubic-bezier(1.000, -0.115, 0.975, 0.855);\n -webkit-transition-timing-function: cubic-bezier(1.000, -0.115, 0.975, 0.855);\n transition-timing-function: cubic-bezier(1.000, -0.115, 0.975, 0.855);\n}\n\n.v-select.open .open-indicator {\n bottom: 1px;\n}\n\n.v-select.open .open-indicator:before {\n -webkit-transform: rotate(315deg);\n transform: rotate(315deg);\n}\n\n.v-select .dropdown-toggle {\n display: block;\n padding: 0;\n background: none;\n border: 1px solid rgba(60,60,60,.26);\n border-radius: 4px;\n white-space: normal;\n}\n\n.v-select.searchable .dropdown-toggle {\n cursor: text;\n}\n\n.v-select.open .dropdown-toggle {\n border-bottom: none;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.v-select > .dropdown-menu {\n margin: 0;\n width: 100%;\n overflow-y: auto;\n border-top: none;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.v-select .selected-tag {\n color: #333;\n background-color: #f0f0f0;\n border: 1px solid #ccc;\n border-radius: 4px;\n height: 26px;\n margin: 4px 1px 0px 3px;\n padding: 0 0.25em;\n float: left;\n line-height: 1.7em;\n}\n\n.v-select .selected-tag .close {\n float: none;\n margin-right: 0;\n font-size: 20px;\n}\n\n.v-select input[type=search],\n.v-select input[type=search]:focus {\n display: inline-block;\n border: none;\n outline: none;\n margin: 0;\n padding: 0 .5em;\n width: 10em;\n max-width: 100%;\n background: none;\n position: relative;\n box-shadow: none;\n float: left;\n clear: none;\n}\n\n.v-select input[type=search]:disabled {\n cursor: pointer;\n}\n\n.v-select li a {\n cursor: pointer;\n}\n\n.v-select .active a {\n background: rgba(50,50,50,.1);\n color: #333;\n}\n\n.v-select .highlight a,\n.v-select li:hover > a {\n background: #f0f0f0;\n color: #333;\n}\n\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/components/Select.vue\n **/"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/static/fonts/octicons-local.ttf b/dist/static/fonts/octicons-local.ttf new file mode 100644 index 0000000..6f3edd6 Binary files /dev/null and b/dist/static/fonts/octicons-local.ttf differ diff --git a/dist/static/fonts/octicons.eot b/dist/static/fonts/octicons.eot new file mode 100644 index 0000000..c1d2f29 Binary files /dev/null and b/dist/static/fonts/octicons.eot differ diff --git a/dist/static/fonts/octicons.scss b/dist/static/fonts/octicons.scss new file mode 100644 index 0000000..1c51540 --- /dev/null +++ b/dist/static/fonts/octicons.scss @@ -0,0 +1,225 @@ +$octicons-font-path: "." !default; +$octicons-version: "c5a1d52cb40008f6d4ed65bf3f12d508b2fe8c88"; + +@font-face { + font-family: 'octicons'; + src: url('#{$octicons-font-path}/octicons.eot?#iefix&v=#{$octicons-version}') format('embedded-opentype'), + url('#{$octicons-font-path}/octicons.woff?v=#{$octicons-version}') format('woff'), + url('#{$octicons-font-path}/octicons.ttf?v=#{$octicons-version}') format('truetype'), + url('#{$octicons-font-path}/octicons.svg?v=#{$octicons-version}#octicons') format('svg'); + font-weight: normal; + font-style: normal; +} + +// .octicon is optimized for 16px. +// .mega-octicon is optimized for 32px but can be used larger. +.octicon, .mega-octicon { + font: normal normal normal 16px/1 octicons; + display: inline-block; + text-decoration: none; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.mega-octicon { font-size: 32px; } + +.octicon-alert:before { content: '\f02d'} /*  */ +.octicon-arrow-down:before { content: '\f03f'} /*  */ +.octicon-arrow-left:before { content: '\f040'} /*  */ +.octicon-arrow-right:before { content: '\f03e'} /*  */ +.octicon-arrow-small-down:before { content: '\f0a0'} /*  */ +.octicon-arrow-small-left:before { content: '\f0a1'} /*  */ +.octicon-arrow-small-right:before { content: '\f071'} /*  */ +.octicon-arrow-small-up:before { content: '\f09f'} /*  */ +.octicon-arrow-up:before { content: '\f03d'} /*  */ +.octicon-microscope:before, +.octicon-beaker:before { content: '\f0dd'} /*  */ +.octicon-bell:before { content: '\f0de'} /*  */ +.octicon-bold:before { content: '\f0e2'} /*  */ +.octicon-book:before { content: '\f007'} /*  */ +.octicon-bookmark:before { content: '\f07b'} /*  */ +.octicon-briefcase:before { content: '\f0d3'} /*  */ +.octicon-broadcast:before { content: '\f048'} /*  */ +.octicon-browser:before { content: '\f0c5'} /*  */ +.octicon-bug:before { content: '\f091'} /*  */ +.octicon-calendar:before { content: '\f068'} /*  */ +.octicon-check:before { content: '\f03a'} /*  */ +.octicon-checklist:before { content: '\f076'} /*  */ +.octicon-chevron-down:before { content: '\f0a3'} /*  */ +.octicon-chevron-left:before { content: '\f0a4'} /*  */ +.octicon-chevron-right:before { content: '\f078'} /*  */ +.octicon-chevron-up:before { content: '\f0a2'} /*  */ +.octicon-circle-slash:before { content: '\f084'} /*  */ +.octicon-circuit-board:before { content: '\f0d6'} /*  */ +.octicon-clippy:before { content: '\f035'} /*  */ +.octicon-clock:before { content: '\f046'} /*  */ +.octicon-cloud-download:before { content: '\f00b'} /*  */ +.octicon-cloud-upload:before { content: '\f00c'} /*  */ +.octicon-code:before { content: '\f05f'} /*  */ +.octicon-comment-add:before, +.octicon-comment:before { content: '\f02b'} /*  */ +.octicon-comment-discussion:before { content: '\f04f'} /*  */ +.octicon-credit-card:before { content: '\f045'} /*  */ +.octicon-dash:before { content: '\f0ca'} /*  */ +.octicon-dashboard:before { content: '\f07d'} /*  */ +.octicon-database:before { content: '\f096'} /*  */ +.octicon-clone:before, +.octicon-desktop-download:before { content: '\f0dc'} /*  */ +.octicon-device-camera:before { content: '\f056'} /*  */ +.octicon-device-camera-video:before { content: '\f057'} /*  */ +.octicon-device-desktop:before { content: '\f27c'} /*  */ +.octicon-device-mobile:before { content: '\f038'} /*  */ +.octicon-diff:before { content: '\f04d'} /*  */ +.octicon-diff-added:before { content: '\f06b'} /*  */ +.octicon-diff-ignored:before { content: '\f099'} /*  */ +.octicon-diff-modified:before { content: '\f06d'} /*  */ +.octicon-diff-removed:before { content: '\f06c'} /*  */ +.octicon-diff-renamed:before { content: '\f06e'} /*  */ +.octicon-ellipsis:before { content: '\f09a'} /*  */ +.octicon-eye-unwatch:before, +.octicon-eye-watch:before, +.octicon-eye:before { content: '\f04e'} /*  */ +.octicon-file-binary:before { content: '\f094'} /*  */ +.octicon-file-code:before { content: '\f010'} /*  */ +.octicon-file-directory:before { content: '\f016'} /*  */ +.octicon-file-media:before { content: '\f012'} /*  */ +.octicon-file-pdf:before { content: '\f014'} /*  */ +.octicon-file-submodule:before { content: '\f017'} /*  */ +.octicon-file-symlink-directory:before { content: '\f0b1'} /*  */ +.octicon-file-symlink-file:before { content: '\f0b0'} /*  */ +.octicon-file-text:before { content: '\f011'} /*  */ +.octicon-file-zip:before { content: '\f013'} /*  */ +.octicon-flame:before { content: '\f0d2'} /*  */ +.octicon-fold:before { content: '\f0cc'} /*  */ +.octicon-gear:before { content: '\f02f'} /*  */ +.octicon-gift:before { content: '\f042'} /*  */ +.octicon-gist:before { content: '\f00e'} /*  */ +.octicon-gist-secret:before { content: '\f08c'} /*  */ +.octicon-git-branch-create:before, +.octicon-git-branch-delete:before, +.octicon-git-branch:before { content: '\f020'} /*  */ +.octicon-git-commit:before { content: '\f01f'} /*  */ +.octicon-git-compare:before { content: '\f0ac'} /*  */ +.octicon-git-merge:before { content: '\f023'} /*  */ +.octicon-git-pull-request-abandoned:before, +.octicon-git-pull-request:before { content: '\f009'} /*  */ +.octicon-globe:before { content: '\f0b6'} /*  */ +.octicon-graph:before { content: '\f043'} /*  */ +.octicon-heart:before { content: '\2665'} /* ♥ */ +.octicon-history:before { content: '\f07e'} /*  */ +.octicon-home:before { content: '\f08d'} /*  */ +.octicon-horizontal-rule:before { content: '\f070'} /*  */ +.octicon-hubot:before { content: '\f09d'} /*  */ +.octicon-inbox:before { content: '\f0cf'} /*  */ +.octicon-info:before { content: '\f059'} /*  */ +.octicon-issue-closed:before { content: '\f028'} /*  */ +.octicon-issue-opened:before { content: '\f026'} /*  */ +.octicon-issue-reopened:before { content: '\f027'} /*  */ +.octicon-italic:before { content: '\f0e4'} /*  */ +.octicon-jersey:before { content: '\f019'} /*  */ +.octicon-key:before { content: '\f049'} /*  */ +.octicon-keyboard:before { content: '\f00d'} /*  */ +.octicon-law:before { content: '\f0d8'} /*  */ +.octicon-light-bulb:before { content: '\f000'} /*  */ +.octicon-link:before { content: '\f05c'} /*  */ +.octicon-link-external:before { content: '\f07f'} /*  */ +.octicon-list-ordered:before { content: '\f062'} /*  */ +.octicon-list-unordered:before { content: '\f061'} /*  */ +.octicon-location:before { content: '\f060'} /*  */ +.octicon-gist-private:before, +.octicon-mirror-private:before, +.octicon-git-fork-private:before, +.octicon-lock:before { content: '\f06a'} /*  */ +.octicon-logo-gist:before { content: '\f0ad'} /*  */ +.octicon-logo-github:before { content: '\f092'} /*  */ +.octicon-mail:before { content: '\f03b'} /*  */ +.octicon-mail-read:before { content: '\f03c'} /*  */ +.octicon-mail-reply:before { content: '\f051'} /*  */ +.octicon-mark-github:before { content: '\f00a'} /*  */ +.octicon-markdown:before { content: '\f0c9'} /*  */ +.octicon-megaphone:before { content: '\f077'} /*  */ +.octicon-mention:before { content: '\f0be'} /*  */ +.octicon-milestone:before { content: '\f075'} /*  */ +.octicon-mirror-public:before, +.octicon-mirror:before { content: '\f024'} /*  */ +.octicon-mortar-board:before { content: '\f0d7'} /*  */ +.octicon-mute:before { content: '\f080'} /*  */ +.octicon-no-newline:before { content: '\f09c'} /*  */ +.octicon-octoface:before { content: '\f008'} /*  */ +.octicon-organization:before { content: '\f037'} /*  */ +.octicon-package:before { content: '\f0c4'} /*  */ +.octicon-paintcan:before { content: '\f0d1'} /*  */ +.octicon-pencil:before { content: '\f058'} /*  */ +.octicon-person-add:before, +.octicon-person-follow:before, +.octicon-person:before { content: '\f018'} /*  */ +.octicon-pin:before { content: '\f041'} /*  */ +.octicon-plug:before { content: '\f0d4'} /*  */ +.octicon-repo-create:before, +.octicon-gist-new:before, +.octicon-file-directory-create:before, +.octicon-file-add:before, +.octicon-plus:before { content: '\f05d'} /*  */ +.octicon-primitive-dot:before { content: '\f052'} /*  */ +.octicon-primitive-square:before { content: '\f053'} /*  */ +.octicon-pulse:before { content: '\f085'} /*  */ +.octicon-question:before { content: '\f02c'} /*  */ +.octicon-quote:before { content: '\f063'} /*  */ +.octicon-radio-tower:before { content: '\f030'} /*  */ +.octicon-repo-delete:before, +.octicon-repo:before { content: '\f001'} /*  */ +.octicon-repo-clone:before { content: '\f04c'} /*  */ +.octicon-repo-force-push:before { content: '\f04a'} /*  */ +.octicon-gist-fork:before, +.octicon-repo-forked:before { content: '\f002'} /*  */ +.octicon-repo-pull:before { content: '\f006'} /*  */ +.octicon-repo-push:before { content: '\f005'} /*  */ +.octicon-rocket:before { content: '\f033'} /*  */ +.octicon-rss:before { content: '\f034'} /*  */ +.octicon-ruby:before { content: '\f047'} /*  */ +.octicon-search-save:before, +.octicon-search:before { content: '\f02e'} /*  */ +.octicon-server:before { content: '\f097'} /*  */ +.octicon-settings:before { content: '\f07c'} /*  */ +.octicon-shield:before { content: '\f0e1'} /*  */ +.octicon-log-in:before, +.octicon-sign-in:before { content: '\f036'} /*  */ +.octicon-log-out:before, +.octicon-sign-out:before { content: '\f032'} /*  */ +.octicon-smiley:before { content: '\f0e7'} /*  */ +.octicon-squirrel:before { content: '\f0b2'} /*  */ +.octicon-star-add:before, +.octicon-star-delete:before, +.octicon-star:before { content: '\f02a'} /*  */ +.octicon-stop:before { content: '\f08f'} /*  */ +.octicon-repo-sync:before, +.octicon-sync:before { content: '\f087'} /*  */ +.octicon-tag-remove:before, +.octicon-tag-add:before, +.octicon-tag:before { content: '\f015'} /*  */ +.octicon-tasklist:before { content: '\f0e5'} /*  */ +.octicon-telescope:before { content: '\f088'} /*  */ +.octicon-terminal:before { content: '\f0c8'} /*  */ +.octicon-text-size:before { content: '\f0e3'} /*  */ +.octicon-three-bars:before { content: '\f05e'} /*  */ +.octicon-thumbsdown:before { content: '\f0db'} /*  */ +.octicon-thumbsup:before { content: '\f0da'} /*  */ +.octicon-tools:before { content: '\f031'} /*  */ +.octicon-trashcan:before { content: '\f0d0'} /*  */ +.octicon-triangle-down:before { content: '\f05b'} /*  */ +.octicon-triangle-left:before { content: '\f044'} /*  */ +.octicon-triangle-right:before { content: '\f05a'} /*  */ +.octicon-triangle-up:before { content: '\f0aa'} /*  */ +.octicon-unfold:before { content: '\f039'} /*  */ +.octicon-unmute:before { content: '\f0ba'} /*  */ +.octicon-unverified:before { content: '\f0e8'} /*  */ +.octicon-verified:before { content: '\f0e6'} /*  */ +.octicon-versions:before { content: '\f064'} /*  */ +.octicon-watch:before { content: '\f0e0'} /*  */ +.octicon-remove-close:before, +.octicon-x:before { content: '\f081'} /*  */ +.octicon-zap:before { content: '\26A1'} /* ⚡ */ diff --git a/dist/static/fonts/octicons.svg b/dist/static/fonts/octicons.svg new file mode 100644 index 0000000..0908706 --- /dev/null +++ b/dist/static/fonts/octicons.svg @@ -0,0 +1,188 @@ + + + + +(c) 2012-2016 GitHub + +When using the GitHub logos, be sure to follow the GitHub logo guidelines (https://github.com/logos) + +Font License: SIL OFL 1.1 (http://scripts.sil.org/OFL) +Applies to all font files + +Code License: MIT (http://choosealicense.com/licenses/mit/) +Applies to all other files + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dist/static/fonts/octicons.ttf b/dist/static/fonts/octicons.ttf new file mode 100644 index 0000000..3dab5b6 Binary files /dev/null and b/dist/static/fonts/octicons.ttf differ diff --git a/dist/static/fonts/octicons.woff b/dist/static/fonts/octicons.woff new file mode 100644 index 0000000..0cd624c Binary files /dev/null and b/dist/static/fonts/octicons.woff differ diff --git a/dist/static/js/app.c741605ecce5f83a5377.js b/dist/static/js/app.c741605ecce5f83a5377.js new file mode 100644 index 0000000..e4305dc --- /dev/null +++ b/dist/static/js/app.c741605ecce5f83a5377.js @@ -0,0 +1,2 @@ +webpackJsonp([2,0],[function(e,a,l){"use strict";function t(e){return e&&e.__esModule?e:{"default":e}}var n=l(42),i=t(n),o=l(101),s=t(o),u=l(44),r=t(u);i["default"].config.debug=!0,new i["default"]({el:"body",store:r["default"],components:{App:s["default"]}})},,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,a){"use strict";e.exports=[{value:"AF",label:"Afghanistan"},{value:"AX",label:"Åland Islands"},{value:"AL",label:"Albania"},{value:"DZ",label:"Algeria"},{value:"AS",label:"American Samoa"},{value:"AD",label:"Andorra"},{value:"AO",label:"Angola"},{value:"AI",label:"Anguilla"},{value:"AQ",label:"Antarctica"},{value:"AG",label:"Antigua and Barbuda"},{value:"AR",label:"Argentina"},{value:"AM",label:"Armenia"},{value:"AW",label:"Aruba"},{value:"AU",label:"Australia"},{value:"AT",label:"Austria"},{value:"AZ",label:"Azerbaijan"},{value:"BS",label:"Bahamas"},{value:"BH",label:"Bahrain"},{value:"BD",label:"Bangladesh"},{value:"BB",label:"Barbados"},{value:"BY",label:"Belarus"},{value:"BE",label:"Belgium"},{value:"BZ",label:"Belize"},{value:"BJ",label:"Benin"},{value:"BM",label:"Bermuda"},{value:"BT",label:"Bhutan"},{value:"BO",label:"Bolivia"},{value:"BA",label:"Bosnia and Herzegovina"},{value:"BW",label:"Botswana"},{value:"BV",label:"Bouvet Island"},{value:"BR",label:"Brazil"},{value:"IO",label:"British Indian Ocean Territory"},{value:"BN",label:"Brunei Darussalam"},{value:"BG",label:"Bulgaria"},{value:"BF",label:"Burkina Faso"},{value:"BI",label:"Burundi"},{value:"KH",label:"Cambodia"},{value:"CM",label:"Cameroon"},{value:"CA",label:"Canada"},{value:"CV",label:"Cape Verde"},{value:"KY",label:"Cayman Islands"},{value:"CF",label:"Central African Republic"},{value:"TD",label:"Chad"},{value:"CL",label:"Chile"},{value:"CN",label:"China"},{value:"CX",label:"Christmas Island"},{value:"CC",label:"Cocos (Keeling) Islands"},{value:"CO",label:"Colombia"},{value:"KM",label:"Comoros"},{value:"CG",label:"Congo"},{value:"CD",label:"Congo, The Democratic Republic of The"},{value:"CK",label:"Cook Islands"},{value:"CR",label:"Costa Rica"},{value:"CI",label:"Cote D'ivoire"},{value:"HR",label:"Croatia"},{value:"CU",label:"Cuba"},{value:"CY",label:"Cyprus"},{value:"CZ",label:"Czech Republic"},{value:"DK",label:"Denmark"},{value:"DJ",label:"Djibouti"},{value:"DM",label:"Dominica"},{value:"DO",label:"Dominican Republic"},{value:"EC",label:"Ecuador"},{value:"EG",label:"Egypt"},{value:"SV",label:"El Salvador"},{value:"GQ",label:"Equatorial Guinea"},{value:"ER",label:"Eritrea"},{value:"EE",label:"Estonia"},{value:"ET",label:"Ethiopia"},{value:"FK",label:"Falkland Islands (Malvinas)"},{value:"FO",label:"Faroe Islands"},{value:"FJ",label:"Fiji"},{value:"FI",label:"Finland"},{value:"FR",label:"France"},{value:"GF",label:"French Guiana"},{value:"PF",label:"French Polynesia"},{value:"TF",label:"French Southern Territories"},{value:"GA",label:"Gabon"},{value:"GM",label:"Gambia"},{value:"GE",label:"Georgia"},{value:"DE",label:"Germany"},{value:"GH",label:"Ghana"},{value:"GI",label:"Gibraltar"},{value:"GR",label:"Greece"},{value:"GL",label:"Greenland"},{value:"GD",label:"Grenada"},{value:"GP",label:"Guadeloupe"},{value:"GU",label:"Guam"},{value:"GT",label:"Guatemala"},{value:"GG",label:"Guernsey"},{value:"GN",label:"Guinea"},{value:"GW",label:"Guinea-bissau"},{value:"GY",label:"Guyana"},{value:"HT",label:"Haiti"},{value:"HM",label:"Heard Island and Mcdonald Islands"},{value:"VA",label:"Holy See (Vatican City State)"},{value:"HN",label:"Honduras"},{value:"HK",label:"Hong Kong"},{value:"HU",label:"Hungary"},{value:"IS",label:"Iceland"},{value:"IN",label:"India"},{value:"ID",label:"Indonesia"},{value:"IR",label:"Iran, Islamic Republic of"},{value:"IQ",label:"Iraq"},{value:"IE",label:"Ireland"},{value:"IM",label:"Isle of Man"},{value:"IL",label:"Israel"},{value:"IT",label:"Italy"},{value:"JM",label:"Jamaica"},{value:"JP",label:"Japan"},{value:"JE",label:"Jersey"},{value:"JO",label:"Jordan"},{value:"KZ",label:"Kazakhstan"},{value:"KE",label:"Kenya"},{value:"KI",label:"Kiribati"},{value:"KP",label:"Korea, Democratic People's Republic of"},{value:"KR",label:"Korea, Republic of"},{value:"KW",label:"Kuwait"},{value:"KG",label:"Kyrgyzstan"},{value:"LA",label:"Lao People's Democratic Republic"},{value:"LV",label:"Latvia"},{value:"LB",label:"Lebanon"},{value:"LS",label:"Lesotho"},{value:"LR",label:"Liberia"},{value:"LY",label:"Libyan Arab Jamahiriya"},{value:"LI",label:"Liechtenstein"},{value:"LT",label:"Lithuania"},{value:"LU",label:"Luxembourg"},{value:"MO",label:"Macao"},{value:"MK",label:"Macedonia, The Former Yugoslav Republic of"},{value:"MG",label:"Madagascar"},{value:"MW",label:"Malawi"},{value:"MY",label:"Malaysia"},{value:"MV",label:"Maldives"},{value:"ML",label:"Mali"},{value:"MT",label:"Malta"},{value:"MH",label:"Marshall Islands"},{value:"MQ",label:"Martinique"},{value:"MR",label:"Mauritania"},{value:"MU",label:"Mauritius"},{value:"YT",label:"Mayotte"},{value:"MX",label:"Mexico"},{value:"FM",label:"Micronesia, Federated States of"},{value:"MD",label:"Moldova, Republic of"},{value:"MC",label:"Monaco"},{value:"MN",label:"Mongolia"},{value:"ME",label:"Montenegro"},{value:"MS",label:"Montserrat"},{value:"MA",label:"Morocco"},{value:"MZ",label:"Mozambique"},{value:"MM",label:"Myanmar"},{value:"NA",label:"Namibia"},{value:"NR",label:"Nauru"},{value:"NP",label:"Nepal"},{value:"NL",label:"Netherlands"},{value:"AN",label:"Netherlands Antilles"},{value:"NC",label:"New Caledonia"},{value:"NZ",label:"New Zealand"},{value:"NI",label:"Nicaragua"},{value:"NE",label:"Niger"},{value:"NG",label:"Nigeria"},{value:"NU",label:"Niue"},{value:"NF",label:"Norfolk Island"},{value:"MP",label:"Northern Mariana Islands"},{value:"NO",label:"Norway"},{value:"OM",label:"Oman"},{value:"PK",label:"Pakistan"},{value:"PW",label:"Palau"},{value:"PS",label:"Palestinian Territory, Occupied"},{value:"PA",label:"Panama"},{value:"PG",label:"Papua New Guinea"},{value:"PY",label:"Paraguay"},{value:"PE",label:"Peru"},{value:"PH",label:"Philippines"},{value:"PN",label:"Pitcairn"},{value:"PL",label:"Poland"},{value:"PT",label:"Portugal"},{value:"PR",label:"Puerto Rico"},{value:"QA",label:"Qatar"},{value:"RE",label:"Reunion"},{value:"RO",label:"Romania"},{value:"RU",label:"Russian Federation"},{value:"RW",label:"Rwanda"},{value:"SH",label:"Saint Helena"},{value:"KN",label:"Saint Kitts and Nevis"},{value:"LC",label:"Saint Lucia"},{value:"PM",label:"Saint Pierre and Miquelon"},{value:"VC",label:"Saint Vincent and The Grenadines"},{value:"WS",label:"Samoa"},{value:"SM",label:"San Marino"},{value:"ST",label:"Sao Tome and Principe"},{value:"SA",label:"Saudi Arabia"},{value:"SN",label:"Senegal"},{value:"RS",label:"Serbia"},{value:"SC",label:"Seychelles"},{value:"SL",label:"Sierra Leone"},{value:"SG",label:"Singapore"},{value:"SK",label:"Slovakia"},{value:"SI",label:"Slovenia"},{value:"SB",label:"Solomon Islands"},{value:"SO",label:"Somalia"},{value:"ZA",label:"South Africa"},{value:"GS",label:"South Georgia and The South Sandwich Islands"},{value:"ES",label:"Spain"},{value:"LK",label:"Sri Lanka"},{value:"SD",label:"Sudan"},{value:"SR",label:"Suriname"},{value:"SJ",label:"Svalbard and Jan Mayen"},{value:"SZ",label:"Swaziland"},{value:"SE",label:"Sweden"},{value:"CH",label:"Switzerland"},{value:"SY",label:"Syrian Arab Republic"},{value:"TW",label:"Taiwan, Province of China"},{value:"TJ",label:"Tajikistan"},{value:"TZ",label:"Tanzania, United Republic of"},{value:"TH",label:"Thailand"},{value:"TL",label:"Timor-leste"},{value:"TG",label:"Togo"},{value:"TK",label:"Tokelau"},{value:"TO",label:"Tonga"},{value:"TT",label:"Trinidad and Tobago"},{value:"TN",label:"Tunisia"},{value:"TR",label:"Turkey"},{value:"TM",label:"Turkmenistan"},{value:"TC",label:"Turks and Caicos Islands"},{value:"TV",label:"Tuvalu"},{value:"UG",label:"Uganda"},{value:"UA",label:"Ukraine"},{value:"AE",label:"United Arab Emirates"},{value:"GB",label:"United Kingdom"},{value:"US",label:"United States"},{value:"UM",label:"United States Minor Outlying Islands"},{value:"UY",label:"Uruguay"},{value:"UZ",label:"Uzbekistan"},{value:"VU",label:"Vanuatu"},{value:"VE",label:"Venezuela"},{value:"VN",label:"Viet Nam"},{value:"VG",label:"Virgin Islands, British"},{value:"VI",label:"Virgin Islands, U.S."},{value:"WF",label:"Wallis and Futuna"},{value:"EH",label:"Western Sahara"},{value:"YE",label:"Yemen"},{value:"ZM",label:"Zambia"},{value:"ZW",label:"Zimbabwe"}]},function(e,a){"use strict";e.exports=["Afghanistan","Åland Islands","Albania","Algeria","American Samoa","Andorra","Angola","Anguilla","Antarctica","Antigua and Barbuda","Argentina","Armenia","Aruba","Australia","Austria","Azerbaijan","Bahamas","Bahrain","Bangladesh","Barbados","Belarus","Belgium","Belize","Benin","Bermuda","Bhutan","Bolivia","Bosnia and Herzegovina","Botswana","Bouvet Island","Brazil","British Indian Ocean Territory","Brunei Darussalam","Bulgaria","Burkina Faso","Burundi","Cambodia","Cameroon","Canada","Cape Verde","Cayman Islands","Central African Republic","Chad","Chile","China","Christmas Island","Cocos (Keeling) Islands","Colombia","Comoros","Congo","Congo, The Democratic Republic of The","Cook Islands","Costa Rica","Cote D'ivoire","Croatia","Cuba","Cyprus","Czech Republic","Denmark","Djibouti","Dominica","Dominican Republic","Ecuador","Egypt","El Salvador","Equatorial Guinea","Eritrea","Estonia","Ethiopia","Falkland Islands (Malvinas)","Faroe Islands","Fiji","Finland","France","French Guiana","French Polynesia","French Southern Territories","Gabon","Gambia","Georgia","Germany","Ghana","Gibraltar","Greece","Greenland","Grenada","Guadeloupe","Guam","Guatemala","Guernsey","Guinea","Guinea-bissau","Guyana","Haiti","Heard Island and Mcdonald Islands","Holy See (Vatican City State)","Honduras","Hong Kong","Hungary","Iceland","India","Indonesia","Iran, Islamic Republic of","Iraq","Ireland","Isle of Man","Israel","Italy","Jamaica","Japan","Jersey","Jordan","Kazakhstan","Kenya","Kiribati","Korea, Democratic People's Republic of","Korea, Republic of","Kuwait","Kyrgyzstan","Lao People's Democratic Republic","Latvia","Lebanon","Lesotho","Liberia","Libyan Arab Jamahiriya","Liechtenstein","Lithuania","Luxembourg","Macao","Macedonia, The Former Yugoslav Republic of","Madagascar","Malawi","Malaysia","Maldives","Mali","Malta","Marshall Islands","Martinique","Mauritania","Mauritius","Mayotte","Mexico","Micronesia, Federated States of","Moldova, Republic of","Monaco","Mongolia","Montenegro","Montserrat","Morocco","Mozambique","Myanmar","Namibia","Nauru","Nepal","Netherlands","Netherlands Antilles","New Caledonia","New Zealand","Nicaragua","Niger","Nigeria","Niue","Norfolk Island","Northern Mariana Islands","Norway","Oman","Pakistan","Palau","Palestinian Territory, Occupied","Panama","Papua New Guinea","Paraguay","Peru","Philippines","Pitcairn","Poland","Portugal","Puerto Rico","Qatar","Reunion","Romania","Russian Federation","Rwanda","Saint Helena","Saint Kitts and Nevis","Saint Lucia","Saint Pierre and Miquelon","Saint Vincent and The Grenadines","Samoa","San Marino","Sao Tome and Principe","Saudi Arabia","Senegal","Serbia","Seychelles","Sierra Leone","Singapore","Slovakia","Slovenia","Solomon Islands","Somalia","South Africa","South Georgia and The South Sandwich Islands","Spain","Sri Lanka","Sudan","Suriname","Svalbard and Jan Mayen","Swaziland","Sweden","Switzerland","Syrian Arab Republic","Taiwan, Province of China","Tajikistan","Tanzania, United Republic of","Thailand","Timor-leste","Togo","Tokelau","Tonga","Trinidad and Tobago","Tunisia","Turkey","Turkmenistan","Turks and Caicos Islands","Tuvalu","Uganda","Ukraine","United Arab Emirates","United Kingdom","United States","United States Minor Outlying Islands","Uruguay","Uzbekistan","Vanuatu","Venezuela","Viet Nam","Virgin Islands, British","Virgin Islands, U.S.","Wallis and Futuna","Western Sahara","Yemen","Zambia","Zimbabwe"]},,,,,,,,,,,function(e,a,l){var t,n;t=l(46),n=l(96),e.exports=t||{},e.exports.__esModule&&(e.exports=e.exports["default"]),n&&(("function"==typeof e.exports?e.exports.options||(e.exports.options={}):e.exports).template=n)},function(e,a,l){var t,n;l(94),t=l(49),n=l(99),e.exports=t||{},e.exports.__esModule&&(e.exports=e.exports["default"]),n&&(("function"==typeof e.exports?e.exports.options||(e.exports.options={}):e.exports).template=n)},,function(e,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0});a.setSelected=function(e,a){var l=e.dispatch;l("SET_SELECTED",a)},a.toggleOptionType=function(e){var a=e.dispatch;a("TOGGLE_OPTION_TYPE")},a.setPlaceholder=function(e,a){var l=e.dispatch;l("SET_PLACEHOLDER",a)},a.toggleMultiple=function(e){var a=e.dispatch;a("TOGGLE_MULTIPLE")}},function(e,a,l){"use strict";function t(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0});var n=l(42),i=t(n),o=l(105),s=t(o);i["default"].use(s["default"]),i["default"].config.debug=!0;var u={selected:null,placeholder:"Select a Country",multiple:!0,maxHeight:"400px",options:{advanced:l(28),simple:l(29)},optionType:"advanced"},r={SET_SELECTED:function(e,a){e.selected=a},TOGGLE_OPTION_TYPE:function(e){"advanced"===e.optionType?e.optionType="simple":e.optionType="advanced"},SET_PLACEHOLDER:function(e,a){e.placeholder=a},TOGGLE_MULTIPLE:function(e){e.multiple=!e.multiple},SET_MAX_HEIGHT:function(e,a){e.maxHeight=a}};a["default"]=new s["default"].Store({state:u,mutations:r})},function(e,a,l){"use strict";function t(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0});var n=l(102),i=t(n),o=l(103),s=t(o),u=l(41),r=t(u),c=l(43);a["default"]={components:{Params:s["default"],Install:i["default"],vSelect:r["default"]},vuex:{getters:{placeholder:function(e){return e.placeholder},selected:function(e){return e.selected},type:function(e){return e.optionType},options:function(e){return e.options[e.optionType]},multiple:function(e){return e.multiple}},actions:{setSelected:c.setSelected,toggleMultiple:c.toggleMultiple,setPlaceholder:c.setPlaceholder,toggleOptionType:c.toggleOptionType}},methods:{onPlaceholderChange:function(e){this.setPlaceholder(e.target.value)}}}},function(e,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a["default"]={props:["lang"],computed:{"class":function(){return"language-"+this.lang}}}},function(e,a,l){"use strict";function t(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0});var n=l(51),i=t(n),o=l(28),s=t(o),u=l(29),r=t(u),c=l(41),d=t(c),v=l(40),p=t(v),b=l(104),h=t(b);a["default"]={components:{vSelect:d["default"],vCode:p["default"],InstallSnippet:h["default"]},data:function(){return{countries:s["default"],simple:r["default"],callback:"console",reactive:null,install:null,syncedVal:"Canada"}},methods:{consoleCallback:function(e){console.dir((0,i["default"])(e))},alertCallback:function(e){alert((0,i["default"])(e))}},computed:{getCallback:function(){return"alert"===this.callback?this.alertCallback:this.consoleCallback}}}},function(e,a){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a["default"]={}},function(e,a,l){"use strict";function t(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(a,"__esModule",{value:!0});var n=l(53),i=t(n),o=l(56),s=t(o),u=l(57),r=t(u);a["default"]={props:{value:{"default":null},options:{type:Array,"default":function(){return[]}},maxHeight:{type:String,"default":"400px"},searchable:{type:Boolean,"default":!0},multiple:{type:Boolean,"default":!1},placeholder:{type:String,"default":""},transition:{type:String,"default":"expand"},clearSearchOnSelect:{type:Boolean,"default":!0},label:{type:String,"default":"label"},onChange:Function,taggable:{type:Boolean,"default":!1},pushTags:{type:Boolean,"default":!1},createOption:{type:Function,"default":function(e){return"object"===(0,r["default"])(this.options[0])?(0,s["default"])({},this.label,e):e}}},data:function(){return{search:"",open:!1,typeAheadPointer:-1}},watch:{value:function(e,a){this.onChange&&e!==a?this.onChange(e):null},options:function(){this.taggable||this.$set("value",this.multiple?[]:null)},multiple:function(e){this.$set("value",e?[]:null)},filteredOptions:function(){this.typeAheadPointer=0}},methods:{select:function(e){this.isOptionSelected(e)?this.multiple&&this.value.$remove(e):(this.taggable&&!this.optionExists(e)&&(e=this.createOption(e),this.pushTags&&this.options.push(e)),this.multiple?this.value?this.value.push(e):this.$set("value",[e]):this.value=e),this.onAfterSelect(e)},onAfterSelect:function(e){this.multiple||(this.open=!this.open,this.$els.search.blur()),this.clearSearchOnSelect&&(this.search="")},toggleDropdown:function(e){e.target!==this.$els.openIndicator&&e.target!==this.$els.search&&e.target!==this.$els.toggle&&e.target!==this.$el||(this.open?this.$els.search.blur():(this.open=!0,this.$els.search.focus()))},isOptionSelected:function(e){var a=this;if(this.multiple&&this.value){var l=!1;return this.value.forEach(function(t){"object"===("undefined"==typeof t?"undefined":(0,r["default"])(t))&&t[a.label]===e?l=!0:t===e&&(l=!0)}),l}return this.value===e},getOptionValue:function(e){return"object"===("undefined"==typeof e?"undefined":(0,r["default"])(e))&&e.value?e.value:e},getOptionLabel:function(e){return"object"===("undefined"==typeof e?"undefined":(0,r["default"])(e))&&this.label&&e[this.label]?e[this.label]:e},typeAheadUp:function(){this.typeAheadPointer>0&&this.typeAheadPointer--},typeAheadDown:function(){this.typeAheadPointer

Vue Select

Build Status No Dependencies MIT License Current Release

A well-tested, native Vue.js select component that provides similar functionality to Select2/Chosen without the overhead of jQuery.

  • Fully Reactive
  • Tagging Support v1.1.0
  • Works with Vuex
  • Zero dependencies
  • +90% Test Coverage
  • Select Single/Multiple
  • Typeahead Suggestions
  • Bootstrap Friendly Markup
View on GitHub
Install, Examples & Documentation
'},function(e,a){e.exports=""},function(e,a){e.exports="

The resulting vue-select, and it's value: {{ install | json }}

Single Option Select

<v-select :options="countries"></v-select>

Multiple Option Select

<v-select multiple :options="countries"></v-select>

When the list of options provided by the parent changes, vue-select will react as you'd expect.

The most common use case for vue-select is being able to sync the components value with a parent component. The value property supports two-way data binding to accomplish this.

The .sync data-binding modifier is completely optional. You may use value without a two-way binding to preselect options.

Here we have preselected 'Canada' by setting syncedVal: 'Canada' on the parent component. The buttons below demonstrate how you can set the value from the parent.

Current value: {{ syncedVal | json }}

<v-select :value.sync="syncedVal" :options="countries"></v-select>

By default when the options array contains objects, vue-select looks for the label key for display. If your data source doesn't contain that key, you can set your own using the label prop.

On this page, the list of countries used in the examples contains value and label properties: {value: \"CA\", label: \"Canada\"}. In this example, we'll display the country code instead of the label.

<v-select label="value" :options="countries"></v-select>

vue-select provides an onChange property that accepts a callback function. This function is passed the currently selected value(s) as it's only parameter.

This is very useful when integrating with Vuex, as it will allow your to trigger an action to update your vuex state object. Choose a callback and see it in action.

<v-select on-change="consoleCallback" :options="countries"></v-select>
methods: {\n  consoleCallback(val) {\n    console.dir(JSON.stringify(val))\n  },\n\n  alertCallback(val) {\n    alert(JSON.stringify(val))\n  }\n}
"},function(e,a){e.exports="
props: {\n\n  /**\n   * Contains the currently selected value. Very similar to a\n   * `value` attribute on an &lt;input&gt;. In most cases, you'll want\n   * to set this as a two-way binding, using :value.sync. However,\n   * this will not work with Vuex, in which case you'll need to use\n   * the onChange callback property.\n   * @type {Object||String||null}\n   */\n  value: {\n    default: null\n  },\n\n  /**\n   * An array of strings or objects to be used as dropdown choices.\n   * If you are using an array of objects, vue-select will look for\n   * a `label` key (ex. [{label: 'This is Foo', value: 'foo'}]). A\n   * custom label key can be set with the `label` prop.\n   * @type {Array}\n   */\n  options: {\n    type: Array,\n    default() { return [] },\n  },\n\n  /**\n   * Enable/disable filtering the options.\n   * @type {Boolean}\n   */\n  searchable: {\n    type: Boolean,\n    default: true\n  },\n\n  /**\n   * Equivalent to the `multiple` attribute on a `<select>` input.\n   * @type {Boolean}\n   */\n  multiple: {\n    type: Boolean,\n    default: false\n  },\n\n  /**\n   * Equivalent to the `placeholder` attribute on an `<input>`.\n   * @type {String}\n   */\n  placeholder: {\n    type: String,\n    default: ''\n  },\n\n  /**\n   * Sets a Vue transition property on the `.dropdown-menu`. vue-select\n   * does not include CSS for transitions, you'll need to add them yourself.\n   * @type {String}\n   */\n  transition: {\n    type: String,\n    default: 'expand'\n  },\n\n  /**\n   * Enables/disables clearing the search text when an option is selected.\n   * @type {Boolean}\n   */\n  clearSearchOnSelect: {\n    type: Boolean,\n    default: true\n  },\n\n  /**\n   * Tells vue-select what key to use when generating option labels when\n   * `option` is an object.\n   * @type {String}\n   */\n  label: {\n    type: String,\n    default: 'label'\n  },\n\n  /**\n   * An optional callback function that is called each time the selected\n   * value(s) change. When integrating with Vuex, use this callback to trigger\n   * an action, rather than using :value.sync to retreive the selected value.\n   * @type {Function}\n   * @default {null}\n   */\n  onChange: Function\n}\n  
"},function(e,a){e.exports=''},function(e,a){e.exports="

Install from GitHub via NPM

npm install sagalbot/vue-select

To use the vue-select component in your templates, simply import it, and register it with your component.

<template>\n  <div id="myApp">\n    <v-select :value.sync="selected" :options="options"></v-select>\n  </div>\n</template>\n<script>\nimport vSelect from \"vue-select\"\n  export default {\n    components: {vSelect},\n\n    data() {\n      return {\n        selected: null,\n        options: ['foo','bar','baz']\n      }\n    }\n  }\n</script>\n
"},function(e,a,l){var t,n;l(92),t=l(45),n=l(95),e.exports=t||{},e.exports.__esModule&&(e.exports=e.exports["default"]),n&&(("function"==typeof e.exports?e.exports.options||(e.exports.options={}):e.exports).template=n)},function(e,a,l){var t,n;l(93),t=l(47),n=l(97),e.exports=t||{},e.exports.__esModule&&(e.exports=e.exports["default"]),n&&(("function"==typeof e.exports?e.exports.options||(e.exports.options={}):e.exports).template=n)},function(e,a,l){var t,n;t=l(48),n=l(98),e.exports=t||{},e.exports.__esModule&&(e.exports=e.exports["default"]),n&&(("function"==typeof e.exports?e.exports.options||(e.exports.options={}):e.exports).template=n)},function(e,a,l){var t,n;t=l(50),n=l(100),e.exports=t||{},e.exports.__esModule&&(e.exports=e.exports["default"]),n&&(("function"==typeof e.exports?e.exports.options||(e.exports.options={}):e.exports).template=n)}]); +//# sourceMappingURL=app.c741605ecce5f83a5377.js.map \ No newline at end of file diff --git a/dist/static/js/app.c741605ecce5f83a5377.js.map b/dist/static/js/app.c741605ecce5f83a5377.js.map new file mode 100644 index 0000000..85de386 --- /dev/null +++ b/dist/static/js/app.c741605ecce5f83a5377.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///static/js/app.c741605ecce5f83a5377.js","webpack:///./src/main.js","webpack:///./src/countries/advanced.js","webpack:///./src/countries/simple.js","webpack:///./src/components/Code.vue","webpack:///./src/components/Select.vue","webpack:///./src/vuex/actions.js","webpack:///./src/vuex/store.js","webpack:///App.vue","webpack:///Code.vue","webpack:///Install.vue","webpack:///Select.vue","webpack:///InstallSnippet.vue","webpack:///./src/App.vue?d818","webpack:///./src/components/Code.vue?9755","webpack:///./src/components/Install.vue?6ad4","webpack:///./src/components/Params.vue?c8c3","webpack:///./src/components/Select.vue?058e","webpack:///./src/components/snippets/InstallSnippet.vue?f647","webpack:///./src/App.vue","webpack:///./src/components/Install.vue","webpack:///./src/components/Params.vue","webpack:///./src/components/snippets/InstallSnippet.vue"],"names":["webpackJsonp","module","exports","__webpack_require__","_interopRequireDefault","obj","__esModule","default","_vue","_vue2","_App","_App2","_store","_store2","config","debug","el","store","components","App","value","label","__vue_script__","__vue_template__","options","template","Object","defineProperty","setSelected","_ref","selected","dispatch","toggleOptionType","_ref2","setPlaceholder","_ref3","placeholder","toggleMultiple","_ref4","_vuex","_vuex2","use","state","multiple","maxHeight","advanced","simple","optionType","mutations","SET_SELECTED","TOGGLE_OPTION_TYPE","SET_PLACEHOLDER","TOGGLE_MULTIPLE","SET_MAX_HEIGHT","Store","_Install","_Install2","_Params","_Params2","_Select","_Select2","_actions","Params","Install","vSelect","vuex","getters","type","actions","methods","onPlaceholderChange","e","this","target","props","computed","class","lang","_stringify","_stringify2","_advanced","_advanced2","_simple","_simple2","_Code","_Code2","_InstallSnippet","_InstallSnippet2","vCode","InstallSnippet","data","countries","callback","reactive","install","syncedVal","consoleCallback","val","console","dir","alertCallback","alert","getCallback","_keys","_keys2","_defineProperty2","_defineProperty3","_typeof2","_typeof3","Array","String","searchable","Boolean","transition","clearSearchOnSelect","onChange","Function","taggable","pushTags","createOption","newOption","search","open","typeAheadPointer","watch","old","$set","filteredOptions","select","option","isOptionSelected","$remove","optionExists","push","onAfterSelect","$els","blur","toggleDropdown","openIndicator","toggle","$el","focus","_this","forEach","opt","getOptionValue","getOptionLabel","typeAheadUp","typeAheadDown","length","typeAheadSelect","onEscape","maybeDeleteValue","pop","_this2","exists","dropdownClasses","searchPlaceholder","isValueEmpty","$options","filters","filterBy","unshift","valueAsArray"],"mappings":"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","file":"static/js/app.c741605ecce5f83a5377.js","sourcesContent":["webpackJsonp([2,0],[\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar _vue = __webpack_require__(42);\n\t\n\tvar _vue2 = _interopRequireDefault(_vue);\n\t\n\tvar _App = __webpack_require__(101);\n\t\n\tvar _App2 = _interopRequireDefault(_App);\n\t\n\tvar _store = __webpack_require__(44);\n\t\n\tvar _store2 = _interopRequireDefault(_store);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t_vue2.default.config.debug = true;\n\t\n\tnew _vue2.default({\n\t el: 'body',\n\t store: _store2.default,\n\t components: { App: _App2.default }\n\t});\n\n/***/ },\n/* 1 */,\n/* 2 */,\n/* 3 */,\n/* 4 */,\n/* 5 */,\n/* 6 */,\n/* 7 */,\n/* 8 */,\n/* 9 */,\n/* 10 */,\n/* 11 */,\n/* 12 */,\n/* 13 */,\n/* 14 */,\n/* 15 */,\n/* 16 */,\n/* 17 */,\n/* 18 */,\n/* 19 */,\n/* 20 */,\n/* 21 */,\n/* 22 */,\n/* 23 */,\n/* 24 */,\n/* 25 */,\n/* 26 */,\n/* 27 */,\n/* 28 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\tmodule.exports = [{ value: \"AF\", label: \"Afghanistan\" }, { value: \"AX\", label: \"Åland Islands\" }, { value: \"AL\", label: \"Albania\" }, { value: \"DZ\", label: \"Algeria\" }, { value: \"AS\", label: \"American Samoa\" }, { value: \"AD\", label: \"Andorra\" }, { value: \"AO\", label: \"Angola\" }, { value: \"AI\", label: \"Anguilla\" }, { value: \"AQ\", label: \"Antarctica\" }, { value: \"AG\", label: \"Antigua and Barbuda\" }, { value: \"AR\", label: \"Argentina\" }, { value: \"AM\", label: \"Armenia\" }, { value: \"AW\", label: \"Aruba\" }, { value: \"AU\", label: \"Australia\" }, { value: \"AT\", label: \"Austria\" }, { value: \"AZ\", label: \"Azerbaijan\" }, { value: \"BS\", label: \"Bahamas\" }, { value: \"BH\", label: \"Bahrain\" }, { value: \"BD\", label: \"Bangladesh\" }, { value: \"BB\", label: \"Barbados\" }, { value: \"BY\", label: \"Belarus\" }, { value: \"BE\", label: \"Belgium\" }, { value: \"BZ\", label: \"Belize\" }, { value: \"BJ\", label: \"Benin\" }, { value: \"BM\", label: \"Bermuda\" }, { value: \"BT\", label: \"Bhutan\" }, { value: \"BO\", label: \"Bolivia\" }, { value: \"BA\", label: \"Bosnia and Herzegovina\" }, { value: \"BW\", label: \"Botswana\" }, { value: \"BV\", label: \"Bouvet Island\" }, { value: \"BR\", label: \"Brazil\" }, { value: \"IO\", label: \"British Indian Ocean Territory\" }, { value: \"BN\", label: \"Brunei Darussalam\" }, { value: \"BG\", label: \"Bulgaria\" }, { value: \"BF\", label: \"Burkina Faso\" }, { value: \"BI\", label: \"Burundi\" }, { value: \"KH\", label: \"Cambodia\" }, { value: \"CM\", label: \"Cameroon\" }, { value: \"CA\", label: \"Canada\" }, { value: \"CV\", label: \"Cape Verde\" }, { value: \"KY\", label: \"Cayman Islands\" }, { value: \"CF\", label: \"Central African Republic\" }, { value: \"TD\", label: \"Chad\" }, { value: \"CL\", label: \"Chile\" }, { value: \"CN\", label: \"China\" }, { value: \"CX\", label: \"Christmas Island\" }, { value: \"CC\", label: \"Cocos (Keeling) Islands\" }, { value: \"CO\", label: \"Colombia\" }, { value: \"KM\", label: \"Comoros\" }, { value: \"CG\", label: \"Congo\" }, { value: \"CD\", label: \"Congo, The Democratic Republic of The\" }, { value: \"CK\", label: \"Cook Islands\" }, { value: \"CR\", label: \"Costa Rica\" }, { value: \"CI\", label: \"Cote D'ivoire\" }, { value: \"HR\", label: \"Croatia\" }, { value: \"CU\", label: \"Cuba\" }, { value: \"CY\", label: \"Cyprus\" }, { value: \"CZ\", label: \"Czech Republic\" }, { value: \"DK\", label: \"Denmark\" }, { value: \"DJ\", label: \"Djibouti\" }, { value: \"DM\", label: \"Dominica\" }, { value: \"DO\", label: \"Dominican Republic\" }, { value: \"EC\", label: \"Ecuador\" }, { value: \"EG\", label: \"Egypt\" }, { value: \"SV\", label: \"El Salvador\" }, { value: \"GQ\", label: \"Equatorial Guinea\" }, { value: \"ER\", label: \"Eritrea\" }, { value: \"EE\", label: \"Estonia\" }, { value: \"ET\", label: \"Ethiopia\" }, { value: \"FK\", label: \"Falkland Islands (Malvinas)\" }, { value: \"FO\", label: \"Faroe Islands\" }, { value: \"FJ\", label: \"Fiji\" }, { value: \"FI\", label: \"Finland\" }, { value: \"FR\", label: \"France\" }, { value: \"GF\", label: \"French Guiana\" }, { value: \"PF\", label: \"French Polynesia\" }, { value: \"TF\", label: \"French Southern Territories\" }, { value: \"GA\", label: \"Gabon\" }, { value: \"GM\", label: \"Gambia\" }, { value: \"GE\", label: \"Georgia\" }, { value: \"DE\", label: \"Germany\" }, { value: \"GH\", label: \"Ghana\" }, { value: \"GI\", label: \"Gibraltar\" }, { value: \"GR\", label: \"Greece\" }, { value: \"GL\", label: \"Greenland\" }, { value: \"GD\", label: \"Grenada\" }, { value: \"GP\", label: \"Guadeloupe\" }, { value: \"GU\", label: \"Guam\" }, { value: \"GT\", label: \"Guatemala\" }, { value: \"GG\", label: \"Guernsey\" }, { value: \"GN\", label: \"Guinea\" }, { value: \"GW\", label: \"Guinea-bissau\" }, { value: \"GY\", label: \"Guyana\" }, { value: \"HT\", label: \"Haiti\" }, { value: \"HM\", label: \"Heard Island and Mcdonald Islands\" }, { value: \"VA\", label: \"Holy See (Vatican City State)\" }, { value: \"HN\", label: \"Honduras\" }, { value: \"HK\", label: \"Hong Kong\" }, { value: \"HU\", label: \"Hungary\" }, { value: \"IS\", label: \"Iceland\" }, { value: \"IN\", label: \"India\" }, { value: \"ID\", label: \"Indonesia\" }, { value: \"IR\", label: \"Iran, Islamic Republic of\" }, { value: \"IQ\", label: \"Iraq\" }, { value: \"IE\", label: \"Ireland\" }, { value: \"IM\", label: \"Isle of Man\" }, { value: \"IL\", label: \"Israel\" }, { value: \"IT\", label: \"Italy\" }, { value: \"JM\", label: \"Jamaica\" }, { value: \"JP\", label: \"Japan\" }, { value: \"JE\", label: \"Jersey\" }, { value: \"JO\", label: \"Jordan\" }, { value: \"KZ\", label: \"Kazakhstan\" }, { value: \"KE\", label: \"Kenya\" }, { value: \"KI\", label: \"Kiribati\" }, { value: \"KP\", label: \"Korea, Democratic People's Republic of\" }, { value: \"KR\", label: \"Korea, Republic of\" }, { value: \"KW\", label: \"Kuwait\" }, { value: \"KG\", label: \"Kyrgyzstan\" }, { value: \"LA\", label: \"Lao People's Democratic Republic\" }, { value: \"LV\", label: \"Latvia\" }, { value: \"LB\", label: \"Lebanon\" }, { value: \"LS\", label: \"Lesotho\" }, { value: \"LR\", label: \"Liberia\" }, { value: \"LY\", label: \"Libyan Arab Jamahiriya\" }, { value: \"LI\", label: \"Liechtenstein\" }, { value: \"LT\", label: \"Lithuania\" }, { value: \"LU\", label: \"Luxembourg\" }, { value: \"MO\", label: \"Macao\" }, { value: \"MK\", label: \"Macedonia, The Former Yugoslav Republic of\" }, { value: \"MG\", label: \"Madagascar\" }, { value: \"MW\", label: \"Malawi\" }, { value: \"MY\", label: \"Malaysia\" }, { value: \"MV\", label: \"Maldives\" }, { value: \"ML\", label: \"Mali\" }, { value: \"MT\", label: \"Malta\" }, { value: \"MH\", label: \"Marshall Islands\" }, { value: \"MQ\", label: \"Martinique\" }, { value: \"MR\", label: \"Mauritania\" }, { value: \"MU\", label: \"Mauritius\" }, { value: \"YT\", label: \"Mayotte\" }, { value: \"MX\", label: \"Mexico\" }, { value: \"FM\", label: \"Micronesia, Federated States of\" }, { value: \"MD\", label: \"Moldova, Republic of\" }, { value: \"MC\", label: \"Monaco\" }, { value: \"MN\", label: \"Mongolia\" }, { value: \"ME\", label: \"Montenegro\" }, { value: \"MS\", label: \"Montserrat\" }, { value: \"MA\", label: \"Morocco\" }, { value: \"MZ\", label: \"Mozambique\" }, { value: \"MM\", label: \"Myanmar\" }, { value: \"NA\", label: \"Namibia\" }, { value: \"NR\", label: \"Nauru\" }, { value: \"NP\", label: \"Nepal\" }, { value: \"NL\", label: \"Netherlands\" }, { value: \"AN\", label: \"Netherlands Antilles\" }, { value: \"NC\", label: \"New Caledonia\" }, { value: \"NZ\", label: \"New Zealand\" }, { value: \"NI\", label: \"Nicaragua\" }, { value: \"NE\", label: \"Niger\" }, { value: \"NG\", label: \"Nigeria\" }, { value: \"NU\", label: \"Niue\" }, { value: \"NF\", label: \"Norfolk Island\" }, { value: \"MP\", label: \"Northern Mariana Islands\" }, { value: \"NO\", label: \"Norway\" }, { value: \"OM\", label: \"Oman\" }, { value: \"PK\", label: \"Pakistan\" }, { value: \"PW\", label: \"Palau\" }, { value: \"PS\", label: \"Palestinian Territory, Occupied\" }, { value: \"PA\", label: \"Panama\" }, { value: \"PG\", label: \"Papua New Guinea\" }, { value: \"PY\", label: \"Paraguay\" }, { value: \"PE\", label: \"Peru\" }, { value: \"PH\", label: \"Philippines\" }, { value: \"PN\", label: \"Pitcairn\" }, { value: \"PL\", label: \"Poland\" }, { value: \"PT\", label: \"Portugal\" }, { value: \"PR\", label: \"Puerto Rico\" }, { value: \"QA\", label: \"Qatar\" }, { value: \"RE\", label: \"Reunion\" }, { value: \"RO\", label: \"Romania\" }, { value: \"RU\", label: \"Russian Federation\" }, { value: \"RW\", label: \"Rwanda\" }, { value: \"SH\", label: \"Saint Helena\" }, { value: \"KN\", label: \"Saint Kitts and Nevis\" }, { value: \"LC\", label: \"Saint Lucia\" }, { value: \"PM\", label: \"Saint Pierre and Miquelon\" }, { value: \"VC\", label: \"Saint Vincent and The Grenadines\" }, { value: \"WS\", label: \"Samoa\" }, { value: \"SM\", label: \"San Marino\" }, { value: \"ST\", label: \"Sao Tome and Principe\" }, { value: \"SA\", label: \"Saudi Arabia\" }, { value: \"SN\", label: \"Senegal\" }, { value: \"RS\", label: \"Serbia\" }, { value: \"SC\", label: \"Seychelles\" }, { value: \"SL\", label: \"Sierra Leone\" }, { value: \"SG\", label: \"Singapore\" }, { value: \"SK\", label: \"Slovakia\" }, { value: \"SI\", label: \"Slovenia\" }, { value: \"SB\", label: \"Solomon Islands\" }, { value: \"SO\", label: \"Somalia\" }, { value: \"ZA\", label: \"South Africa\" }, { value: \"GS\", label: \"South Georgia and The South Sandwich Islands\" }, { value: \"ES\", label: \"Spain\" }, { value: \"LK\", label: \"Sri Lanka\" }, { value: \"SD\", label: \"Sudan\" }, { value: \"SR\", label: \"Suriname\" }, { value: \"SJ\", label: \"Svalbard and Jan Mayen\" }, { value: \"SZ\", label: \"Swaziland\" }, { value: \"SE\", label: \"Sweden\" }, { value: \"CH\", label: \"Switzerland\" }, { value: \"SY\", label: \"Syrian Arab Republic\" }, { value: \"TW\", label: \"Taiwan, Province of China\" }, { value: \"TJ\", label: \"Tajikistan\" }, { value: \"TZ\", label: \"Tanzania, United Republic of\" }, { value: \"TH\", label: \"Thailand\" }, { value: \"TL\", label: \"Timor-leste\" }, { value: \"TG\", label: \"Togo\" }, { value: \"TK\", label: \"Tokelau\" }, { value: \"TO\", label: \"Tonga\" }, { value: \"TT\", label: \"Trinidad and Tobago\" }, { value: \"TN\", label: \"Tunisia\" }, { value: \"TR\", label: \"Turkey\" }, { value: \"TM\", label: \"Turkmenistan\" }, { value: \"TC\", label: \"Turks and Caicos Islands\" }, { value: \"TV\", label: \"Tuvalu\" }, { value: \"UG\", label: \"Uganda\" }, { value: \"UA\", label: \"Ukraine\" }, { value: \"AE\", label: \"United Arab Emirates\" }, { value: \"GB\", label: \"United Kingdom\" }, { value: \"US\", label: \"United States\" }, { value: \"UM\", label: \"United States Minor Outlying Islands\" }, { value: \"UY\", label: \"Uruguay\" }, { value: \"UZ\", label: \"Uzbekistan\" }, { value: \"VU\", label: \"Vanuatu\" }, { value: \"VE\", label: \"Venezuela\" }, { value: \"VN\", label: \"Viet Nam\" }, { value: \"VG\", label: \"Virgin Islands, British\" }, { value: \"VI\", label: \"Virgin Islands, U.S.\" }, { value: \"WF\", label: \"Wallis and Futuna\" }, { value: \"EH\", label: \"Western Sahara\" }, { value: \"YE\", label: \"Yemen\" }, { value: \"ZM\", label: \"Zambia\" }, { value: \"ZW\", label: \"Zimbabwe\" }];\n\n/***/ },\n/* 29 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\tmodule.exports = [\"Afghanistan\", \"Åland Islands\", \"Albania\", \"Algeria\", \"American Samoa\", \"Andorra\", \"Angola\", \"Anguilla\", \"Antarctica\", \"Antigua and Barbuda\", \"Argentina\", \"Armenia\", \"Aruba\", \"Australia\", \"Austria\", \"Azerbaijan\", \"Bahamas\", \"Bahrain\", \"Bangladesh\", \"Barbados\", \"Belarus\", \"Belgium\", \"Belize\", \"Benin\", \"Bermuda\", \"Bhutan\", \"Bolivia\", \"Bosnia and Herzegovina\", \"Botswana\", \"Bouvet Island\", \"Brazil\", \"British Indian Ocean Territory\", \"Brunei Darussalam\", \"Bulgaria\", \"Burkina Faso\", \"Burundi\", \"Cambodia\", \"Cameroon\", \"Canada\", \"Cape Verde\", \"Cayman Islands\", \"Central African Republic\", \"Chad\", \"Chile\", \"China\", \"Christmas Island\", \"Cocos (Keeling) Islands\", \"Colombia\", \"Comoros\", \"Congo\", \"Congo, The Democratic Republic of The\", \"Cook Islands\", \"Costa Rica\", \"Cote D'ivoire\", \"Croatia\", \"Cuba\", \"Cyprus\", \"Czech Republic\", \"Denmark\", \"Djibouti\", \"Dominica\", \"Dominican Republic\", \"Ecuador\", \"Egypt\", \"El Salvador\", \"Equatorial Guinea\", \"Eritrea\", \"Estonia\", \"Ethiopia\", \"Falkland Islands (Malvinas)\", \"Faroe Islands\", \"Fiji\", \"Finland\", \"France\", \"French Guiana\", \"French Polynesia\", \"French Southern Territories\", \"Gabon\", \"Gambia\", \"Georgia\", \"Germany\", \"Ghana\", \"Gibraltar\", \"Greece\", \"Greenland\", \"Grenada\", \"Guadeloupe\", \"Guam\", \"Guatemala\", \"Guernsey\", \"Guinea\", \"Guinea-bissau\", \"Guyana\", \"Haiti\", \"Heard Island and Mcdonald Islands\", \"Holy See (Vatican City State)\", \"Honduras\", \"Hong Kong\", \"Hungary\", \"Iceland\", \"India\", \"Indonesia\", \"Iran, Islamic Republic of\", \"Iraq\", \"Ireland\", \"Isle of Man\", \"Israel\", \"Italy\", \"Jamaica\", \"Japan\", \"Jersey\", \"Jordan\", \"Kazakhstan\", \"Kenya\", \"Kiribati\", \"Korea, Democratic People's Republic of\", \"Korea, Republic of\", \"Kuwait\", \"Kyrgyzstan\", \"Lao People's Democratic Republic\", \"Latvia\", \"Lebanon\", \"Lesotho\", \"Liberia\", \"Libyan Arab Jamahiriya\", \"Liechtenstein\", \"Lithuania\", \"Luxembourg\", \"Macao\", \"Macedonia, The Former Yugoslav Republic of\", \"Madagascar\", \"Malawi\", \"Malaysia\", \"Maldives\", \"Mali\", \"Malta\", \"Marshall Islands\", \"Martinique\", \"Mauritania\", \"Mauritius\", \"Mayotte\", \"Mexico\", \"Micronesia, Federated States of\", \"Moldova, Republic of\", \"Monaco\", \"Mongolia\", \"Montenegro\", \"Montserrat\", \"Morocco\", \"Mozambique\", \"Myanmar\", \"Namibia\", \"Nauru\", \"Nepal\", \"Netherlands\", \"Netherlands Antilles\", \"New Caledonia\", \"New Zealand\", \"Nicaragua\", \"Niger\", \"Nigeria\", \"Niue\", \"Norfolk Island\", \"Northern Mariana Islands\", \"Norway\", \"Oman\", \"Pakistan\", \"Palau\", \"Palestinian Territory, Occupied\", \"Panama\", \"Papua New Guinea\", \"Paraguay\", \"Peru\", \"Philippines\", \"Pitcairn\", \"Poland\", \"Portugal\", \"Puerto Rico\", \"Qatar\", \"Reunion\", \"Romania\", \"Russian Federation\", \"Rwanda\", \"Saint Helena\", \"Saint Kitts and Nevis\", \"Saint Lucia\", \"Saint Pierre and Miquelon\", \"Saint Vincent and The Grenadines\", \"Samoa\", \"San Marino\", \"Sao Tome and Principe\", \"Saudi Arabia\", \"Senegal\", \"Serbia\", \"Seychelles\", \"Sierra Leone\", \"Singapore\", \"Slovakia\", \"Slovenia\", \"Solomon Islands\", \"Somalia\", \"South Africa\", \"South Georgia and The South Sandwich Islands\", \"Spain\", \"Sri Lanka\", \"Sudan\", \"Suriname\", \"Svalbard and Jan Mayen\", \"Swaziland\", \"Sweden\", \"Switzerland\", \"Syrian Arab Republic\", \"Taiwan, Province of China\", \"Tajikistan\", \"Tanzania, United Republic of\", \"Thailand\", \"Timor-leste\", \"Togo\", \"Tokelau\", \"Tonga\", \"Trinidad and Tobago\", \"Tunisia\", \"Turkey\", \"Turkmenistan\", \"Turks and Caicos Islands\", \"Tuvalu\", \"Uganda\", \"Ukraine\", \"United Arab Emirates\", \"United Kingdom\", \"United States\", \"United States Minor Outlying Islands\", \"Uruguay\", \"Uzbekistan\", \"Vanuatu\", \"Venezuela\", \"Viet Nam\", \"Virgin Islands, British\", \"Virgin Islands, U.S.\", \"Wallis and Futuna\", \"Western Sahara\", \"Yemen\", \"Zambia\", \"Zimbabwe\"];\n\n/***/ },\n/* 30 */,\n/* 31 */,\n/* 32 */,\n/* 33 */,\n/* 34 */,\n/* 35 */,\n/* 36 */,\n/* 37 */,\n/* 38 */,\n/* 39 */,\n/* 40 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __vue_script__, __vue_template__\n\t__vue_script__ = __webpack_require__(46)\n\t__vue_template__ = __webpack_require__(96)\n\tmodule.exports = __vue_script__ || {}\n\tif (module.exports.__esModule) module.exports = module.exports.default\n\tif (__vue_template__) {\n\t(typeof module.exports === \"function\" ? (module.exports.options || (module.exports.options = {})) : module.exports).template = __vue_template__\n\t}\n\n\n/***/ },\n/* 41 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __vue_script__, __vue_template__\n\t__webpack_require__(94)\n\t__vue_script__ = __webpack_require__(49)\n\t__vue_template__ = __webpack_require__(99)\n\tmodule.exports = __vue_script__ || {}\n\tif (module.exports.__esModule) module.exports = module.exports.default\n\tif (__vue_template__) {\n\t(typeof module.exports === \"function\" ? (module.exports.options || (module.exports.options = {})) : module.exports).template = __vue_template__\n\t}\n\n\n/***/ },\n/* 42 */,\n/* 43 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\tvar setSelected = exports.setSelected = function setSelected(_ref, selected) {\n\t var dispatch = _ref.dispatch;\n\t\n\t dispatch('SET_SELECTED', selected);\n\t};\n\t\n\tvar toggleOptionType = exports.toggleOptionType = function toggleOptionType(_ref2) {\n\t var dispatch = _ref2.dispatch;\n\t\n\t dispatch('TOGGLE_OPTION_TYPE');\n\t};\n\t\n\tvar setPlaceholder = exports.setPlaceholder = function setPlaceholder(_ref3, placeholder) {\n\t var dispatch = _ref3.dispatch;\n\t\n\t dispatch('SET_PLACEHOLDER', placeholder);\n\t};\n\t\n\tvar toggleMultiple = exports.toggleMultiple = function toggleMultiple(_ref4) {\n\t var dispatch = _ref4.dispatch;\n\t\n\t dispatch('TOGGLE_MULTIPLE');\n\t};\n\n/***/ },\n/* 44 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _vue = __webpack_require__(42);\n\t\n\tvar _vue2 = _interopRequireDefault(_vue);\n\t\n\tvar _vuex = __webpack_require__(105);\n\t\n\tvar _vuex2 = _interopRequireDefault(_vuex);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\t_vue2.default.use(_vuex2.default);\n\t_vue2.default.config.debug = true;\n\t\n\tvar state = {\n\t selected: null,\n\t placeholder: 'Select a Country',\n\t multiple: true,\n\t maxHeight: '400px',\n\t options: {\n\t advanced: __webpack_require__(28),\n\t simple: __webpack_require__(29)\n\t },\n\t optionType: 'advanced'\n\t};\n\t\n\tvar mutations = {\n\t SET_SELECTED: function SET_SELECTED(state, selected) {\n\t state.selected = selected;\n\t },\n\t TOGGLE_OPTION_TYPE: function TOGGLE_OPTION_TYPE(state) {\n\t if (state.optionType === 'advanced') {\n\t state.optionType = 'simple';\n\t } else {\n\t state.optionType = 'advanced';\n\t }\n\t },\n\t SET_PLACEHOLDER: function SET_PLACEHOLDER(state, placeholder) {\n\t state.placeholder = placeholder;\n\t },\n\t TOGGLE_MULTIPLE: function TOGGLE_MULTIPLE(state) {\n\t state.multiple = !state.multiple;\n\t },\n\t SET_MAX_HEIGHT: function SET_MAX_HEIGHT(state, maxHeight) {\n\t state.maxHeight = maxHeight;\n\t }\n\t};\n\t\n\texports.default = new _vuex2.default.Store({\n\t state: state,\n\t mutations: mutations\n\t});\n\n/***/ },\n/* 45 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _Install = __webpack_require__(102);\n\t\n\tvar _Install2 = _interopRequireDefault(_Install);\n\t\n\tvar _Params = __webpack_require__(103);\n\t\n\tvar _Params2 = _interopRequireDefault(_Params);\n\t\n\tvar _Select = __webpack_require__(41);\n\t\n\tvar _Select2 = _interopRequireDefault(_Select);\n\t\n\tvar _actions = __webpack_require__(43);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = {\n\t components: { Params: _Params2.default, Install: _Install2.default, vSelect: _Select2.default },\n\t\n\t vuex: {\n\t getters: {\n\t placeholder: function placeholder(store) {\n\t return store.placeholder;\n\t },\n\t selected: function selected(store) {\n\t return store.selected;\n\t },\n\t type: function type(store) {\n\t return store.optionType;\n\t },\n\t options: function options(store) {\n\t return store.options[store.optionType];\n\t },\n\t multiple: function multiple(store) {\n\t return store.multiple;\n\t }\n\t },\n\t actions: { setSelected: _actions.setSelected, toggleMultiple: _actions.toggleMultiple, setPlaceholder: _actions.setPlaceholder, toggleOptionType: _actions.toggleOptionType }\n\t },\n\t methods: {\n\t onPlaceholderChange: function onPlaceholderChange(e) {\n\t this.setPlaceholder(e.target.value);\n\t }\n\t }\n\t};\n\n/***/ },\n/* 46 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.default = {\n\t props: ['lang'],\n\t computed: {\n\t class: function _class() {\n\t return 'language-' + this.lang;\n\t }\n\t }\n\t};\n\n/***/ },\n/* 47 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _stringify = __webpack_require__(51);\n\t\n\tvar _stringify2 = _interopRequireDefault(_stringify);\n\t\n\tvar _advanced = __webpack_require__(28);\n\t\n\tvar _advanced2 = _interopRequireDefault(_advanced);\n\t\n\tvar _simple = __webpack_require__(29);\n\t\n\tvar _simple2 = _interopRequireDefault(_simple);\n\t\n\tvar _Select = __webpack_require__(41);\n\t\n\tvar _Select2 = _interopRequireDefault(_Select);\n\t\n\tvar _Code = __webpack_require__(40);\n\t\n\tvar _Code2 = _interopRequireDefault(_Code);\n\t\n\tvar _InstallSnippet = __webpack_require__(104);\n\t\n\tvar _InstallSnippet2 = _interopRequireDefault(_InstallSnippet);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = {\n\t components: { vSelect: _Select2.default, vCode: _Code2.default, InstallSnippet: _InstallSnippet2.default },\n\t data: function data() {\n\t return {\n\t countries: _advanced2.default,\n\t simple: _simple2.default,\n\t callback: 'console',\n\t reactive: null,\n\t install: null,\n\t syncedVal: 'Canada'\n\t };\n\t },\n\t\n\t\n\t methods: {\n\t consoleCallback: function consoleCallback(val) {\n\t console.dir((0, _stringify2.default)(val));\n\t },\n\t alertCallback: function alertCallback(val) {\n\t alert((0, _stringify2.default)(val));\n\t }\n\t },\n\t\n\t computed: {\n\t getCallback: function getCallback() {\n\t if (this.callback === 'alert') {\n\t return this.alertCallback;\n\t }\n\t\n\t return this.consoleCallback;\n\t }\n\t }\n\t};\n\n/***/ },\n/* 48 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\texports.default = {};\n\n/***/ },\n/* 49 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _keys = __webpack_require__(53);\n\t\n\tvar _keys2 = _interopRequireDefault(_keys);\n\t\n\tvar _defineProperty2 = __webpack_require__(56);\n\t\n\tvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\t\n\tvar _typeof2 = __webpack_require__(57);\n\t\n\tvar _typeof3 = _interopRequireDefault(_typeof2);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = {\n\t props: {\n\t value: {\n\t default: null\n\t },\n\t\n\t options: {\n\t type: Array,\n\t default: function _default() {\n\t return [];\n\t }\n\t },\n\t\n\t maxHeight: {\n\t type: String,\n\t default: '400px'\n\t },\n\t\n\t searchable: {\n\t type: Boolean,\n\t default: true\n\t },\n\t\n\t multiple: {\n\t type: Boolean,\n\t default: false\n\t },\n\t\n\t placeholder: {\n\t type: String,\n\t default: ''\n\t },\n\t\n\t transition: {\n\t type: String,\n\t default: 'expand'\n\t },\n\t\n\t clearSearchOnSelect: {\n\t type: Boolean,\n\t default: true\n\t },\n\t\n\t label: {\n\t type: String,\n\t default: 'label'\n\t },\n\t\n\t onChange: Function,\n\t\n\t taggable: {\n\t type: Boolean,\n\t default: false\n\t },\n\t\n\t pushTags: {\n\t type: Boolean,\n\t default: false\n\t },\n\t\n\t createOption: {\n\t type: Function,\n\t default: function _default(newOption) {\n\t if ((0, _typeof3.default)(this.options[0]) === 'object') {\n\t return (0, _defineProperty3.default)({}, this.label, newOption);\n\t }\n\t return newOption;\n\t }\n\t }\n\t },\n\t\n\t data: function data() {\n\t return {\n\t search: '',\n\t open: false,\n\t typeAheadPointer: -1\n\t };\n\t },\n\t\n\t\n\t watch: {\n\t value: function value(val, old) {\n\t this.onChange && val !== old ? this.onChange(val) : null;\n\t },\n\t options: function options() {\n\t if (!this.taggable) {\n\t this.$set('value', this.multiple ? [] : null);\n\t }\n\t },\n\t multiple: function multiple(val) {\n\t this.$set('value', val ? [] : null);\n\t },\n\t filteredOptions: function filteredOptions() {\n\t this.typeAheadPointer = 0;\n\t }\n\t },\n\t\n\t methods: {\n\t select: function select(option) {\n\t if (!this.isOptionSelected(option)) {\n\t if (this.taggable && !this.optionExists(option)) {\n\t option = this.createOption(option);\n\t\n\t if (this.pushTags) {\n\t this.options.push(option);\n\t }\n\t }\n\t\n\t if (this.multiple) {\n\t\n\t if (!this.value) {\n\t this.$set('value', [option]);\n\t } else {\n\t this.value.push(option);\n\t }\n\t } else {\n\t this.value = option;\n\t }\n\t } else {\n\t if (this.multiple) {\n\t this.value.$remove(option);\n\t }\n\t }\n\t\n\t this.onAfterSelect(option);\n\t },\n\t onAfterSelect: function onAfterSelect(option) {\n\t if (!this.multiple) {\n\t this.open = !this.open;\n\t this.$els.search.blur();\n\t }\n\t\n\t if (this.clearSearchOnSelect) {\n\t this.search = '';\n\t }\n\t },\n\t toggleDropdown: function toggleDropdown(e) {\n\t if (e.target === this.$els.openIndicator || e.target === this.$els.search || e.target === this.$els.toggle || e.target === this.$el) {\n\t if (this.open) {\n\t this.$els.search.blur();\n\t } else {\n\t this.open = true;\n\t this.$els.search.focus();\n\t }\n\t }\n\t },\n\t isOptionSelected: function isOptionSelected(option) {\n\t var _this = this;\n\t\n\t if (this.multiple && this.value) {\n\t var selected = false;\n\t this.value.forEach(function (opt) {\n\t if ((typeof opt === 'undefined' ? 'undefined' : (0, _typeof3.default)(opt)) === 'object' && opt[_this.label] === option) {\n\t selected = true;\n\t } else if (opt === option) {\n\t selected = true;\n\t }\n\t });\n\t return selected;\n\t }\n\t\n\t return this.value === option;\n\t },\n\t getOptionValue: function getOptionValue(option) {\n\t if ((typeof option === 'undefined' ? 'undefined' : (0, _typeof3.default)(option)) === 'object' && option.value) {\n\t return option.value;\n\t }\n\t\n\t return option;\n\t },\n\t getOptionLabel: function getOptionLabel(option) {\n\t if ((typeof option === 'undefined' ? 'undefined' : (0, _typeof3.default)(option)) === 'object') {\n\t if (this.label && option[this.label]) {\n\t return option[this.label];\n\t }\n\t }\n\t return option;\n\t },\n\t typeAheadUp: function typeAheadUp() {\n\t if (this.typeAheadPointer > 0) this.typeAheadPointer--;\n\t },\n\t typeAheadDown: function typeAheadDown() {\n\t if (this.typeAheadPointer < this.filteredOptions.length - 1) this.typeAheadPointer++;\n\t },\n\t typeAheadSelect: function typeAheadSelect() {\n\t if (this.filteredOptions[this.typeAheadPointer]) {\n\t this.select(this.filteredOptions[this.typeAheadPointer]);\n\t } else if (this.taggable && this.search.length) {\n\t this.select(this.search);\n\t }\n\t\n\t if (this.clearSearchOnSelect) {\n\t this.search = \"\";\n\t }\n\t },\n\t onEscape: function onEscape() {\n\t if (!this.search.length) {\n\t this.$els.search.blur();\n\t } else {\n\t this.search = '';\n\t }\n\t },\n\t maybeDeleteValue: function maybeDeleteValue() {\n\t if (!this.$els.search.value.length && this.value) {\n\t return this.multiple ? this.value.pop() : this.$set('value', null);\n\t }\n\t },\n\t optionExists: function optionExists(option) {\n\t var _this2 = this;\n\t\n\t var exists = false;\n\t\n\t this.options.forEach(function (opt) {\n\t if ((typeof opt === 'undefined' ? 'undefined' : (0, _typeof3.default)(opt)) === 'object' && opt[_this2.label] === option) {\n\t exists = true;\n\t } else if (opt === option) {\n\t exists = true;\n\t }\n\t });\n\t\n\t return exists;\n\t }\n\t },\n\t\n\t computed: {\n\t dropdownClasses: function dropdownClasses() {\n\t return {\n\t open: this.open,\n\t searchable: this.searchable\n\t };\n\t },\n\t searchPlaceholder: function searchPlaceholder() {\n\t if (this.isValueEmpty && this.placeholder) {\n\t return this.placeholder;\n\t }\n\t },\n\t filteredOptions: function filteredOptions() {\n\t var options = this.$options.filters.filterBy(this.options, this.search);\n\t if (this.taggable && this.search.length && !this.optionExists(this.search)) {\n\t options.unshift(this.search);\n\t }\n\t return options;\n\t },\n\t isValueEmpty: function isValueEmpty() {\n\t if (this.value) {\n\t if ((0, _typeof3.default)(this.value) === 'object') {\n\t return !(0, _keys2.default)(this.value).length;\n\t }\n\t return !this.value.length;\n\t }\n\t\n\t return true;\n\t },\n\t valueAsArray: function valueAsArray() {\n\t if (this.multiple) {\n\t return this.value;\n\t } else if (this.value) {\n\t return [this.value];\n\t }\n\t\n\t return [];\n\t }\n\t }\n\t\n\t};\n\n/***/ },\n/* 50 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tObject.defineProperty(exports, \"__esModule\", {\n\t value: true\n\t});\n\t\n\tvar _Code = __webpack_require__(40);\n\t\n\tvar _Code2 = _interopRequireDefault(_Code);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = {\n\t components: { vCode: _Code2.default }\n\t};\n\n/***/ },\n/* 51 */,\n/* 52 */,\n/* 53 */,\n/* 54 */,\n/* 55 */,\n/* 56 */,\n/* 57 */,\n/* 58 */,\n/* 59 */,\n/* 60 */,\n/* 61 */,\n/* 62 */,\n/* 63 */,\n/* 64 */,\n/* 65 */,\n/* 66 */,\n/* 67 */,\n/* 68 */,\n/* 69 */,\n/* 70 */,\n/* 71 */,\n/* 72 */,\n/* 73 */,\n/* 74 */,\n/* 75 */,\n/* 76 */,\n/* 77 */,\n/* 78 */,\n/* 79 */,\n/* 80 */,\n/* 81 */,\n/* 82 */,\n/* 83 */,\n/* 84 */,\n/* 85 */,\n/* 86 */,\n/* 87 */,\n/* 88 */,\n/* 89 */,\n/* 90 */,\n/* 91 */,\n/* 92 */\n/***/ function(module, exports) {\n\n\t// removed by extract-text-webpack-plugin\n\n/***/ },\n/* 93 */\n/***/ function(module, exports) {\n\n\t// removed by extract-text-webpack-plugin\n\n/***/ },\n/* 94 */\n/***/ function(module, exports) {\n\n\t// removed by extract-text-webpack-plugin\n\n/***/ },\n/* 95 */\n/***/ function(module, exports) {\n\n\tmodule.exports = \"

Vue Select

\\\"Build \\\"No \\\"MIT \\\"Current

A well-tested, native Vue.js select component that provides similar functionality to Select2/Chosen without the overhead of jQuery.

  • Fully Reactive
  • Tagging Support v1.1.0
  • Works with Vuex
  • Zero dependencies
  • +90% Test Coverage
  • Select Single/Multiple
  • Typeahead Suggestions
  • Bootstrap Friendly Markup
View on GitHub
Install, Examples & Documentation
\";\n\n/***/ },\n/* 96 */\n/***/ function(module, exports) {\n\n\tmodule.exports = \"\";\n\n/***/ },\n/* 97 */\n/***/ function(module, exports) {\n\n\tmodule.exports = \"

The resulting vue-select, and it's value: {{ install | json }}

Single Option Select

<v-select :options="countries"></v-select>

Multiple Option Select

<v-select multiple :options="countries"></v-select>

When the list of options provided by the parent changes, vue-select will react as you'd expect.

The most common use case for vue-select is being able to sync the components value with a parent component. The value property supports two-way data binding to accomplish this.

The .sync data-binding modifier is completely optional. You may use value without a two-way binding to preselect options.

Here we have preselected 'Canada' by setting syncedVal: 'Canada' on the parent component. The buttons below demonstrate how you can set the value from the parent.

Current value: {{ syncedVal | json }}

<v-select :value.sync="syncedVal" :options="countries"></v-select>

By default when the options array contains objects, vue-select looks for the label key for display. If your data source doesn't contain that key, you can set your own using the label prop.

On this page, the list of countries used in the examples contains value and label properties: {value: \\\"CA\\\", label: \\\"Canada\\\"}. In this example, we'll display the country code instead of the label.

<v-select label="value" :options="countries"></v-select>

vue-select provides an onChange property that accepts a callback function. This function is passed the currently selected value(s) as it's only parameter.

This is very useful when integrating with Vuex, as it will allow your to trigger an action to update your vuex state object. Choose a callback and see it in action.

<v-select on-change="consoleCallback" :options="countries"></v-select>
methods: {\\n  consoleCallback(val) {\\n    console.dir(JSON.stringify(val))\\n  },\\n\\n  alertCallback(val) {\\n    alert(JSON.stringify(val))\\n  }\\n}
\";\n\n/***/ },\n/* 98 */\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
props: {\\n\\n  /**\\n   * Contains the currently selected value. Very similar to a\\n   * `value` attribute on an &lt;input&gt;. In most cases, you'll want\\n   * to set this as a two-way binding, using :value.sync. However,\\n   * this will not work with Vuex, in which case you'll need to use\\n   * the onChange callback property.\\n   * @type {Object||String||null}\\n   */\\n  value: {\\n    default: null\\n  },\\n\\n  /**\\n   * An array of strings or objects to be used as dropdown choices.\\n   * If you are using an array of objects, vue-select will look for\\n   * a `label` key (ex. [{label: 'This is Foo', value: 'foo'}]). A\\n   * custom label key can be set with the `label` prop.\\n   * @type {Array}\\n   */\\n  options: {\\n    type: Array,\\n    default() { return [] },\\n  },\\n\\n  /**\\n   * Enable/disable filtering the options.\\n   * @type {Boolean}\\n   */\\n  searchable: {\\n    type: Boolean,\\n    default: true\\n  },\\n\\n  /**\\n   * Equivalent to the `multiple` attribute on a `<select>` input.\\n   * @type {Boolean}\\n   */\\n  multiple: {\\n    type: Boolean,\\n    default: false\\n  },\\n\\n  /**\\n   * Equivalent to the `placeholder` attribute on an `<input>`.\\n   * @type {String}\\n   */\\n  placeholder: {\\n    type: String,\\n    default: ''\\n  },\\n\\n  /**\\n   * Sets a Vue transition property on the `.dropdown-menu`. vue-select\\n   * does not include CSS for transitions, you'll need to add them yourself.\\n   * @type {String}\\n   */\\n  transition: {\\n    type: String,\\n    default: 'expand'\\n  },\\n\\n  /**\\n   * Enables/disables clearing the search text when an option is selected.\\n   * @type {Boolean}\\n   */\\n  clearSearchOnSelect: {\\n    type: Boolean,\\n    default: true\\n  },\\n\\n  /**\\n   * Tells vue-select what key to use when generating option labels when\\n   * `option` is an object.\\n   * @type {String}\\n   */\\n  label: {\\n    type: String,\\n    default: 'label'\\n  },\\n\\n  /**\\n   * An optional callback function that is called each time the selected\\n   * value(s) change. When integrating with Vuex, use this callback to trigger\\n   * an action, rather than using :value.sync to retreive the selected value.\\n   * @type {Function}\\n   * @default {null}\\n   */\\n  onChange: Function\\n}\\n  
\";\n\n/***/ },\n/* 99 */\n/***/ function(module, exports) {\n\n\tmodule.exports = \"
{{ placeholder }} {{ getOptionLabel(option) }}
\";\n\n/***/ },\n/* 100 */\n/***/ function(module, exports) {\n\n\tmodule.exports = \"

Install from GitHub via NPM

npm install sagalbot/vue-select

To use the vue-select component in your templates, simply import it, and register it with your component.

<template>\\n  <div id="myApp">\\n    <v-select :value.sync="selected" :options="options"></v-select>\\n  </div>\\n</template>\\n<script>\\nimport vSelect from \\\"vue-select\\\"\\n  export default {\\n    components: {vSelect},\\n\\n    data() {\\n      return {\\n        selected: null,\\n        options: ['foo','bar','baz']\\n      }\\n    }\\n  }\\n</script>\\n
\";\n\n/***/ },\n/* 101 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __vue_script__, __vue_template__\n\t__webpack_require__(92)\n\t__vue_script__ = __webpack_require__(45)\n\t__vue_template__ = __webpack_require__(95)\n\tmodule.exports = __vue_script__ || {}\n\tif (module.exports.__esModule) module.exports = module.exports.default\n\tif (__vue_template__) {\n\t(typeof module.exports === \"function\" ? (module.exports.options || (module.exports.options = {})) : module.exports).template = __vue_template__\n\t}\n\n\n/***/ },\n/* 102 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __vue_script__, __vue_template__\n\t__webpack_require__(93)\n\t__vue_script__ = __webpack_require__(47)\n\t__vue_template__ = __webpack_require__(97)\n\tmodule.exports = __vue_script__ || {}\n\tif (module.exports.__esModule) module.exports = module.exports.default\n\tif (__vue_template__) {\n\t(typeof module.exports === \"function\" ? (module.exports.options || (module.exports.options = {})) : module.exports).template = __vue_template__\n\t}\n\n\n/***/ },\n/* 103 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __vue_script__, __vue_template__\n\t__vue_script__ = __webpack_require__(48)\n\t__vue_template__ = __webpack_require__(98)\n\tmodule.exports = __vue_script__ || {}\n\tif (module.exports.__esModule) module.exports = module.exports.default\n\tif (__vue_template__) {\n\t(typeof module.exports === \"function\" ? (module.exports.options || (module.exports.options = {})) : module.exports).template = __vue_template__\n\t}\n\n\n/***/ },\n/* 104 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __vue_script__, __vue_template__\n\t__vue_script__ = __webpack_require__(50)\n\t__vue_template__ = __webpack_require__(100)\n\tmodule.exports = __vue_script__ || {}\n\tif (module.exports.__esModule) module.exports = module.exports.default\n\tif (__vue_template__) {\n\t(typeof module.exports === \"function\" ? (module.exports.options || (module.exports.options = {})) : module.exports).template = __vue_template__\n\t}\n\n\n/***/ }\n]);\n\n\n/** WEBPACK FOOTER **\n ** static/js/app.c741605ecce5f83a5377.js\n **/","import Vue from 'vue'\nimport App from './App.vue'\nimport store from './vuex/store'\n\nVue.config.debug = true\n\n/* eslint-disable no-new */\nnew Vue({\n el: 'body',\n store,\n components: { App }\n})\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/main.js\n **/","module.exports = [\n {value: \"AF\", label: \"Afghanistan\"},\n {value: \"AX\", label: \"Åland Islands\"},\n {value: \"AL\", label: \"Albania\"},\n {value: \"DZ\", label: \"Algeria\"},\n {value: \"AS\", label: \"American Samoa\"},\n {value: \"AD\", label: \"Andorra\"},\n {value: \"AO\", label: \"Angola\"},\n {value: \"AI\", label: \"Anguilla\"},\n {value: \"AQ\", label: \"Antarctica\"},\n {value: \"AG\", label: \"Antigua and Barbuda\"},\n {value: \"AR\", label: \"Argentina\"},\n {value: \"AM\", label: \"Armenia\"},\n {value: \"AW\", label: \"Aruba\"},\n {value: \"AU\", label: \"Australia\"},\n {value: \"AT\", label: \"Austria\"},\n {value: \"AZ\", label: \"Azerbaijan\"},\n {value: \"BS\", label: \"Bahamas\"},\n {value: \"BH\", label: \"Bahrain\"},\n {value: \"BD\", label: \"Bangladesh\"},\n {value: \"BB\", label: \"Barbados\"},\n {value: \"BY\", label: \"Belarus\"},\n {value: \"BE\", label: \"Belgium\"},\n {value: \"BZ\", label: \"Belize\"},\n {value: \"BJ\", label: \"Benin\"},\n {value: \"BM\", label: \"Bermuda\"},\n {value: \"BT\", label: \"Bhutan\"},\n {value: \"BO\", label: \"Bolivia\"},\n {value: \"BA\", label: \"Bosnia and Herzegovina\"},\n {value: \"BW\", label: \"Botswana\"},\n {value: \"BV\", label: \"Bouvet Island\"},\n {value: \"BR\", label: \"Brazil\"},\n {value: \"IO\", label: \"British Indian Ocean Territory\"},\n {value: \"BN\", label: \"Brunei Darussalam\"},\n {value: \"BG\", label: \"Bulgaria\"},\n {value: \"BF\", label: \"Burkina Faso\"},\n {value: \"BI\", label: \"Burundi\"},\n {value: \"KH\", label: \"Cambodia\"},\n {value: \"CM\", label: \"Cameroon\"},\n {value: \"CA\", label: \"Canada\"},\n {value: \"CV\", label: \"Cape Verde\"},\n {value: \"KY\", label: \"Cayman Islands\"},\n {value: \"CF\", label: \"Central African Republic\"},\n {value: \"TD\", label: \"Chad\"},\n {value: \"CL\", label: \"Chile\"},\n {value: \"CN\", label: \"China\"},\n {value: \"CX\", label: \"Christmas Island\"},\n {value: \"CC\", label: \"Cocos (Keeling) Islands\"},\n {value: \"CO\", label: \"Colombia\"},\n {value: \"KM\", label: \"Comoros\"},\n {value: \"CG\", label: \"Congo\"},\n {value: \"CD\", label: \"Congo, The Democratic Republic of The\"},\n {value: \"CK\", label: \"Cook Islands\"},\n {value: \"CR\", label: \"Costa Rica\"},\n {value: \"CI\", label: \"Cote D'ivoire\"},\n {value: \"HR\", label: \"Croatia\"},\n {value: \"CU\", label: \"Cuba\"},\n {value: \"CY\", label: \"Cyprus\"},\n {value: \"CZ\", label: \"Czech Republic\"},\n {value: \"DK\", label: \"Denmark\"},\n {value: \"DJ\", label: \"Djibouti\"},\n {value: \"DM\", label: \"Dominica\"},\n {value: \"DO\", label: \"Dominican Republic\"},\n {value: \"EC\", label: \"Ecuador\"},\n {value: \"EG\", label: \"Egypt\"},\n {value: \"SV\", label: \"El Salvador\"},\n {value: \"GQ\", label: \"Equatorial Guinea\"},\n {value: \"ER\", label: \"Eritrea\"},\n {value: \"EE\", label: \"Estonia\"},\n {value: \"ET\", label: \"Ethiopia\"},\n {value: \"FK\", label: \"Falkland Islands (Malvinas)\"},\n {value: \"FO\", label: \"Faroe Islands\"},\n {value: \"FJ\", label: \"Fiji\"},\n {value: \"FI\", label: \"Finland\"},\n {value: \"FR\", label: \"France\"},\n {value: \"GF\", label: \"French Guiana\"},\n {value: \"PF\", label: \"French Polynesia\"},\n {value: \"TF\", label: \"French Southern Territories\"},\n {value: \"GA\", label: \"Gabon\"},\n {value: \"GM\", label: \"Gambia\"},\n {value: \"GE\", label: \"Georgia\"},\n {value: \"DE\", label: \"Germany\"},\n {value: \"GH\", label: \"Ghana\"},\n {value: \"GI\", label: \"Gibraltar\"},\n {value: \"GR\", label: \"Greece\"},\n {value: \"GL\", label: \"Greenland\"},\n {value: \"GD\", label: \"Grenada\"},\n {value: \"GP\", label: \"Guadeloupe\"},\n {value: \"GU\", label: \"Guam\"},\n {value: \"GT\", label: \"Guatemala\"},\n {value: \"GG\", label: \"Guernsey\"},\n {value: \"GN\", label: \"Guinea\"},\n {value: \"GW\", label: \"Guinea-bissau\"},\n {value: \"GY\", label: \"Guyana\"},\n {value: \"HT\", label: \"Haiti\"},\n {value: \"HM\", label: \"Heard Island and Mcdonald Islands\"},\n {value: \"VA\", label: \"Holy See (Vatican City State)\"},\n {value: \"HN\", label: \"Honduras\"},\n {value: \"HK\", label: \"Hong Kong\"},\n {value: \"HU\", label: \"Hungary\"},\n {value: \"IS\", label: \"Iceland\"},\n {value: \"IN\", label: \"India\"},\n {value: \"ID\", label: \"Indonesia\"},\n {value: \"IR\", label: \"Iran, Islamic Republic of\"},\n {value: \"IQ\", label: \"Iraq\"},\n {value: \"IE\", label: \"Ireland\"},\n {value: \"IM\", label: \"Isle of Man\"},\n {value: \"IL\", label: \"Israel\"},\n {value: \"IT\", label: \"Italy\"},\n {value: \"JM\", label: \"Jamaica\"},\n {value: \"JP\", label: \"Japan\"},\n {value: \"JE\", label: \"Jersey\"},\n {value: \"JO\", label: \"Jordan\"},\n {value: \"KZ\", label: \"Kazakhstan\"},\n {value: \"KE\", label: \"Kenya\"},\n {value: \"KI\", label: \"Kiribati\"},\n {value: \"KP\", label: \"Korea, Democratic People's Republic of\"},\n {value: \"KR\", label: \"Korea, Republic of\"},\n {value: \"KW\", label: \"Kuwait\"},\n {value: \"KG\", label: \"Kyrgyzstan\"},\n {value: \"LA\", label: \"Lao People's Democratic Republic\"},\n {value: \"LV\", label: \"Latvia\"},\n {value: \"LB\", label: \"Lebanon\"},\n {value: \"LS\", label: \"Lesotho\"},\n {value: \"LR\", label: \"Liberia\"},\n {value: \"LY\", label: \"Libyan Arab Jamahiriya\"},\n {value: \"LI\", label: \"Liechtenstein\"},\n {value: \"LT\", label: \"Lithuania\"},\n {value: \"LU\", label: \"Luxembourg\"},\n {value: \"MO\", label: \"Macao\"},\n {value: \"MK\", label: \"Macedonia, The Former Yugoslav Republic of\"},\n {value: \"MG\", label: \"Madagascar\"},\n {value: \"MW\", label: \"Malawi\"},\n {value: \"MY\", label: \"Malaysia\"},\n {value: \"MV\", label: \"Maldives\"},\n {value: \"ML\", label: \"Mali\"},\n {value: \"MT\", label: \"Malta\"},\n {value: \"MH\", label: \"Marshall Islands\"},\n {value: \"MQ\", label: \"Martinique\"},\n {value: \"MR\", label: \"Mauritania\"},\n {value: \"MU\", label: \"Mauritius\"},\n {value: \"YT\", label: \"Mayotte\"},\n {value: \"MX\", label: \"Mexico\"},\n {value: \"FM\", label: \"Micronesia, Federated States of\"},\n {value: \"MD\", label: \"Moldova, Republic of\"},\n {value: \"MC\", label: \"Monaco\"},\n {value: \"MN\", label: \"Mongolia\"},\n {value: \"ME\", label: \"Montenegro\"},\n {value: \"MS\", label: \"Montserrat\"},\n {value: \"MA\", label: \"Morocco\"},\n {value: \"MZ\", label: \"Mozambique\"},\n {value: \"MM\", label: \"Myanmar\"},\n {value: \"NA\", label: \"Namibia\"},\n {value: \"NR\", label: \"Nauru\"},\n {value: \"NP\", label: \"Nepal\"},\n {value: \"NL\", label: \"Netherlands\"},\n {value: \"AN\", label: \"Netherlands Antilles\"},\n {value: \"NC\", label: \"New Caledonia\"},\n {value: \"NZ\", label: \"New Zealand\"},\n {value: \"NI\", label: \"Nicaragua\"},\n {value: \"NE\", label: \"Niger\"},\n {value: \"NG\", label: \"Nigeria\"},\n {value: \"NU\", label: \"Niue\"},\n {value: \"NF\", label: \"Norfolk Island\"},\n {value: \"MP\", label: \"Northern Mariana Islands\"},\n {value: \"NO\", label: \"Norway\"},\n {value: \"OM\", label: \"Oman\"},\n {value: \"PK\", label: \"Pakistan\"},\n {value: \"PW\", label: \"Palau\"},\n {value: \"PS\", label: \"Palestinian Territory, Occupied\"},\n {value: \"PA\", label: \"Panama\"},\n {value: \"PG\", label: \"Papua New Guinea\"},\n {value: \"PY\", label: \"Paraguay\"},\n {value: \"PE\", label: \"Peru\"},\n {value: \"PH\", label: \"Philippines\"},\n {value: \"PN\", label: \"Pitcairn\"},\n {value: \"PL\", label: \"Poland\"},\n {value: \"PT\", label: \"Portugal\"},\n {value: \"PR\", label: \"Puerto Rico\"},\n {value: \"QA\", label: \"Qatar\"},\n {value: \"RE\", label: \"Reunion\"},\n {value: \"RO\", label: \"Romania\"},\n {value: \"RU\", label: \"Russian Federation\"},\n {value: \"RW\", label: \"Rwanda\"},\n {value: \"SH\", label: \"Saint Helena\"},\n {value: \"KN\", label: \"Saint Kitts and Nevis\"},\n {value: \"LC\", label: \"Saint Lucia\"},\n {value: \"PM\", label: \"Saint Pierre and Miquelon\"},\n {value: \"VC\", label: \"Saint Vincent and The Grenadines\"},\n {value: \"WS\", label: \"Samoa\"},\n {value: \"SM\", label: \"San Marino\"},\n {value: \"ST\", label: \"Sao Tome and Principe\"},\n {value: \"SA\", label: \"Saudi Arabia\"},\n {value: \"SN\", label: \"Senegal\"},\n {value: \"RS\", label: \"Serbia\"},\n {value: \"SC\", label: \"Seychelles\"},\n {value: \"SL\", label: \"Sierra Leone\"},\n {value: \"SG\", label: \"Singapore\"},\n {value: \"SK\", label: \"Slovakia\"},\n {value: \"SI\", label: \"Slovenia\"},\n {value: \"SB\", label: \"Solomon Islands\"},\n {value: \"SO\", label: \"Somalia\"},\n {value: \"ZA\", label: \"South Africa\"},\n {value: \"GS\", label: \"South Georgia and The South Sandwich Islands\"},\n {value: \"ES\", label: \"Spain\"},\n {value: \"LK\", label: \"Sri Lanka\"},\n {value: \"SD\", label: \"Sudan\"},\n {value: \"SR\", label: \"Suriname\"},\n {value: \"SJ\", label: \"Svalbard and Jan Mayen\"},\n {value: \"SZ\", label: \"Swaziland\"},\n {value: \"SE\", label: \"Sweden\"},\n {value: \"CH\", label: \"Switzerland\"},\n {value: \"SY\", label: \"Syrian Arab Republic\"},\n {value: \"TW\", label: \"Taiwan, Province of China\"},\n {value: \"TJ\", label: \"Tajikistan\"},\n {value: \"TZ\", label: \"Tanzania, United Republic of\"},\n {value: \"TH\", label: \"Thailand\"},\n {value: \"TL\", label: \"Timor-leste\"},\n {value: \"TG\", label: \"Togo\"},\n {value: \"TK\", label: \"Tokelau\"},\n {value: \"TO\", label: \"Tonga\"},\n {value: \"TT\", label: \"Trinidad and Tobago\"},\n {value: \"TN\", label: \"Tunisia\"},\n {value: \"TR\", label: \"Turkey\"},\n {value: \"TM\", label: \"Turkmenistan\"},\n {value: \"TC\", label: \"Turks and Caicos Islands\"},\n {value: \"TV\", label: \"Tuvalu\"},\n {value: \"UG\", label: \"Uganda\"},\n {value: \"UA\", label: \"Ukraine\"},\n {value: \"AE\", label: \"United Arab Emirates\"},\n {value: \"GB\", label: \"United Kingdom\"},\n {value: \"US\", label: \"United States\"},\n {value: \"UM\", label: \"United States Minor Outlying Islands\"},\n {value: \"UY\", label: \"Uruguay\"},\n {value: \"UZ\", label: \"Uzbekistan\"},\n {value: \"VU\", label: \"Vanuatu\"},\n {value: \"VE\", label: \"Venezuela\"},\n {value: \"VN\", label: \"Viet Nam\"},\n {value: \"VG\", label: \"Virgin Islands, British\"},\n {value: \"VI\", label: \"Virgin Islands, U.S.\"},\n {value: \"WF\", label: \"Wallis and Futuna\"},\n {value: \"EH\", label: \"Western Sahara\"},\n {value: \"YE\", label: \"Yemen\"},\n {value: \"ZM\", label: \"Zambia\"},\n {value: \"ZW\", label: \"Zimbabwe\"},\n ];\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/countries/advanced.js\n **/","module.exports = [\"Afghanistan\",\"Åland Islands\",\"Albania\",\"Algeria\",\"American Samoa\",\"Andorra\",\"Angola\",\"Anguilla\",\"Antarctica\",\"Antigua and Barbuda\",\"Argentina\",\"Armenia\",\"Aruba\",\"Australia\",\"Austria\",\"Azerbaijan\",\"Bahamas\",\"Bahrain\",\"Bangladesh\",\"Barbados\",\"Belarus\",\"Belgium\",\"Belize\",\"Benin\",\"Bermuda\",\"Bhutan\",\"Bolivia\",\"Bosnia and Herzegovina\",\"Botswana\",\"Bouvet Island\",\"Brazil\",\"British Indian Ocean Territory\",\"Brunei Darussalam\",\"Bulgaria\",\"Burkina Faso\",\"Burundi\",\"Cambodia\",\"Cameroon\",\"Canada\",\"Cape Verde\",\"Cayman Islands\",\"Central African Republic\",\"Chad\",\"Chile\",\"China\",\"Christmas Island\",\"Cocos (Keeling) Islands\",\"Colombia\",\"Comoros\",\"Congo\",\"Congo, The Democratic Republic of The\",\"Cook Islands\",\"Costa Rica\",\"Cote D'ivoire\",\"Croatia\",\"Cuba\",\"Cyprus\",\"Czech Republic\",\"Denmark\",\"Djibouti\",\"Dominica\",\"Dominican Republic\",\"Ecuador\",\"Egypt\",\"El Salvador\",\"Equatorial Guinea\",\"Eritrea\",\"Estonia\",\"Ethiopia\",\"Falkland Islands (Malvinas)\",\"Faroe Islands\",\"Fiji\",\"Finland\",\"France\",\"French Guiana\",\"French Polynesia\",\"French Southern Territories\",\"Gabon\",\"Gambia\",\"Georgia\",\"Germany\",\"Ghana\",\"Gibraltar\",\"Greece\",\"Greenland\",\"Grenada\",\"Guadeloupe\",\"Guam\",\"Guatemala\",\"Guernsey\",\"Guinea\",\"Guinea-bissau\",\"Guyana\",\"Haiti\",\"Heard Island and Mcdonald Islands\",\"Holy See (Vatican City State)\",\"Honduras\",\"Hong Kong\",\"Hungary\",\"Iceland\",\"India\",\"Indonesia\",\"Iran, Islamic Republic of\",\"Iraq\",\"Ireland\",\"Isle of Man\",\"Israel\",\"Italy\",\"Jamaica\",\"Japan\",\"Jersey\",\"Jordan\",\"Kazakhstan\",\"Kenya\",\"Kiribati\",\"Korea, Democratic People's Republic of\",\"Korea, Republic of\",\"Kuwait\",\"Kyrgyzstan\",\"Lao People's Democratic Republic\",\"Latvia\",\"Lebanon\",\"Lesotho\",\"Liberia\",\"Libyan Arab Jamahiriya\",\"Liechtenstein\",\"Lithuania\",\"Luxembourg\",\"Macao\",\"Macedonia, The Former Yugoslav Republic of\",\"Madagascar\",\"Malawi\",\"Malaysia\",\"Maldives\",\"Mali\",\"Malta\",\"Marshall Islands\",\"Martinique\",\"Mauritania\",\"Mauritius\",\"Mayotte\",\"Mexico\",\"Micronesia, Federated States of\",\"Moldova, Republic of\",\"Monaco\",\"Mongolia\",\"Montenegro\",\"Montserrat\",\"Morocco\",\"Mozambique\",\"Myanmar\",\"Namibia\",\"Nauru\",\"Nepal\",\"Netherlands\",\"Netherlands Antilles\",\"New Caledonia\",\"New Zealand\",\"Nicaragua\",\"Niger\",\"Nigeria\",\"Niue\",\"Norfolk Island\",\"Northern Mariana Islands\",\"Norway\",\"Oman\",\"Pakistan\",\"Palau\",\"Palestinian Territory, Occupied\",\"Panama\",\"Papua New Guinea\",\"Paraguay\",\"Peru\",\"Philippines\",\"Pitcairn\",\"Poland\",\"Portugal\",\"Puerto Rico\",\"Qatar\",\"Reunion\",\"Romania\",\"Russian Federation\",\"Rwanda\",\"Saint Helena\",\"Saint Kitts and Nevis\",\"Saint Lucia\",\"Saint Pierre and Miquelon\",\"Saint Vincent and The Grenadines\",\"Samoa\",\"San Marino\",\"Sao Tome and Principe\",\"Saudi Arabia\",\"Senegal\",\"Serbia\",\"Seychelles\",\"Sierra Leone\",\"Singapore\",\"Slovakia\",\"Slovenia\",\"Solomon Islands\",\"Somalia\",\"South Africa\",\"South Georgia and The South Sandwich Islands\",\"Spain\",\"Sri Lanka\",\"Sudan\",\"Suriname\",\"Svalbard and Jan Mayen\",\"Swaziland\",\"Sweden\",\"Switzerland\",\"Syrian Arab Republic\",\"Taiwan, Province of China\",\"Tajikistan\",\"Tanzania, United Republic of\",\"Thailand\",\"Timor-leste\",\"Togo\",\"Tokelau\",\"Tonga\",\"Trinidad and Tobago\",\"Tunisia\",\"Turkey\",\"Turkmenistan\",\"Turks and Caicos Islands\",\"Tuvalu\",\"Uganda\",\"Ukraine\",\"United Arab Emirates\",\"United Kingdom\",\"United States\",\"United States Minor Outlying Islands\",\"Uruguay\",\"Uzbekistan\",\"Vanuatu\",\"Venezuela\",\"Viet Nam\",\"Virgin Islands, British\",\"Virgin Islands, U.S.\",\"Wallis and Futuna\",\"Western Sahara\",\"Yemen\",\"Zambia\",\"Zimbabwe\"];\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/countries/simple.js\n **/","var __vue_script__, __vue_template__\n__vue_script__ = require(\"!!babel-loader?presets[]=es2015&plugins[]=transform-runtime&comments=false!./../../node_modules/vue-loader/lib/selector.js?type=script&index=0!./Code.vue\")\n__vue_template__ = require(\"!!vue-html-loader!./../../node_modules/vue-loader/lib/selector.js?type=template&index=0!./Code.vue\")\nmodule.exports = __vue_script__ || {}\nif (module.exports.__esModule) module.exports = module.exports.default\nif (__vue_template__) {\n(typeof module.exports === \"function\" ? (module.exports.options || (module.exports.options = {})) : module.exports).template = __vue_template__\n}\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/Code.vue\n ** module id = 40\n ** module chunks = 2\n **/","var __vue_script__, __vue_template__\nrequire(\"!!./../../node_modules/extract-text-webpack-plugin/loader.js?{\\\"omit\\\":1,\\\"extract\\\":true,\\\"remove\\\":true}!vue-style-loader!css-loader?sourceMap!./../../node_modules/vue-loader/lib/style-rewriter.js!./../../node_modules/vue-loader/lib/selector.js?type=style&index=0!./Select.vue\")\n__vue_script__ = require(\"!!babel-loader?presets[]=es2015&plugins[]=transform-runtime&comments=false!./../../node_modules/vue-loader/lib/selector.js?type=script&index=0!./Select.vue\")\n__vue_template__ = require(\"!!vue-html-loader!./../../node_modules/vue-loader/lib/selector.js?type=template&index=0!./Select.vue\")\nmodule.exports = __vue_script__ || {}\nif (module.exports.__esModule) module.exports = module.exports.default\nif (__vue_template__) {\n(typeof module.exports === \"function\" ? (module.exports.options || (module.exports.options = {})) : module.exports).template = __vue_template__\n}\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/Select.vue\n ** module id = 41\n ** module chunks = 2\n **/","export const setSelected = ({ dispatch }, selected) => {\n dispatch('SET_SELECTED', selected)\n}\n\nexport const toggleOptionType = ({ dispatch }) => {\n dispatch('TOGGLE_OPTION_TYPE')\n}\n\nexport const setPlaceholder = ({ dispatch }, placeholder) => {\n dispatch('SET_PLACEHOLDER', placeholder)\n}\n\nexport const toggleMultiple = ({ dispatch }) => {\n dispatch('TOGGLE_MULTIPLE')\n}\n\n\n/** WEBPACK FOOTER **\n ** ./src/vuex/actions.js\n **/","import Vue from 'vue'\nimport Vuex from 'vuex'\n\nVue.use(Vuex)\nVue.config.debug = true\n\nconst state = {\n selected: null,\n placeholder: 'Select a Country',\n multiple: true,\n maxHeight: '400px',\n options: {\n advanced: require('../countries/advanced.js'),\n simple: require('../countries/simple.js'),\n },\n optionType: 'advanced'\n}\n\nconst mutations = {\n SET_SELECTED (state, selected) {\n state.selected = selected\n },\n\n TOGGLE_OPTION_TYPE (state) {\n if( state.optionType === 'advanced' ) {\n state.optionType = 'simple'\n } else {\n state.optionType = 'advanced'\n }\n },\n\n SET_PLACEHOLDER (state, placeholder) {\n state.placeholder = placeholder\n },\n\n TOGGLE_MULTIPLE (state) {\n state.multiple = ! state.multiple\n },\n\n SET_MAX_HEIGHT (state, maxHeight) {\n state.maxHeight = maxHeight\n }\n}\n\nexport default new Vuex.Store({\n state,\n mutations\n})\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/vuex/store.js\n **/","\n\n\n\n\n\n\n\n/** WEBPACK FOOTER **\n ** App.vue?59081a32\n **/","\n\n\n\n\n/** WEBPACK FOOTER **\n ** Code.vue?00d1630f\n **/","\n\n\n\n\n\n\n/** WEBPACK FOOTER **\n ** Install.vue?18a9a262\n **/","\n\n\n\n\n\n\n\n\n/** WEBPACK FOOTER **\n ** Select.vue?3e75e6ec\n **/","\n\n\n\n/** WEBPACK FOOTER **\n ** InstallSnippet.vue?2c2e0c21\n **/","module.exports = \"

Vue Select

\\\"Build \\\"No \\\"MIT \\\"Current

A well-tested, native Vue.js select component that provides similar functionality to Select2/Chosen without the overhead of jQuery.

  • Fully Reactive
  • Tagging Support v1.1.0
  • Works with Vuex
  • Zero dependencies
  • +90% Test Coverage
  • Select Single/Multiple
  • Typeahead Suggestions
  • Bootstrap Friendly Markup
View on GitHub
Install, Examples & Documentation
\";\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/vue-html-loader!./~/vue-loader/lib/selector.js?type=template&index=0!./src/App.vue\n ** module id = 95\n ** module chunks = 2\n **/","module.exports = \"\";\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/vue-html-loader!./~/vue-loader/lib/selector.js?type=template&index=0!./src/components/Code.vue\n ** module id = 96\n ** module chunks = 2\n **/","module.exports = \"

The resulting vue-select, and it's value: {{ install | json }}

Single Option Select

<v-select :options="countries"></v-select>

Multiple Option Select

<v-select multiple :options="countries"></v-select>

When the list of options provided by the parent changes, vue-select will react as you'd expect.

The most common use case for vue-select is being able to sync the components value with a parent component. The value property supports two-way data binding to accomplish this.

The .sync data-binding modifier is completely optional. You may use value without a two-way binding to preselect options.

Here we have preselected 'Canada' by setting syncedVal: 'Canada' on the parent component. The buttons below demonstrate how you can set the value from the parent.

Current value: {{ syncedVal | json }}

<v-select :value.sync="syncedVal" :options="countries"></v-select>

By default when the options array contains objects, vue-select looks for the label key for display. If your data source doesn't contain that key, you can set your own using the label prop.

On this page, the list of countries used in the examples contains value and label properties: {value: \\\"CA\\\", label: \\\"Canada\\\"}. In this example, we'll display the country code instead of the label.

<v-select label="value" :options="countries"></v-select>

vue-select provides an onChange property that accepts a callback function. This function is passed the currently selected value(s) as it's only parameter.

This is very useful when integrating with Vuex, as it will allow your to trigger an action to update your vuex state object. Choose a callback and see it in action.

<v-select on-change="consoleCallback" :options="countries"></v-select>
methods: {\\n  consoleCallback(val) {\\n    console.dir(JSON.stringify(val))\\n  },\\n\\n  alertCallback(val) {\\n    alert(JSON.stringify(val))\\n  }\\n}
\";\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/vue-html-loader!./~/vue-loader/lib/selector.js?type=template&index=0!./src/components/Install.vue\n ** module id = 97\n ** module chunks = 2\n **/","module.exports = \"
props: {\\n\\n  /**\\n   * Contains the currently selected value. Very similar to a\\n   * `value` attribute on an &lt;input&gt;. In most cases, you'll want\\n   * to set this as a two-way binding, using :value.sync. However,\\n   * this will not work with Vuex, in which case you'll need to use\\n   * the onChange callback property.\\n   * @type {Object||String||null}\\n   */\\n  value: {\\n    default: null\\n  },\\n\\n  /**\\n   * An array of strings or objects to be used as dropdown choices.\\n   * If you are using an array of objects, vue-select will look for\\n   * a `label` key (ex. [{label: 'This is Foo', value: 'foo'}]). A\\n   * custom label key can be set with the `label` prop.\\n   * @type {Array}\\n   */\\n  options: {\\n    type: Array,\\n    default() { return [] },\\n  },\\n\\n  /**\\n   * Enable/disable filtering the options.\\n   * @type {Boolean}\\n   */\\n  searchable: {\\n    type: Boolean,\\n    default: true\\n  },\\n\\n  /**\\n   * Equivalent to the `multiple` attribute on a `<select>` input.\\n   * @type {Boolean}\\n   */\\n  multiple: {\\n    type: Boolean,\\n    default: false\\n  },\\n\\n  /**\\n   * Equivalent to the `placeholder` attribute on an `<input>`.\\n   * @type {String}\\n   */\\n  placeholder: {\\n    type: String,\\n    default: ''\\n  },\\n\\n  /**\\n   * Sets a Vue transition property on the `.dropdown-menu`. vue-select\\n   * does not include CSS for transitions, you'll need to add them yourself.\\n   * @type {String}\\n   */\\n  transition: {\\n    type: String,\\n    default: 'expand'\\n  },\\n\\n  /**\\n   * Enables/disables clearing the search text when an option is selected.\\n   * @type {Boolean}\\n   */\\n  clearSearchOnSelect: {\\n    type: Boolean,\\n    default: true\\n  },\\n\\n  /**\\n   * Tells vue-select what key to use when generating option labels when\\n   * `option` is an object.\\n   * @type {String}\\n   */\\n  label: {\\n    type: String,\\n    default: 'label'\\n  },\\n\\n  /**\\n   * An optional callback function that is called each time the selected\\n   * value(s) change. When integrating with Vuex, use this callback to trigger\\n   * an action, rather than using :value.sync to retreive the selected value.\\n   * @type {Function}\\n   * @default {null}\\n   */\\n  onChange: Function\\n}\\n  
\";\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/vue-html-loader!./~/vue-loader/lib/selector.js?type=template&index=0!./src/components/Params.vue\n ** module id = 98\n ** module chunks = 2\n **/","module.exports = \"
{{ placeholder }} {{ getOptionLabel(option) }}
\";\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/vue-html-loader!./~/vue-loader/lib/selector.js?type=template&index=0!./src/components/Select.vue\n ** module id = 99\n ** module chunks = 2\n **/","module.exports = \"

Install from GitHub via NPM

npm install sagalbot/vue-select

To use the vue-select component in your templates, simply import it, and register it with your component.

<template>\\n  <div id="myApp">\\n    <v-select :value.sync="selected" :options="options"></v-select>\\n  </div>\\n</template>\\n<script>\\nimport vSelect from \\\"vue-select\\\"\\n  export default {\\n    components: {vSelect},\\n\\n    data() {\\n      return {\\n        selected: null,\\n        options: ['foo','bar','baz']\\n      }\\n    }\\n  }\\n</script>\\n
\";\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/vue-html-loader!./~/vue-loader/lib/selector.js?type=template&index=0!./src/components/snippets/InstallSnippet.vue\n ** module id = 100\n ** module chunks = 2\n **/","var __vue_script__, __vue_template__\nrequire(\"!!./../node_modules/extract-text-webpack-plugin/loader.js?{\\\"omit\\\":1,\\\"extract\\\":true,\\\"remove\\\":true}!vue-style-loader!css-loader?sourceMap!./../node_modules/vue-loader/lib/style-rewriter.js!sass-loader?sourceMap!./../node_modules/vue-loader/lib/selector.js?type=style&index=0!./App.vue\")\n__vue_script__ = require(\"!!babel-loader?presets[]=es2015&plugins[]=transform-runtime&comments=false!./../node_modules/vue-loader/lib/selector.js?type=script&index=0!./App.vue\")\n__vue_template__ = require(\"!!vue-html-loader!./../node_modules/vue-loader/lib/selector.js?type=template&index=0!./App.vue\")\nmodule.exports = __vue_script__ || {}\nif (module.exports.__esModule) module.exports = module.exports.default\nif (__vue_template__) {\n(typeof module.exports === \"function\" ? (module.exports.options || (module.exports.options = {})) : module.exports).template = __vue_template__\n}\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/App.vue\n ** module id = 101\n ** module chunks = 2\n **/","var __vue_script__, __vue_template__\nrequire(\"!!./../../node_modules/extract-text-webpack-plugin/loader.js?{\\\"omit\\\":1,\\\"extract\\\":true,\\\"remove\\\":true}!vue-style-loader!css-loader?sourceMap!./../../node_modules/vue-loader/lib/style-rewriter.js!./../../node_modules/vue-loader/lib/selector.js?type=style&index=0!./Install.vue\")\n__vue_script__ = require(\"!!babel-loader?presets[]=es2015&plugins[]=transform-runtime&comments=false!./../../node_modules/vue-loader/lib/selector.js?type=script&index=0!./Install.vue\")\n__vue_template__ = require(\"!!vue-html-loader!./../../node_modules/vue-loader/lib/selector.js?type=template&index=0!./Install.vue\")\nmodule.exports = __vue_script__ || {}\nif (module.exports.__esModule) module.exports = module.exports.default\nif (__vue_template__) {\n(typeof module.exports === \"function\" ? (module.exports.options || (module.exports.options = {})) : module.exports).template = __vue_template__\n}\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/Install.vue\n ** module id = 102\n ** module chunks = 2\n **/","var __vue_script__, __vue_template__\n__vue_script__ = require(\"!!babel-loader?presets[]=es2015&plugins[]=transform-runtime&comments=false!./../../node_modules/vue-loader/lib/selector.js?type=script&index=0!./Params.vue\")\n__vue_template__ = require(\"!!vue-html-loader!./../../node_modules/vue-loader/lib/selector.js?type=template&index=0!./Params.vue\")\nmodule.exports = __vue_script__ || {}\nif (module.exports.__esModule) module.exports = module.exports.default\nif (__vue_template__) {\n(typeof module.exports === \"function\" ? (module.exports.options || (module.exports.options = {})) : module.exports).template = __vue_template__\n}\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/Params.vue\n ** module id = 103\n ** module chunks = 2\n **/","var __vue_script__, __vue_template__\n__vue_script__ = require(\"!!babel-loader?presets[]=es2015&plugins[]=transform-runtime&comments=false!./../../../node_modules/vue-loader/lib/selector.js?type=script&index=0!./InstallSnippet.vue\")\n__vue_template__ = require(\"!!vue-html-loader!./../../../node_modules/vue-loader/lib/selector.js?type=template&index=0!./InstallSnippet.vue\")\nmodule.exports = __vue_script__ || {}\nif (module.exports.__esModule) module.exports = module.exports.default\nif (__vue_template__) {\n(typeof module.exports === \"function\" ? (module.exports.options || (module.exports.options = {})) : module.exports).template = __vue_template__\n}\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/components/snippets/InstallSnippet.vue\n ** module id = 104\n ** module chunks = 2\n **/"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/static/js/manifest.be963c38f589fb47deac.js b/dist/static/js/manifest.be963c38f589fb47deac.js new file mode 100644 index 0000000..eee0a8e --- /dev/null +++ b/dist/static/js/manifest.be963c38f589fb47deac.js @@ -0,0 +1,2 @@ +!function(e){function t(n){if(r[n])return r[n].exports;var a=r[n]={exports:{},id:n,loaded:!1};return e[n].call(a.exports,a,a.exports,t),a.loaded=!0,a.exports}var n=window.webpackJsonp;window.webpackJsonp=function(c,o){for(var p,s,l=0,i=[];l0?i:n)(t)}},function(t,e,n){var i=n(13);t.exports=function(t,e){if(!i(t))return t;var n,r;if(e&&"function"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;if("function"==typeof(n=t.valueOf)&&!i(r=n.call(t)))return r;if(!e&&"function"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;throw TypeError("Can't convert object to primitive value")}},function(t,e,n){var i=n(1),r=n(2),o=n(19),s=n(27),a=n(5).f;t.exports=function(t){var e=r.Symbol||(r.Symbol=o?{}:i.Symbol||{});"_"==t.charAt(0)||t in e||a(e,t,{value:s.f(t)})}},function(t,e,n){e.f=n(8)},,,function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e,n){var i=n(13),r=n(1).document,o=i(r)&&i(r.createElement);t.exports=function(t){return o?r.createElement(t):{}}},function(t,e,n){t.exports=!n(3)&&!n(9)(function(){return 7!=Object.defineProperty(n(31)("div"),"a",{get:function(){return 7}}).a})},function(t,e,n){"use strict";var i=n(19),r=n(12),o=n(38),s=n(7),a=n(4),u=n(18),c=n(71),h=n(21),l=n(78),f=n(8)("iterator"),p=!([].keys&&"next"in[].keys()),d="@@iterator",v="keys",m="values",g=function(){return this};t.exports=function(t,e,n,y,_,b,w){c(n,e,y);var C,x,k,$=function(t){if(!p&&t in j)return j[t];switch(t){case v:return function(){return new n(this,t)};case m:return function(){return new n(this,t)}}return function(){return new n(this,t)}},O=e+" Iterator",A=_==m,S=!1,j=t.prototype,E=j[f]||j[d]||_&&j[_],T=E||$(_),N=_?A?$("entries"):T:void 0,P="Array"==e?j.entries||E:E;if(P&&(k=l(P.call(new t)),k!==Object.prototype&&(h(k,O,!0),i||a(k,f)||s(k,f,g))),A&&E&&E.name!==m&&(S=!0,T=function(){return E.call(this)}),i&&!w||!p&&!S&&j[f]||s(j,f,T),u[e]=T,u[O]=g,_)if(C={values:A?T:$(m),keys:b?T:$(v),entries:N},w)for(x in C)x in j||o(j,x,C[x]);else r(r.P+r.F*(p||S),e,C);return C}},function(t,e,n){var i=n(11),r=n(75),o=n(17),s=n(22)("IE_PROTO"),a=function(){},u="prototype",c=function(){var t,e=n(31)("iframe"),i=o.length,r=">";for(e.style.display="none",n(68).appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(" - + diff --git a/karma.conf.js b/karma.conf.js deleted file mode 100644 index 9d4ebab..0000000 --- a/karma.conf.js +++ /dev/null @@ -1,20 +0,0 @@ -// https://github.com/Nikku/karma-browserify -module.exports = function (config) { - config.set({ - browsers: ['PhantomJS'], - frameworks: ['browserify', 'jasmine'], - files: ['test/unit/**/*.js'], - reporters: ['spec'], - preprocessors: { - 'test/unit/**/*.js': ['browserify'] - }, - browserify: { - debug: true, - // needed to enable mocks - plugin: [require('proxyquireify').plugin] - }, - // if you want to continuously re-run tests on file-save, - // use `autoWatch: true`, otherwise use `singleRun: true` - singleRun: true - }) -} diff --git a/package.json b/package.json index eaa23ee..0d946f0 100644 --- a/package.json +++ b/package.json @@ -3,15 +3,14 @@ "version": "1.0.5", "description": "A Vue.js project", "author": "Jeff Sagal ", - "private": true, + "private": false, "main": "src/components/Select.vue", "scripts": { - "dev": "watchify -vd -p browserify-hmr -e src/main.js -o dist/build.js & http-server -c 1 -a localhost", - "uglify": "cross-env NODE_ENV=production browserify -e src/main.js | uglifyjs -c warnings=false -m > dist/build.js", - "build": "cross-env NODE_ENV=production browserify -e src/main.js > dist/build.js", - "lint": "eslint --ext .js,.vue src test/unit", - "test": "karma start karma.conf.js", - "test-watch": "karma start karma.conf.js --single-run false --auto-watch true" + "dev": "node build/dev-server.js", + "build": "node build/build.js", + "lint": "eslint --ext .js,.vue src test/unit/specs", + "test": "karma start test/unit/karma.conf.js --single-run", + "test-watch": "karma start test/unit/karma.conf.js --single-run=false --auto-watch=true" }, "browserify": { "transform": [ @@ -27,32 +26,50 @@ "vue": "^1.0.16" }, "devDependencies": { - "vuex": "^0.6.2", "babel-core": "^6.0.0", + "babel-loader": "^6.0.0", "babel-plugin-transform-runtime": "^6.0.0", "babel-preset-es2015": "^6.0.0", "babel-preset-stage-2": "^6.0.0", - "babel-runtime": "^6.0.0", - "babelify": "^7.2.0", - "browserify": "^13.0.1", - "browserify-hmr": "^0.3.1", - "cross-env": "^1.0.5", - "eslint": "^2.9.0", - "eslint-plugin-html": "^1.1.0", - "http-server": "^0.9.0", - "jasmine-core": "^2.4.1", + "chai": "^3.5.0", + "connect-history-api-fallback": "^1.1.0", + "css-loader": "^0.23.0", + "eventsource-polyfill": "^0.9.6", + "express": "^4.13.3", + "extract-text-webpack-plugin": "^1.0.1", + "file-loader": "^0.8.4", + "function-bind": "^1.0.2", + "html-webpack-plugin": "^2.8.1", + "http-proxy-middleware": "^0.12.0", + "inject-loader": "^2.0.1", + "isparta-loader": "^2.0.0", + "json-loader": "^0.5.4", "karma": "^0.13.15", - "karma-browserify": "^5.0.5", - "karma-jasmine": "^1.0.2", + "karma-coverage": "^0.5.5", + "karma-mocha": "^0.2.2", "karma-phantomjs-launcher": "^1.0.0", - "karma-spec-reporter": "0.0.26", - "node-sass": "^3.4.2", + "karma-sinon-chai": "^1.2.0", + "karma-sourcemap-loader": "^0.3.7", + "karma-spec-reporter": "0.0.24", + "karma-webpack": "^1.7.0", + "lolex": "^1.4.0", + "mocha": "^2.4.5", + "node-sass": "^3.7.0", + "ora": "^0.2.0", "phantomjs-prebuilt": "^2.1.3", - "proxyquireify": "^3.0.1", - "uglify-js": "^2.5.0", - "vue-hot-reload-api": "^1.2.2", - "vueify": "^8.4.0", - "vueify-insert-css": "^1.0.0", - "watchify": "^3.4.0" + "sass-loader": "^3.2.0", + "shelljs": "^0.6.0", + "sinon": "^1.17.3", + "sinon-chai": "^2.8.0", + "url-loader": "^0.5.7", + "vue-hot-reload-api": "^1.2.0", + "vue-html-loader": "^1.0.0", + "vue-loader": "^8.3.0", + "vue-style-loader": "^1.0.0", + "vuex": "^0.6.3", + "webpack": "^1.12.2", + "webpack-dev-middleware": "^1.4.0", + "webpack-hot-middleware": "^2.6.0", + "webpack-merge": "^0.8.3" } } diff --git a/dist/.gitkeep b/static/.gitkeep similarity index 100% rename from dist/.gitkeep rename to static/.gitkeep diff --git a/test/unit/coverage/lcov-report/base.css b/test/unit/coverage/lcov-report/base.css new file mode 100644 index 0000000..417c7ad --- /dev/null +++ b/test/unit/coverage/lcov-report/base.css @@ -0,0 +1,212 @@ +body, html { + margin:0; padding: 0; + height: 100%; +} +body { + font-family: Helvetica Neue, Helvetica, Arial; + font-size: 14px; + color:#333; +} +.small { font-size: 12px; } +*, *:after, *:before { + -webkit-box-sizing:border-box; + -moz-box-sizing:border-box; + box-sizing:border-box; + } +h1 { font-size: 20px; margin: 0;} +h2 { font-size: 14px; } +pre { + font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace; + margin: 0; + padding: 0; + -moz-tab-size: 2; + -o-tab-size: 2; + tab-size: 2; +} +a { color:#0074D9; text-decoration:none; } +a:hover { text-decoration:underline; } +.strong { font-weight: bold; } +.space-top1 { padding: 10px 0 0 0; } +.pad2y { padding: 20px 0; } +.pad1y { padding: 10px 0; } +.pad2x { padding: 0 20px; } +.pad2 { padding: 20px; } +.pad1 { padding: 10px; } +.space-left2 { padding-left:55px; } +.space-right2 { padding-right:20px; } +.center { text-align:center; } +.clearfix { display:block; } +.clearfix:after { + content:''; + display:block; + height:0; + clear:both; + visibility:hidden; + } +.fl { float: left; } +@media only screen and (max-width:640px) { + .col3 { width:100%; max-width:100%; } + .hide-mobile { display:none!important; } +} + +.quiet { + color: #7f7f7f; + color: rgba(0,0,0,0.5); +} +.quiet a { opacity: 0.7; } + +.fraction { + font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; + font-size: 10px; + color: #555; + background: #E8E8E8; + padding: 4px 5px; + border-radius: 3px; + vertical-align: middle; +} + +div.path a:link, div.path a:visited { color: #333; } +table.coverage { + border-collapse: collapse; + margin: 10px 0 0 0; + padding: 0; +} + +table.coverage td { + margin: 0; + padding: 0; + vertical-align: top; +} +table.coverage td.line-count { + text-align: right; + padding: 0 5px 0 20px; +} +table.coverage td.line-coverage { + text-align: right; + padding-right: 10px; + min-width:20px; +} + +table.coverage td span.cline-any { + display: inline-block; + padding: 0 5px; + width: 100%; +} +.missing-if-branch { + display: inline-block; + margin-right: 5px; + border-radius: 3px; + position: relative; + padding: 0 4px; + background: #333; + color: yellow; +} + +.skip-if-branch { + display: none; + margin-right: 10px; + position: relative; + padding: 0 4px; + background: #ccc; + color: white; +} +.missing-if-branch .typ, .skip-if-branch .typ { + color: inherit !important; +} +.coverage-summary { + border-collapse: collapse; + width: 100%; +} +.coverage-summary tr { border-bottom: 1px solid #bbb; } +.keyline-all { border: 1px solid #ddd; } +.coverage-summary td, .coverage-summary th { padding: 10px; } +.coverage-summary tbody { border: 1px solid #bbb; } +.coverage-summary td { border-right: 1px solid #bbb; } +.coverage-summary td:last-child { border-right: none; } +.coverage-summary th { + text-align: left; + font-weight: normal; + white-space: nowrap; +} +.coverage-summary th.file { border-right: none !important; } +.coverage-summary th.pct { } +.coverage-summary th.pic, +.coverage-summary th.abs, +.coverage-summary td.pct, +.coverage-summary td.abs { text-align: right; } +.coverage-summary td.file { white-space: nowrap; } +.coverage-summary td.pic { min-width: 120px !important; } +.coverage-summary tfoot td { } + +.coverage-summary .sorter { + height: 10px; + width: 7px; + display: inline-block; + margin-left: 0.5em; + background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent; +} +.coverage-summary .sorted .sorter { + background-position: 0 -20px; +} +.coverage-summary .sorted-desc .sorter { + background-position: 0 -10px; +} +.status-line { height: 10px; } +/* dark red */ +.red.solid, .status-line.low, .low .cover-fill { background:#C21F39 } +.low .chart { border:1px solid #C21F39 } +/* medium red */ +.cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE } +/* light red */ +.low, .cline-no { background:#FCE1E5 } +/* light green */ +.high, .cline-yes { background:rgb(230,245,208) } +/* medium green */ +.cstat-yes { background:rgb(161,215,106) } +/* dark green */ +.status-line.high, .high .cover-fill { background:rgb(77,146,33) } +.high .chart { border:1px solid rgb(77,146,33) } + + +.medium .chart { border:1px solid #666; } +.medium .cover-fill { background: #666; } + +.cbranch-no { background: yellow !important; color: #111; } + +.cstat-skip { background: #ddd; color: #111; } +.fstat-skip { background: #ddd; color: #111 !important; } +.cbranch-skip { background: #ddd !important; color: #111; } + +span.cline-neutral { background: #eaeaea; } +.medium { background: #eaeaea; } + +.cover-fill, .cover-empty { + display:inline-block; + height: 12px; +} +.chart { + line-height: 0; +} +.cover-empty { + background: white; +} +.cover-full { + border-right: none !important; +} +pre.prettyprint { + border: none !important; + padding: 0 !important; + margin: 0 !important; +} +.com { color: #999 !important; } +.ignore-none { color: #999; font-weight: normal; } + +.wrapper { + min-height: 100%; + height: auto !important; + height: 100%; + margin: 0 auto -48px; +} +.footer, .push { + height: 48px; +} diff --git a/test/unit/coverage/lcov-report/index.html b/test/unit/coverage/lcov-report/index.html new file mode 100644 index 0000000..1aa0be1 --- /dev/null +++ b/test/unit/coverage/lcov-report/index.html @@ -0,0 +1,149 @@ + + + + Code coverage report for All files + + + + + + + +
+
+

+ / +

+
+
+ 81.52% + Statements + 150/184 +
+
+ 81.95% + Branches + 109/133 +
+
+ 56.86% + Functions + 29/51 +
+
+ 78.87% + Lines + 112/142 +
+
+ 4 branches + Ignored      +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
src/
64.71%11/17100%4/414.29%1/745.45%5/11
src/components/
89.76%114/12781.51%97/11978.79%26/3387.5%91/104
src/components/snippets/
100%6/6100%4/4100%1/1100%2/2
src/countries/
100%2/2100%0/0100%0/0100%2/2
src/vuex/
53.13%17/3266.67%4/610%1/1052.17%12/23
+
+
+ + + + + + + diff --git a/test/unit/coverage/lcov-report/prettify.css b/test/unit/coverage/lcov-report/prettify.css new file mode 100644 index 0000000..b317a7c --- /dev/null +++ b/test/unit/coverage/lcov-report/prettify.css @@ -0,0 +1 @@ +.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} diff --git a/test/unit/coverage/lcov-report/prettify.js b/test/unit/coverage/lcov-report/prettify.js new file mode 100644 index 0000000..ef51e03 --- /dev/null +++ b/test/unit/coverage/lcov-report/prettify.js @@ -0,0 +1 @@ +window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;arat[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]); diff --git a/test/unit/coverage/lcov-report/sort-arrow-sprite.png b/test/unit/coverage/lcov-report/sort-arrow-sprite.png new file mode 100644 index 0000000..03f704a Binary files /dev/null and b/test/unit/coverage/lcov-report/sort-arrow-sprite.png differ diff --git a/test/unit/coverage/lcov-report/sorter.js b/test/unit/coverage/lcov-report/sorter.js new file mode 100644 index 0000000..6c5034e --- /dev/null +++ b/test/unit/coverage/lcov-report/sorter.js @@ -0,0 +1,158 @@ +var addSorting = (function () { + "use strict"; + var cols, + currentSort = { + index: 0, + desc: false + }; + + // returns the summary table element + function getTable() { return document.querySelector('.coverage-summary'); } + // returns the thead element of the summary table + function getTableHeader() { return getTable().querySelector('thead tr'); } + // returns the tbody element of the summary table + function getTableBody() { return getTable().querySelector('tbody'); } + // returns the th element for nth column + function getNthColumn(n) { return getTableHeader().querySelectorAll('th')[n]; } + + // loads all columns + function loadColumns() { + var colNodes = getTableHeader().querySelectorAll('th'), + colNode, + cols = [], + col, + i; + + for (i = 0; i < colNodes.length; i += 1) { + colNode = colNodes[i]; + col = { + key: colNode.getAttribute('data-col'), + sortable: !colNode.getAttribute('data-nosort'), + type: colNode.getAttribute('data-type') || 'string' + }; + cols.push(col); + if (col.sortable) { + col.defaultDescSort = col.type === 'number'; + colNode.innerHTML = colNode.innerHTML + ''; + } + } + return cols; + } + // attaches a data attribute to every tr element with an object + // of data values keyed by column name + function loadRowData(tableRow) { + var tableCols = tableRow.querySelectorAll('td'), + colNode, + col, + data = {}, + i, + val; + for (i = 0; i < tableCols.length; i += 1) { + colNode = tableCols[i]; + col = cols[i]; + val = colNode.getAttribute('data-value'); + if (col.type === 'number') { + val = Number(val); + } + data[col.key] = val; + } + return data; + } + // loads all row data + function loadData() { + var rows = getTableBody().querySelectorAll('tr'), + i; + + for (i = 0; i < rows.length; i += 1) { + rows[i].data = loadRowData(rows[i]); + } + } + // sorts the table using the data for the ith column + function sortByIndex(index, desc) { + var key = cols[index].key, + sorter = function (a, b) { + a = a.data[key]; + b = b.data[key]; + return a < b ? -1 : a > b ? 1 : 0; + }, + finalSorter = sorter, + tableBody = document.querySelector('.coverage-summary tbody'), + rowNodes = tableBody.querySelectorAll('tr'), + rows = [], + i; + + if (desc) { + finalSorter = function (a, b) { + return -1 * sorter(a, b); + }; + } + + for (i = 0; i < rowNodes.length; i += 1) { + rows.push(rowNodes[i]); + tableBody.removeChild(rowNodes[i]); + } + + rows.sort(finalSorter); + + for (i = 0; i < rows.length; i += 1) { + tableBody.appendChild(rows[i]); + } + } + // removes sort indicators for current column being sorted + function removeSortIndicators() { + var col = getNthColumn(currentSort.index), + cls = col.className; + + cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, ''); + col.className = cls; + } + // adds sort indicators for current column being sorted + function addSortIndicators() { + getNthColumn(currentSort.index).className += currentSort.desc ? ' sorted-desc' : ' sorted'; + } + // adds event listeners for all sorter widgets + function enableUI() { + var i, + el, + ithSorter = function ithSorter(i) { + var col = cols[i]; + + return function () { + var desc = col.defaultDescSort; + + if (currentSort.index === i) { + desc = !currentSort.desc; + } + sortByIndex(i, desc); + removeSortIndicators(); + currentSort.index = i; + currentSort.desc = desc; + addSortIndicators(); + }; + }; + for (i =0 ; i < cols.length; i += 1) { + if (cols[i].sortable) { + // add the click event handler on the th so users + // dont have to click on those tiny arrows + el = getNthColumn(i).querySelector('.sorter').parentElement; + if (el.addEventListener) { + el.addEventListener('click', ithSorter(i)); + } else { + el.attachEvent('onclick', ithSorter(i)); + } + } + } + } + // adds sorting functionality to the UI + return function () { + if (!getTable()) { + return; + } + cols = loadColumns(); + loadData(cols); + addSortIndicators(); + enableUI(); + }; +})(); + +window.addEventListener('load', addSorting); diff --git a/test/unit/coverage/lcov-report/src/App.vue.html b/test/unit/coverage/lcov-report/src/App.vue.html new file mode 100644 index 0000000..53de8a3 --- /dev/null +++ b/test/unit/coverage/lcov-report/src/App.vue.html @@ -0,0 +1,744 @@ + + + + Code coverage report for src/App.vue + + + + + + + +
+
+

+ all files / src/ App.vue +

+
+
+ 64.71% + Statements + 11/17 +
+
+ 100% + Branches + 4/4 +
+
+ 14.29% + Functions + 1/7 +
+
+ 45.45% + Lines + 5/11 +
+
+ 1 branch + Ignored      +
+
+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + + + + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
// <style lang="scss">
+//
+//   @import 'variables.scss';
+//
+//   body {
+//     font-family: 'Source Sans Pro', 'Helvetica Neue', Arial, sans-serif;
+//     -webkit-font-smoothing: antialiased;
+//     -moz-osx-font-smoothing: grayscale;
+//   }
+//
+//   .jumbotron-top {
+//     background: $blue;
+//     background: linear-gradient(45deg, rgba(76,195,217,0) 0%,rgba(152,227,234,1) 100%);
+//     margin-bottom: 0;
+//     min-height: 100vh;
+//     position: relative;
+//     .container {
+//         position: absolute;
+//         height: 600px;
+//         left: 0;
+//         right: 0;
+//         top: 50%;
+//         -webkit-transform: translateY(-50%);
+//         transform: translateY(-50%);
+//         text-align: center;
+//     }
+//   }
+//
+//   h1 {
+//     display: inline-block;
+//     font-family: 'Dosis', 'Source Sans Pro', 'Helvetica Neue', Arial, sans-serif;
+//     font-weight: 300;
+//     line-height: 1;
+//     padding-right: 80px;
+//     background-position: center right;
+//     background-repeat: no-repeat;
+//     background-size: 55px auto;
+//     background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OTk2QkI4RkE3NjE2MTFFNUE4NEU4RkIxNjQ5MTYyRDgiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OTk2QkI4Rjk3NjE2MTFFNUE4NEU4RkIxNjQ5MTYyRDgiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjU2QTEyNzk3NjkyMTFFMzkxODk4RDkwQkY4Q0U0NzYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjU2QTEyN0E3NjkyMTFFMzkxODk4RDkwQkY4Q0U0NzYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5WHowqAAAXNElEQVR42uxda4xd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);
+//   }
+//
+//   .list-vue {
+//     text-align: left;
+//     margin: 20px auto;
+//     padding: 0;
+//   }
+//
+//   p.lead {
+//     font-size: 1.8em;
+//     margin: 1em 0;
+//   }
+//
+//   .btn-outline {
+//     background: none;
+//     padding: 10px 16px;
+//     font-size: 18px;
+//     line-height: 1.3333333;
+//     border-radius: 6px;
+//     border: 3px solid #91ddec;
+//     color: #147688;
+//
+//     &:hover {
+//       border-color: rgb(65, 184, 131);
+//       background-color: rgba(65, 184, 131, 0.67);
+//     }
+//     &:active,
+//     &:focus {
+//       border-color: rgb(65, 184, 131);
+//       background-color: rgba(65, 184, 131, 1);
+//     }
+//   }
+//
+//   .down-arrow {
+//     position: absolute;
+//     bottom: 10px;
+//     width: 100%;
+//     text-align: center;
+//     color: rgba(0,0,0,.5);
+//     font-size: 1.6em;
+//     i {
+//       font-size: .7em;
+//       opacity: .4;
+//     }
+//   }
+//
+//   /* Cyan theme */
+//   #v-select {
+//     max-width: 500px;
+//     margin: 0 auto;
+//     .dropdown-toggle {
+//       background: #fff;
+//       border-color: rgba(82, 166, 183, 0.39);
+//     }
+//     .selected-tag {
+//       color: #147688;
+//       background-color: #d7f3f9;
+//       border-color: #91ddec;
+//       .close {
+//         color: #147688;
+//         opacity: .5;
+//       }
+//     }
+//     &.dropdown.open .dropdown-toggle,
+//     &.dropdown.open .dropdown-menu,
+//     &.dropdown.open .open-indicator:before {
+//       border-color: #4CC3D9;
+//     }
+//     .active a {
+//       background: rgba(50,50,50,.1);
+//       color: #333;
+//     }
+//     &.dropdown .highlight a,
+//     &.dropdown li:hover a {
+//       background: #4CC3D9;
+//       color: #fff;
+//     }
+//   }
+//
+//   .selected-tag .close {
+//     font-family: "Helvetica Neue", "Helvetica";
+//     font-weight: 400;
+//   }
+// </style>
+//
+// <template>
+//   <div class="jumbotron jumbotron-top">
+//     <div class="container">
+//       <div class="col-md-8 col-md-offset-2">
+//
+//         <h1>Vue Select</h1>
+//
+//         <p class="accolades lead">
+//           <img src="https://img.shields.io/travis/sagalbot/vue-select.svg?style=flat-square" alt="Build Status">
+//           <img src="https://img.shields.io/badge/dependencies-none-brightgreen.svg?style=flat-square" alt="No Dependencies">
+//           <img src="https://img.shields.io/github/license/sagalbot/vue-select.svg?style=flat-square" alt="MIT License">
+//           <img src="https://img.shields.io/github/release/sagalbot/vue-select.svg?style=flat-square" alt="Current Release">
+//         </p>
+//
+//         <p class="lead">A well-tested, native Vue.js select component that provides similar functionality to Select2/Chosen without the overhead of jQuery.</p>
+//
+//         <v-select
+//           id="v-select"
+//           taggable
+//           :placeholder="placeholder"
+//           :value="selected"
+//           :options="options"
+//           :multiple="multiple"
+//           :on-change="setSelected"
+//         >
+//         </v-select>
+//
+//         <div class="row">
+//           <div class="col-md-3 col-md-offset-3">
+//             <ul class="list-vue">
+//               <li>Fully Reactive</li>
+//               <li>Tagging Support <small>v1.1.0</small></li>
+//               <li>Works with Vuex</li>
+//               <li>Zero dependencies</li>
+//             </ul>
+//           </div>
+//           <div class="col-md-3">
+//             <ul class="list-vue">
+//               <li>+90% Test Coverage</li>
+//               <li>Select Single/Multiple</li>
+//               <li>Typeahead Suggestions</li>
+//               <li>Bootstrap Friendly Markup</li>
+//             </ul>
+//           </div>
+//         </div>
+//
+//         <a class="btn btn-primary btn-outline" href="https://github.com/sagalbot/vue-select"><span class="octicon octicon-mark-github"></span> View on GitHub</a>
+//       </div>
+//     </div>
+//     <a href="#install" class="down-arrow">
+//       Install, Examples &amp; Documentation
+//       <i role="presentation" class="glyphicon glyphicon-chevron-down"></i>
+//     </a>
+//   </div>
+//
+//   <div class="container">
+//     <div class="col-md-10 col-md-offset-1">
+//       <install></install>
+//       <params></params>
+//     </div>
+//   </div>
+// </template>
+//
+// <script type="text/babel">
+import Install from './components/Install.vue'
+import Params from './components/Params.vue'
+import vSelect from './components/Select.vue'
+import { setSelected, toggleMultiple, setPlaceholder, toggleOptionType } from './vuex/actions'
+ 
+export default {
+  components: { Params, Install, vSelect },
+ 
+  vuex: {
+      getters: {
+        placeholder (store) {
+          return store.placeholder
+        },
+        selected (store) {
+          return store.selected
+        },
+        type (store) {
+          return store.optionType
+        },
+        options (store) {
+          return store.options[store.optionType]
+        },
+        multiple (store) {
+          return store.multiple
+        }
+      },
+      actions: { setSelected, toggleMultiple, setPlaceholder, toggleOptionType }
+    },
+    methods: {
+      onPlaceholderChange ( e ) {
+        this.setPlaceholder( e.target.value )
+      }
+    }
+}
+// </script>
+ 
+/* generated by vue-loader */
+ 
+ 
+
+
+ + + + + + + diff --git a/test/unit/coverage/lcov-report/src/components/Code.vue.html b/test/unit/coverage/lcov-report/src/components/Code.vue.html new file mode 100644 index 0000000..5d6535c --- /dev/null +++ b/test/unit/coverage/lcov-report/src/components/Code.vue.html @@ -0,0 +1,113 @@ + + + + Code coverage report for src/components/Code.vue + + + + + + + +
+
+

+ all files / src/components/ Code.vue +

+
+
+ 66.67% + Statements + 2/3 +
+
+ 100% + Branches + 0/0 +
+
+ 0% + Functions + 0/1 +
+
+ 50% + Lines + 1/2 +
+
+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
// <template>
+// <code :class="class"><slot></slot></code>
+// </template>
+//
+// <script type="text/babel">
+export default {
+  props: ['lang'],
+  computed: {
+    class () {
+      return `language-${this.lang}`
+    }
+  }
+}
+// </script>
+/* generated by vue-loader */
+ 
+ 
+
+
+ + + + + + + diff --git a/test/unit/coverage/lcov-report/src/components/Install.vue.html b/test/unit/coverage/lcov-report/src/components/Install.vue.html new file mode 100644 index 0000000..a6c1a70 --- /dev/null +++ b/test/unit/coverage/lcov-report/src/components/Install.vue.html @@ -0,0 +1,599 @@ + + + + Code coverage report for src/components/Install.vue + + + + + + + +
+
+

+ all files / src/components/ Install.vue +

+
+
+ 72.73% + Statements + 16/22 +
+
+ 66.67% + Branches + 4/6 +
+
+ 20% + Functions + 1/5 +
+
+ 50% + Lines + 6/12 +
+
+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + + + + + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
// <template>
+// <section>
+//   <h2 class="page-header" id="install">Install &amp; and Usage</h2>
+//   <div class="row row-col-vh">
+//     <div class="col-md-7">
+//       <install-snippet></install-snippet>
+//     </div>
+//
+//     <div class="col-md-5">
+//         <p>The resulting vue-select, and it's value: <v-code lang="json">{{ install | json }}</v-code></p>
+//         <v-select :value.sync="install" :options="['foo','bar','baz']"></v-select>
+//     </div>
+//   </div>
+//
+//   <h2 class="page-header" id="examples">Examples</h2>
+//
+//   <h3 class="page-header">Single/Multiple Selection</h3>
+//   <div class="row">
+//     <div class="col-md-6">
+//       <h4>Single Option Select</h4>
+//       <pre><v-code lang="markup">&#x3C;v-select :options=&#x22;countries&#x22;&#x3E;&#x3C;/v-select&#x3E;</v-code></pre>
+//       <v-select :options="countries"></v-select>
+//     </div>
+//
+//     <div class="col-md-6">
+//       <h4>Multiple Option Select</h4>
+//       <pre><v-code lang="markup">&#x3C;v-select multiple :options=&#x22;countries&#x22;&#x3E;&#x3C;/v-select&#x3E;</v-code></pre>
+//       <v-select multiple :options="countries"></v-select>
+//     </div>
+//   </div>
+//
+//   <h3 class="page-header">Reactive Options</h3>
+//
+//   <div class="row">
+//     <div class="col-md-6">
+//         <p>When the list of options provided by the parent changes, vue-select will react as you'd expect.</p>
+//         <div style="margin-top:0;" class="radio">
+//         <label>
+//           <input type="radio" name="reactive-options" v-model="reactive" :value="countries">
+//           <v-code lang="markup">&#x3C;v-select :options=&#x22;countries&#x22;&#x3E;&#x3C;/v-select&#x3E;</v-code>
+//         </label>
+//       </div>
+//
+//       <div class="radio">
+//         <label>
+//           <input type="radio" name="reactive-options" v-model="reactive" :value="['foo','bar','baz']">
+//           <v-code lang="markup">&#x3C;v-select options=&#x22;['foo','bar','baz']&#x22;&#x3E;&#x3C;/v-select&#x3E;</v-code>
+//         </label>
+//       </div>
+//     </div>
+//
+//     <div class="col-md-6">
+//       <v-select :options="reactive"></v-select>
+//     </div>
+//   </div>
+//
+//   <h3 class="page-header">Two-Way Value Syncing</h3>
+//   <div class="row">
+//     <div class="col-md-6">
+//       <p>The most common use case for vue-select is being able to sync the components value with a parent component. The <code>value</code> property supports two-way data binding to accomplish this.</p>
+//       <p>The <code>.sync</code> data-binding modifier is completely optional. You may use <code>value</code> without a two-way binding to preselect options.</p>
+//       <p>Here we have preselected 'Canada' by setting <code>syncedVal: 'Canada'</code> on the parent component. The buttons below demonstrate how you can set the <code>value</code> from the parent.</p>
+//
+//       <p>Current value: <v-code>{{ syncedVal | json }}</v-code></p>
+//     </div>
+//
+//     <div class="col-md-6">
+//       <div class="form-group">
+//         <pre><v-code lang="markup">&#x3C;v-select :value.sync=&#x22;syncedVal&#x22; :options=&#x22;countries&#x22;&#x3E;&#x3C;/v-select&#x3E;</v-code></pre>
+//       </div>
+//       <div class="form-group">
+//       <v-select :options="simple" :value.sync="syncedVal"></v-select>
+//       </div>
+//
+//       <div class="form-group">
+//       <button @click="syncedVal = 'United States'" class="btn btn-default">Set to United States</button>
+//       <button @click="syncedVal = 'Canada'" class="btn btn-default">Set to Canada</button>
+//       </div>
+//     </div>
+//   </div>
+//
+//   <h3 class="page-header">Custom Labels</h3>
+//   <div class="row">
+//     <div class="col-md-6">
+//       <p>By default when the <code>options</code> array contains objects, <code>vue-select</code> looks for the <code>label</code> key for display. If your data source doesn't contain that key, you can set your own using the <code>label</code> prop.</p>
+//       <p>On this page, the list of countries used in the examples contains <code>value</code> and <code>label</code> properties: <v-code lang="json">{value: "CA", label: "Canada"}</v-code>. In this example, we'll display the country code instead of the label.</p>
+//     </div>
+//
+//     <div class="col-md-6">
+//       <pre><v-code lang="markup">&#x3C;v-select label=&#x22;value&#x22; :options=&#x22;countries&#x22;&#x3E;&#x3C;/v-select&#x3E;</v-code></pre>
+//       <v-select :options="countries" label="value"></v-select>
+//     </div>
+//   </div>
+//
+//   <h3 class="page-header">On-Change Callback <small>Vuex Compatibility</small></h3>
+//   <div class="row">
+//     <div class="col-md-6">
+//       <p>vue-select provides an <code>onChange</code> property that accepts a callback function. This function is passed the currently selected value(s) as it's only parameter.</p>
+//       <p>This is very useful when integrating with Vuex, as it will allow your to trigger an action to update your vuex state object. Choose a callback and see it in action.</p>
+//
+//       <div class="form-inline">
+//         <div class="radio">
+//           <label>
+//             <input type="radio" v-model="callback" value="console"> <code>console.log(val)</code>
+//           </label>
+//         </div>
+//
+//         <div class="radio">
+//           <label>
+//             <input type="radio" v-model="callback" value="alert"> <code>alert(val)</code>
+//           </label>
+//         </div>
+//       </div>
+//     </div>
+//
+//     <div class="col-md-6">
+//       <pre><v-code lang="markup">&#x3C;v-select on-change=&#x22;consoleCallback&#x22; :options=&#x22;countries&#x22;&#x3E;&#x3C;/v-select&#x3E;</v-code></pre>
+//       <pre><v-code lang="javascript">methods: {
+//   consoleCallback(val) {
+//     console.dir(JSON.stringify(val))
+//   },
+//
+//   alertCallback(val) {
+//     alert(JSON.stringify(val))
+//   }
+// }</v-code></pre>
+//       <v-select :options="countries" :on-change="getCallback"></v-select>
+//     </div>
+//   </div>
+// </section>
+// </template>
+//
+// <style type="scss">
+//
+// </style>
+//
+// <script>
+import countries from '../countries/advanced'
+import simple from '../countries/simple'
+import vSelect from './Select.vue'
+import vCode from './Code.vue'
+import InstallSnippet from './snippets/InstallSnippet.vue'
+export default {
+  components: {vSelect,vCode,InstallSnippet},
+  data () {
+    return {
+      countries,
+      simple,
+      callback: 'console',
+      reactive: null,
+      install: null,
+      syncedVal: 'Canada'
+    }
+  },
+ 
+  methods: {
+    consoleCallback(val) {
+      console.dir(JSON.stringify(val))
+    },
+ 
+    alertCallback(val) {
+      alert(JSON.stringify(val))
+    }
+  },
+ 
+  computed: {
+    getCallback() {
+      if( this.callback === 'alert' ) {
+        return this.alertCallback
+      }
+ 
+      return this.consoleCallback
+    }
+  }
+}
+// </script>
+/* generated by vue-loader */
+ 
+ 
+
+
+ + + + + + + diff --git a/test/unit/coverage/lcov-report/src/components/Params.vue.html b/test/unit/coverage/lcov-report/src/components/Params.vue.html new file mode 100644 index 0000000..3c1a647 --- /dev/null +++ b/test/unit/coverage/lcov-report/src/components/Params.vue.html @@ -0,0 +1,368 @@ + + + + Code coverage report for src/components/Params.vue + + + + + + + +
+
+

+ all files / src/components/ Params.vue +

+
+
+ 100% + Statements + 2/2 +
+
+ 100% + Branches + 0/0 +
+
+ 100% + Functions + 0/0 +
+
+ 100% + Lines + 1/1 +
+
+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
// <template>
+//   <h2 class="page-header">Parameters</h2>
+//   <pre v-pre><code class="language-javascript">props: {
+//
+//     /**
+//      * Contains the currently selected value. Very similar to a
+//      * `value` attribute on an &amp;lt;input&amp;gt;. In most cases, you'll want
+//      * to set this as a two-way binding, using :value.sync. However,
+//      * this will not work with Vuex, in which case you'll need to use
+//      * the onChange callback property.
+//      * @type {Object||String||null}
+//      */
+//     value: {
+//       default: null
+//     },
+//
+//     /**
+//      * An array of strings or objects to be used as dropdown choices.
+//      * If you are using an array of objects, vue-select will look for
+//      * a `label` key (ex. [{label: 'This is Foo', value: 'foo'}]). A
+//      * custom label key can be set with the `label` prop.
+//      * @type {Array}
+//      */
+//     options: {
+//       type: Array,
+//       default() { return [] },
+//     },
+//
+//     /**
+//      * Enable/disable filtering the options.
+//      * @type {Boolean}
+//      */
+//     searchable: {
+//       type: Boolean,
+//       default: true
+//     },
+//
+//     /**
+//      * Equivalent to the `multiple` attribute on a `&lt;select&gt;` input.
+//      * @type {Boolean}
+//      */
+//     multiple: {
+//       type: Boolean,
+//       default: false
+//     },
+//
+//     /**
+//      * Equivalent to the `placeholder` attribute on an `&lt;input&gt;`.
+//      * @type {String}
+//      */
+//     placeholder: {
+//       type: String,
+//       default: ''
+//     },
+//
+//     /**
+//      * Sets a Vue transition property on the `.dropdown-menu`. vue-select
+//      * does not include CSS for transitions, you'll need to add them yourself.
+//      * @type {String}
+//      */
+//     transition: {
+//       type: String,
+//       default: 'expand'
+//     },
+//
+//     /**
+//      * Enables/disables clearing the search text when an option is selected.
+//      * @type {Boolean}
+//      */
+//     clearSearchOnSelect: {
+//       type: Boolean,
+//       default: true
+//     },
+//
+//     /**
+//      * Tells vue-select what key to use when generating option labels when
+//      * `option` is an object.
+//      * @type {String}
+//      */
+//     label: {
+//       type: String,
+//       default: 'label'
+//     },
+//
+//     /**
+//      * An optional callback function that is called each time the selected
+//      * value(s) change. When integrating with Vuex, use this callback to trigger
+//      * an action, rather than using :value.sync to retreive the selected value.
+//      * @type {Function}
+//      * @default {null}
+//      */
+//     onChange: Function
+//   }
+//     </code></pre>
+// </template>
+//
+// <script>
+export default {}
+// </script>
+/* generated by vue-loader */
+ 
+ 
+
+
+ + + + + + + diff --git a/test/unit/coverage/lcov-report/src/components/Select.vue.html b/test/unit/coverage/lcov-report/src/components/Select.vue.html new file mode 100644 index 0000000..a239a81 --- /dev/null +++ b/test/unit/coverage/lcov-report/src/components/Select.vue.html @@ -0,0 +1,1890 @@ + + + + Code coverage report for src/components/Select.vue + + + + + + + +
+
+

+ all files / src/components/ Select.vue +

+
+
+ 94% + Statements + 94/100 +
+
+ 82.3% + Branches + 93/113 +
+
+ 92.59% + Functions + 25/27 +
+
+ 93.26% + Lines + 83/89 +
+
+ 1 branch + Ignored      +
+
+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +480 +481 +482 +483 +484 +485 +486 +487 +488 +489 +490 +491 +492 +493 +494 +495 +496 +497 +498 +499 +500 +501 +502 +503 +504 +505 +506 +507 +508 +509 +510 +511 +512 +513 +514 +515 +516 +517 +518 +519 +520 +521 +522 +523 +524 +525 +526 +527 +528 +529 +530 +531 +532 +533 +534 +535 +536 +537 +538 +539 +540 +541 +542 +543 +544 +545 +546 +547 +548 +549 +550 +551 +552 +553 +554 +555 +556 +557 +558 +559 +560 +561 +562 +563 +564 +565 +566 +567 +568 +569 +570 +571 +572 +573 +574 +575 +576 +577 +578 +579 +580 +581 +582 +583 +584 +585 +586 +587 +588 +589 +590 +591 +592 +593 +594 +595 +596 +597 +598 +599 +600 +601 +602 +603 +604 +605 +606 +607 +608  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + + +  + +  +  +  +  +  +31× +  +  +  +  +  +  +  +  +17× +  +  + + +  +  +  + +  +  +12× +  +  +  +  +  +  +  +  +  +  +  + + + +  + + +  +  +  + +  + + +  + +  +  +  + +  +  + + +  +  +  + +  +  +  +  +  +  +  +  + + + +  +  + + +  +  +  +  +  +  +  +  +  + + +  +  + + +  +  +  +  +  +  +  +  +  +159× +159× +72× +72× +84× + +83× +21× +  +  +72× +  +  +87× +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +113× +37× +32× +  +  +81× +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  + + + + +  +  + + +  +  +  +  +  +  +  +  +  + +  +  + +  +  +  +  +  +  +  +  +  + + +  +  +  +  +  +  +  +  +  +  +19× +19× +  +19× +36× + +33× + +  +  +  +19× +  +  +  +  +  +  +  +  +  +  +35× +  +  +  +  +  +  +  +  +  +  +  +48× + +  +  +  +  +  +  +  +  +  +  +  +  +48× +48× + +  +48× +  +  +  +  +  +  +  +53× +38× +33× +  + +  +  +15× +  +  +  +  +  +  +  +50× +25× +25× +12× +  +  +13× +  +  +  +  +  +  +  +  + 
// <style>
+//   .v-select.dropdown {
+//     position: relative;
+//   }
+//
+//   .v-select .open-indicator {
+//     position: absolute;
+//     bottom: 6px;
+//     right: 10px;
+//     display: inline-block;
+//     cursor: pointer;
+//     pointer-events: all;
+//     transition: all 150ms cubic-bezier(1.000, -0.115, 0.975, 0.855);
+//     transition-timing-function: cubic-bezier(1.000, -0.115, 0.975, 0.855);
+//   }
+//
+//   .v-select .open-indicator:before {
+//     border-color:  rgba(60,60,60,.5);
+//     border-style: solid;
+//     border-width: 0.25em 0.25em 0 0;
+//     content: '';
+//     display: inline-block;
+//     height: 10px;
+//     width: 10px;
+//     vertical-align: top;
+//     transform: rotate(133deg);
+//     transition: all 150ms cubic-bezier(1.000, -0.115, 0.975, 0.855);
+//     transition-timing-function: cubic-bezier(1.000, -0.115, 0.975, 0.855);
+//   }
+//
+//   .v-select.open .open-indicator {
+//     bottom: 1px;
+//   }
+//
+//   .v-select.open .open-indicator:before {
+//     transform: rotate(315deg);
+//   }
+//
+//   .v-select .dropdown-toggle {
+//     display: block;
+//     padding: 0;
+//     background: none;
+//     border: 1px solid rgba(60,60,60,.26);
+//     border-radius: 4px;
+//     white-space: normal;
+//   }
+//
+//   .v-select.searchable .dropdown-toggle {
+//     cursor: text;
+//   }
+//
+//   .v-select.open .dropdown-toggle {
+//     border-bottom: none;
+//     border-bottom-left-radius: 0;
+//     border-bottom-right-radius: 0;
+//   }
+//
+//   .v-select > .dropdown-menu {
+//     margin: 0;
+//     width: 100%;
+//     overflow-y: auto;
+//     border-top: none;
+//     border-top-left-radius: 0;
+//     border-top-right-radius: 0;
+//   }
+//
+//   .v-select .selected-tag {
+//     color: #333;
+//     background-color: #f0f0f0;
+//     border: 1px solid #ccc;
+//     border-radius: 4px;
+//     height: 26px;
+//     margin: 4px 1px 0px 3px;
+//     padding: 0 0.25em;
+//     float: left;
+//     line-height: 1.7em;
+//   }
+//
+//   .v-select .selected-tag .close {
+//     float: none;
+//     margin-right: 0;
+//     font-size: 20px;
+//   }
+//
+//   .v-select input[type=search],
+//   .v-select input[type=search]:focus {
+//     display: inline-block;
+//     border: none;
+//     outline: none;
+//     margin: 0;
+//     padding: 0 .5em;
+//     width: 10em;
+//     max-width: 100%;
+//     background: none;
+//     position: relative;
+//     box-shadow: none;
+//     float: left;
+//     clear: none;
+//   }
+//
+//   .v-select input[type=search]:disabled {
+//     cursor: pointer;
+//   }
+//
+//   .v-select li a {
+//     cursor: pointer;
+//   }
+//
+//   .v-select .active a {
+//     background: rgba(50,50,50,.1);
+//     color: #333;
+//   }
+//
+//   .v-select .highlight a,
+//   .v-select li:hover > a {
+//     background: #f0f0f0;
+//     color: #333;
+//   }
+// </style>
+//
+// <template>
+//   <div class="dropdown v-select" :class="dropdownClasses">
+//     <div v-el:toggle @mousedown.prevent="toggleDropdown" class="dropdown-toggle clearfix" type="button">
+//         <span class="form-control" v-if="!searchable && isValueEmpty">
+//           {{ placeholder }}
+//         </span>
+//
+//         <span class="selected-tag" v-for="option in valueAsArray">
+//           {{ getOptionLabel(option) }}
+//           <button v-if="multiple" @click="select(option)" type="button" class="close">
+//             <span aria-hidden="true">&times;</span>
+//           </button>
+//         </span>
+//
+//       <input
+//               v-el:search
+//               v-show="searchable"
+//               v-model="search"
+//               @keydown.delete="maybeDeleteValue"
+//               @keyup.esc="onEscape"
+//               @keyup.up.prevent="typeAheadUp"
+//               @keyup.down.prevent="typeAheadDown"
+//               @keyup.enter.prevent="typeAheadSelect"
+//               @blur="open = false"
+//               @focus="open = true"
+//               type="search"
+//               class="form-control"
+//               :placeholder="searchPlaceholder"
+//               :style="{ width: isValueEmpty ? '100%' : 'auto' }"
+//       >
+//
+//       <i v-el:open-indicator role="presentation" class="open-indicator"></i>
+//     </div>
+//
+//     <ul v-show="open" v-el:dropdown-menu :transition="transition" :style="{ 'max-height': maxHeight }" class="dropdown-menu animated">
+//       <li v-for="option in filteredOptions" track-by="$index" :class="{ active: isOptionSelected(option), highlight: $index === typeAheadPointer }" @mouseover="typeAheadPointer = $index">
+//         <a @mousedown.prevent="select(option)">
+//           {{ getOptionLabel(option) }}
+//         </a>
+//       </li>
+//       <li transition="fade" v-if="!filteredOptions.length" class="divider"></li>
+//       <li transition="fade" v-if="!filteredOptions.length" class="text-center">
+//         <slot name="no-options">Sorry, no matching options.</slot>
+//       </li>
+//     </ul>
+//   </div>
+// </template>
+//
+//
+// <script type="text/babel">
+export default {
+  props: {
+    /**
+     * Contains the currently selected value. Very similar to a
+     * `value` attribute on an <input>. In most cases, you'll want
+     * to set this as a two-way binding, using :value.sync. However,
+     * this will not work with Vuex, in which case you'll need to use
+     * the onChange callback property.
+     * @type {Object||String||null}
+     */
+    value: {
+      default: null
+    },
+ 
+    /**
+     * An array of strings or objects to be used as dropdown choices.
+     * If you are using an array of objects, vue-select will look for
+     * a `label` key (ex. [{label: 'This is Foo', value: 'foo'}]). A
+     * custom label key can be set with the `label` prop.
+     * @type {Object}
+     */
+    options: {
+      type: Array,
+      default() { return [] },
+    },
+ 
+    /**
+     * Sets the max-height property on the dropdown list.
+     * @deprecated
+     * @type {String}
+     */
+    maxHeight: {
+      type: String,
+      default: '400px'
+    },
+ 
+    /**
+     * Enable/disable filtering the options.
+     * @type {Boolean}
+     */
+    searchable: {
+      type: Boolean,
+      default: true
+    },
+ 
+    /**
+     * Equivalent to the `multiple` attribute on a `<select>` input.
+     * @type {Object}
+     */
+    multiple: {
+      type: Boolean,
+      default: false
+    },
+ 
+    /**
+     * Equivalent to the `placeholder` attribute on an `<input>`.
+     * @type {Object}
+     */
+    placeholder: {
+      type: String,
+      default: ''
+    },
+ 
+    /**
+     * Sets a Vue transition property on the `.dropdown-menu`. vue-select
+     * does not include CSS for transitions, you'll need to add them yourself.
+     * @type {String}
+     */
+    transition: {
+      type: String,
+      default: 'expand'
+    },
+ 
+    /**
+     * Enables/disables clearing the search text when an option is selected.
+     * @type {Boolean}
+     */
+    clearSearchOnSelect: {
+      type: Boolean,
+      default: true
+    },
+ 
+    /**
+     * Tells vue-select what key to use when generating option
+     * labels when each `option` is an object.
+     * @type {String}
+     */
+    label: {
+      type: String,
+      default: 'label'
+    },
+ 
+    /**
+     * An optional callback function that is called each time the selected
+     * value(s) change. When integrating with Vuex, use this callback to trigger
+     * an action, rather than using :value.sync to retreive the selected value.
+     * @type {Function}
+     * @default {null}
+     */
+    onChange: Function,
+ 
+    /**
+     * Enable/disable creating options from searchInput.
+     * @type {Boolean}
+     */
+    taggable: {
+      type: Boolean,
+      default: false
+    },
+ 
+    /**
+     * When true, newly created tags will be added to
+     * the options list.
+     * @type {Boolean}
+     */
+    pushTags: {
+      type: Boolean,
+      default: false
+    },
+ 
+    /**
+     * User defined function for adding Options
+     * @type {Function}
+     */
+    createOption: {
+      type: Function,
+      default: function (newOption) {
+        if (typeof this.options[0] === 'object') {
+          return {[this.label]: newOption}
+        }
+        return newOption
+      }
+    }
+  },
+ 
+  data() {
+    return {
+      search: '',
+      open: false,
+      typeAheadPointer: -1,
+    }
+  },
+ 
+  watch: {
+    value(val, old) {
+      this.onChange && val !== old ? this.onChange(val) : null
+    },
+    options() {
+      if (!this.taggable) {
+        this.$set('value', this.multiple ? [] : null)
+      }
+    },
+    multiple( val ) {
+      this.$set('value', val ? [] : null)
+    },
+    filteredOptions() {
+      this.typeAheadPointer = 0
+    },
+  },
+ 
+  methods: {
+ 
+    /**
+     * Select a given option.
+     * @param  {Object||String} option
+     * @return {void}
+     */
+    select(option) {
+      if (!this.isOptionSelected(option)) {
+        if (this.taggable && !this.optionExists(option)) {
+          option = this.createOption(option)
+ 
+          if( this.pushTags ) {
+            this.options.push(option)
+          }
+        }
+ 
+        if (this.multiple) {
+ 
+          if (!this.value) {
+            this.$set('value', [option])
+          } else {
+            this.value.push(option)
+          }
+ 
+        } else {
+          this.value = option
+        }
+      } else {
+        Eif (this.multiple) {
+          this.value.$remove(option)
+        }
+      }
+ 
+      this.onAfterSelect(option)
+    },
+ 
+    /**
+     * Called from this.select after each selection.
+     * @param  {Object||String} option
+     * @return {void}
+     */
+    onAfterSelect(option) {
+      if (!this.multiple) {
+        this.open = !this.open
+        this.$els.search.blur()
+      }
+ 
+      Eif( this.clearSearchOnSelect ) {
+        this.search = ''
+      }
+    },
+ 
+    /**
+     * Toggle the visibility of the dropdown menu.
+     * @param  {Event} e
+     * @return {void}
+     */
+    toggleDropdown(e) {
+      Eif( e.target === this.$els.openIndicator || e.target === this.$els.search || e.target === this.$els.toggle || e.target === this.$el ) {
+        Iif( this.open ) {
+          this.$els.search.blur() // dropdown will close on blur
+        } else {
+          this.open = true
+          this.$els.search.focus()
+        }
+      }
+    },
+ 
+    /**
+     * Check if the given option is currently selected.
+     * @param  {Object||String}  option
+     * @return {Boolean}         True when selected || False otherwise
+     */
+    isOptionSelected( option ) {
+      if( this.multiple && this.value ) {
+        let selected = false
+        this.value.forEach(opt => {
+          if( typeof opt === 'object' && opt[this.label] === option ) {
+            selected = true
+          } else if( opt === option ) {
+            selected = true
+          }
+        })
+        return selected
+      }
+ 
+      return this.value === option
+    },
+ 
+    /**
+     * If the selected option has option['value'] return it.
+     * Otherwise, return the entire option.
+     * @param  {Object||String} option
+     * @return {Object||String}
+     * @deprecated will be removed in 1.0.8
+     */
+     getOptionValue( option ) {
+       if( typeof option === 'object' && option.value ) {
+         return option.value;
+       }
+ 
+       return option;
+     },
+ 
+    /**
+     * Generate the option label text. If {option}
+     * is an object, return option[this.label].
+     *
+     * @param  {Object || String} option
+     * @return {String}
+     */
+    getOptionLabel( option ) {
+      if( typeof option === 'object' ) {
+        if( this.label && option[this.label] ) {
+          return option[this.label]
+        }
+      }
+      return option;
+    },
+ 
+    /**
+     * Move the typeAheadPointer visually up the list by
+     * subtracting the current index by one.
+     * @return {void}
+     */
+    typeAheadUp() {
+      Eif (this.typeAheadPointer > 0) this.typeAheadPointer--
+    },
+ 
+    /**
+     * Move the typeAheadPointer visually down the list by
+     * adding the current index by one.
+     * @return {void}
+     */
+    typeAheadDown() {
+      if (this.typeAheadPointer < this.filteredOptions.length - 1) this.typeAheadPointer++
+    },
+ 
+    /**
+     * Select the option at the current typeAheadPointer position.
+     * Optionally clear the search input on selection.
+     * @return {void}
+     */
+    typeAheadSelect() {
+      if( this.filteredOptions[ this.typeAheadPointer ] ) {
+        this.select( this.filteredOptions[ this.typeAheadPointer ] );
+      } else Eif (this.taggable && this.search.length){
+        this.select(this.search)
+      }
+ 
+      Eif( this.clearSearchOnSelect ) {
+        this.search = "";
+      }
+    },
+ 
+    /**
+     * If there is any text in the search input, remove it.
+     * Otherwise, blur the search input to close the dropdown.
+     * @return {[type]} [description]
+     */
+    onEscape() {
+      Iif( ! this.search.length ) {
+        this.$els.search.blur()
+      } else {
+        this.search = ''
+      }
+    },
+ 
+    /**
+     * Delete the value on Delete keypress when there is no
+     * text in the search input, & there's tags to delete
+     * @return {this.value}
+     */
+    maybeDeleteValue() {
+      Eif( ! this.$els.search.value.length && this.value ) {
+        return this.multiple ? this.value.pop() : this.$set('value', null)
+      }
+    },
+ 
+    /**
+     * Determine if an option exists
+     * within this.options array.
+     *
+     * @param  {Object || String} option
+     * @return {boolean}
+     */
+    optionExists(option) {
+      let exists = false
+ 
+      this.options.forEach(opt => {
+        if( typeof opt === 'object' && opt[this.label] === option ) {
+          exists = true
+        } else if( opt === option ) {
+          exists = true
+        }
+      })
+ 
+      return exists
+    }
+  },
+ 
+  computed: {
+ 
+    /**
+     * Classes to be output on .dropdown
+     * @return {Object}
+     */
+    dropdownClasses() {
+      return {
+        open: this.open,
+        searchable: this.searchable
+      }
+    },
+ 
+    /**
+     * Return the placeholder string if it's set
+     * & there is no value selected.
+     * @return {String} Placeholder text
+     */
+    searchPlaceholder() {
+      if( this.isValueEmpty && this.placeholder ) {
+        return this.placeholder;
+      }
+    },
+ 
+    /**
+     * The currently displayed options, filtered
+     * by the search elements value. If tagging
+     * true, the search text will be prepended
+     * if it doesn't already exist.
+     *
+     * @return {array}
+     */
+    filteredOptions() {
+      let options = this.$options.filters.filterBy(this.options, this.search)
+      if (this.taggable && this.search.length && !this.optionExists(this.search)) {
+        options.unshift(this.search)
+      }
+      return options
+    },
+ 
+    /**
+     * Check if there aren't any options selected.
+     * @return {Boolean}
+     */
+    isValueEmpty() {
+      if( this.value ) {
+        if( typeof this.value === 'object' ) {
+          return ! Object.keys(this.value).length
+        }
+        return ! this.value.length
+      }
+ 
+      return true;
+    },
+ 
+    /**
+     * Return the current value in array format.
+     * @return {Array}
+     */
+    valueAsArray() {
+      if( this.multiple ) {
+        return this.value
+      } else if (this.value) {
+        return [this.value]
+      }
+ 
+      return []
+    }
+  }
+ 
+}
+// </script>
+ 
+/* generated by vue-loader */
+ 
+ 
+
+
+ + + + + + + diff --git a/test/unit/coverage/lcov-report/src/components/index.html b/test/unit/coverage/lcov-report/src/components/index.html new file mode 100644 index 0000000..fcbe36f --- /dev/null +++ b/test/unit/coverage/lcov-report/src/components/index.html @@ -0,0 +1,136 @@ + + + + Code coverage report for src/components/ + + + + + + + +
+
+

+ all files src/components/ +

+
+
+ 89.76% + Statements + 114/127 +
+
+ 81.51% + Branches + 97/119 +
+
+ 78.79% + Functions + 26/33 +
+
+ 87.5% + Lines + 91/104 +
+
+ 1 branch + Ignored      +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
Code.vue
66.67%2/3100%0/00%0/150%1/2
Install.vue
72.73%16/2266.67%4/620%1/550%6/12
Params.vue
100%2/2100%0/0100%0/0100%1/1
Select.vue
94%94/10082.3%93/11392.59%25/2793.26%83/89
+
+
+ + + + + + + diff --git a/test/unit/coverage/lcov-report/src/components/snippets/InstallSnippet.vue.html b/test/unit/coverage/lcov-report/src/components/snippets/InstallSnippet.vue.html new file mode 100644 index 0000000..2d0a9a6 --- /dev/null +++ b/test/unit/coverage/lcov-report/src/components/snippets/InstallSnippet.vue.html @@ -0,0 +1,168 @@ + + + + Code coverage report for src/components/snippets/InstallSnippet.vue + + + + + + + +
+
+

+ all files / src/components/snippets/ InstallSnippet.vue +

+
+
+ 100% + Statements + 6/6 +
+
+ 100% + Branches + 4/4 +
+
+ 100% + Functions + 1/1 +
+
+ 100% + Lines + 2/2 +
+
+ 1 branch + Ignored      +
+
+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  + 
// <template>
+// <p>Install from GitHub via NPM</p>
+//       <pre><v-code lang="bash">npm install sagalbot/vue-select</v-code></pre>
+//
+//       <p>To use the vue-select component in your templates, simply import it, and register it with your component.</p>
+// <pre><v-code lang="markup">&#x3C;template&#x3E;
+//   &#x3C;div id=&#x22;myApp&#x22;&#x3E;
+//     &#x3C;v-select :value.sync=&#x22;selected&#x22; :options=&#x22;options&#x22;&#x3E;&#x3C;/v-select&#x3E;
+//   &#x3C;/div&#x3E;
+// &#x3C;/template&#x3E;
+// &#x3C;script&#x3E;</v-code>
+// <v-code lang="javascript">import vSelect from "vue-select"
+//   export default {
+//     components: {vSelect},
+//
+//     data() {
+//       return {
+//         selected: null,
+//         options: ['foo','bar','baz']
+//       }
+//     }
+//   }
+// &#x3C;/script&#x3E;</v-code>
+// </pre>
+// </template>
+// <script type="text/babel">
+import vCode from '../Code.vue'
+export default {
+  components: {vCode}
+}
+// </script>
+/* generated by vue-loader */
+ 
+ 
+
+
+ + + + + + + diff --git a/test/unit/coverage/lcov-report/src/components/snippets/index.html b/test/unit/coverage/lcov-report/src/components/snippets/index.html new file mode 100644 index 0000000..fadb8db --- /dev/null +++ b/test/unit/coverage/lcov-report/src/components/snippets/index.html @@ -0,0 +1,97 @@ + + + + Code coverage report for src/components/snippets/ + + + + + + + +
+
+

+ all files src/components/snippets/ +

+
+
+ 100% + Statements + 6/6 +
+
+ 100% + Branches + 4/4 +
+
+ 100% + Functions + 1/1 +
+
+ 100% + Lines + 2/2 +
+
+ 1 branch + Ignored      +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
InstallSnippet.vue
100%6/6100%4/4100%1/1100%2/2
+
+
+ + + + + + + diff --git a/test/unit/coverage/lcov-report/src/countries/advanced.js.html b/test/unit/coverage/lcov-report/src/countries/advanced.js.html new file mode 100644 index 0000000..5a6a02e --- /dev/null +++ b/test/unit/coverage/lcov-report/src/countries/advanced.js.html @@ -0,0 +1,806 @@ + + + + Code coverage report for src/countries/advanced.js + + + + + + + +
+
+

+ all files / src/countries/ advanced.js +

+
+
+ 100% + Statements + 1/1 +
+
+ 100% + Branches + 0/0 +
+
+ 100% + Functions + 0/0 +
+
+ 100% + Lines + 1/1 +
+
+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
module.exports = [
+              {value: "AF", label: "Afghanistan"},
+              {value: "AX", label: "Åland Islands"},
+              {value: "AL", label: "Albania"},
+              {value: "DZ", label: "Algeria"},
+              {value: "AS", label: "American Samoa"},
+              {value: "AD", label: "Andorra"},
+              {value: "AO", label: "Angola"},
+              {value: "AI", label: "Anguilla"},
+              {value: "AQ", label: "Antarctica"},
+              {value: "AG", label: "Antigua and Barbuda"},
+              {value: "AR", label: "Argentina"},
+              {value: "AM", label: "Armenia"},
+              {value: "AW", label: "Aruba"},
+              {value: "AU", label: "Australia"},
+              {value: "AT", label: "Austria"},
+              {value: "AZ", label: "Azerbaijan"},
+              {value: "BS", label: "Bahamas"},
+              {value: "BH", label: "Bahrain"},
+              {value: "BD", label: "Bangladesh"},
+              {value: "BB", label: "Barbados"},
+              {value: "BY", label: "Belarus"},
+              {value: "BE", label: "Belgium"},
+              {value: "BZ", label: "Belize"},
+              {value: "BJ", label: "Benin"},
+              {value: "BM", label: "Bermuda"},
+              {value: "BT", label: "Bhutan"},
+              {value: "BO", label: "Bolivia"},
+              {value: "BA", label: "Bosnia and Herzegovina"},
+              {value: "BW", label: "Botswana"},
+              {value: "BV", label: "Bouvet Island"},
+              {value: "BR", label: "Brazil"},
+              {value: "IO", label: "British Indian Ocean Territory"},
+              {value: "BN", label: "Brunei Darussalam"},
+              {value: "BG", label: "Bulgaria"},
+              {value: "BF", label: "Burkina Faso"},
+              {value: "BI", label: "Burundi"},
+              {value: "KH", label: "Cambodia"},
+              {value: "CM", label: "Cameroon"},
+              {value: "CA", label: "Canada"},
+              {value: "CV", label: "Cape Verde"},
+              {value: "KY", label: "Cayman Islands"},
+              {value: "CF", label: "Central African Republic"},
+              {value: "TD", label: "Chad"},
+              {value: "CL", label: "Chile"},
+              {value: "CN", label: "China"},
+              {value: "CX", label: "Christmas Island"},
+              {value: "CC", label: "Cocos (Keeling) Islands"},
+              {value: "CO", label: "Colombia"},
+              {value: "KM", label: "Comoros"},
+              {value: "CG", label: "Congo"},
+              {value: "CD", label: "Congo, The Democratic Republic of The"},
+              {value: "CK", label: "Cook Islands"},
+              {value: "CR", label: "Costa Rica"},
+              {value: "CI", label: "Cote D'ivoire"},
+              {value: "HR", label: "Croatia"},
+              {value: "CU", label: "Cuba"},
+              {value: "CY", label: "Cyprus"},
+              {value: "CZ", label: "Czech Republic"},
+              {value: "DK", label: "Denmark"},
+              {value: "DJ", label: "Djibouti"},
+              {value: "DM", label: "Dominica"},
+              {value: "DO", label: "Dominican Republic"},
+              {value: "EC", label: "Ecuador"},
+              {value: "EG", label: "Egypt"},
+              {value: "SV", label: "El Salvador"},
+              {value: "GQ", label: "Equatorial Guinea"},
+              {value: "ER", label: "Eritrea"},
+              {value: "EE", label: "Estonia"},
+              {value: "ET", label: "Ethiopia"},
+              {value: "FK", label: "Falkland Islands (Malvinas)"},
+              {value: "FO", label: "Faroe Islands"},
+              {value: "FJ", label: "Fiji"},
+              {value: "FI", label: "Finland"},
+              {value: "FR", label: "France"},
+              {value: "GF", label: "French Guiana"},
+              {value: "PF", label: "French Polynesia"},
+              {value: "TF", label: "French Southern Territories"},
+              {value: "GA", label: "Gabon"},
+              {value: "GM", label: "Gambia"},
+              {value: "GE", label: "Georgia"},
+              {value: "DE", label: "Germany"},
+              {value: "GH", label: "Ghana"},
+              {value: "GI", label: "Gibraltar"},
+              {value: "GR", label: "Greece"},
+              {value: "GL", label: "Greenland"},
+              {value: "GD", label: "Grenada"},
+              {value: "GP", label: "Guadeloupe"},
+              {value: "GU", label: "Guam"},
+              {value: "GT", label: "Guatemala"},
+              {value: "GG", label: "Guernsey"},
+              {value: "GN", label: "Guinea"},
+              {value: "GW", label: "Guinea-bissau"},
+              {value: "GY", label: "Guyana"},
+              {value: "HT", label: "Haiti"},
+              {value: "HM", label: "Heard Island and Mcdonald Islands"},
+              {value: "VA", label: "Holy See (Vatican City State)"},
+              {value: "HN", label: "Honduras"},
+              {value: "HK", label: "Hong Kong"},
+              {value: "HU", label: "Hungary"},
+              {value: "IS", label: "Iceland"},
+              {value: "IN", label: "India"},
+              {value: "ID", label: "Indonesia"},
+              {value: "IR", label: "Iran, Islamic Republic of"},
+              {value: "IQ", label: "Iraq"},
+              {value: "IE", label: "Ireland"},
+              {value: "IM", label: "Isle of Man"},
+              {value: "IL", label: "Israel"},
+              {value: "IT", label: "Italy"},
+              {value: "JM", label: "Jamaica"},
+              {value: "JP", label: "Japan"},
+              {value: "JE", label: "Jersey"},
+              {value: "JO", label: "Jordan"},
+              {value: "KZ", label: "Kazakhstan"},
+              {value: "KE", label: "Kenya"},
+              {value: "KI", label: "Kiribati"},
+              {value: "KP", label: "Korea, Democratic People's Republic of"},
+              {value: "KR", label: "Korea, Republic of"},
+              {value: "KW", label: "Kuwait"},
+              {value: "KG", label: "Kyrgyzstan"},
+              {value: "LA", label: "Lao People's Democratic Republic"},
+              {value: "LV", label: "Latvia"},
+              {value: "LB", label: "Lebanon"},
+              {value: "LS", label: "Lesotho"},
+              {value: "LR", label: "Liberia"},
+              {value: "LY", label: "Libyan Arab Jamahiriya"},
+              {value: "LI", label: "Liechtenstein"},
+              {value: "LT", label: "Lithuania"},
+              {value: "LU", label: "Luxembourg"},
+              {value: "MO", label: "Macao"},
+              {value: "MK", label: "Macedonia, The Former Yugoslav Republic of"},
+              {value: "MG", label: "Madagascar"},
+              {value: "MW", label: "Malawi"},
+              {value: "MY", label: "Malaysia"},
+              {value: "MV", label: "Maldives"},
+              {value: "ML", label: "Mali"},
+              {value: "MT", label: "Malta"},
+              {value: "MH", label: "Marshall Islands"},
+              {value: "MQ", label: "Martinique"},
+              {value: "MR", label: "Mauritania"},
+              {value: "MU", label: "Mauritius"},
+              {value: "YT", label: "Mayotte"},
+              {value: "MX", label: "Mexico"},
+              {value: "FM", label: "Micronesia, Federated States of"},
+              {value: "MD", label: "Moldova, Republic of"},
+              {value: "MC", label: "Monaco"},
+              {value: "MN", label: "Mongolia"},
+              {value: "ME", label: "Montenegro"},
+              {value: "MS", label: "Montserrat"},
+              {value: "MA", label: "Morocco"},
+              {value: "MZ", label: "Mozambique"},
+              {value: "MM", label: "Myanmar"},
+              {value: "NA", label: "Namibia"},
+              {value: "NR", label: "Nauru"},
+              {value: "NP", label: "Nepal"},
+              {value: "NL", label: "Netherlands"},
+              {value: "AN", label: "Netherlands Antilles"},
+              {value: "NC", label: "New Caledonia"},
+              {value: "NZ", label: "New Zealand"},
+              {value: "NI", label: "Nicaragua"},
+              {value: "NE", label: "Niger"},
+              {value: "NG", label: "Nigeria"},
+              {value: "NU", label: "Niue"},
+              {value: "NF", label: "Norfolk Island"},
+              {value: "MP", label: "Northern Mariana Islands"},
+              {value: "NO", label: "Norway"},
+              {value: "OM", label: "Oman"},
+              {value: "PK", label: "Pakistan"},
+              {value: "PW", label: "Palau"},
+              {value: "PS", label: "Palestinian Territory, Occupied"},
+              {value: "PA", label: "Panama"},
+              {value: "PG", label: "Papua New Guinea"},
+              {value: "PY", label: "Paraguay"},
+              {value: "PE", label: "Peru"},
+              {value: "PH", label: "Philippines"},
+              {value: "PN", label: "Pitcairn"},
+              {value: "PL", label: "Poland"},
+              {value: "PT", label: "Portugal"},
+              {value: "PR", label: "Puerto Rico"},
+              {value: "QA", label: "Qatar"},
+              {value: "RE", label: "Reunion"},
+              {value: "RO", label: "Romania"},
+              {value: "RU", label: "Russian Federation"},
+              {value: "RW", label: "Rwanda"},
+              {value: "SH", label: "Saint Helena"},
+              {value: "KN", label: "Saint Kitts and Nevis"},
+              {value: "LC", label: "Saint Lucia"},
+              {value: "PM", label: "Saint Pierre and Miquelon"},
+              {value: "VC", label: "Saint Vincent and The Grenadines"},
+              {value: "WS", label: "Samoa"},
+              {value: "SM", label: "San Marino"},
+              {value: "ST", label: "Sao Tome and Principe"},
+              {value: "SA", label: "Saudi Arabia"},
+              {value: "SN", label: "Senegal"},
+              {value: "RS", label: "Serbia"},
+              {value: "SC", label: "Seychelles"},
+              {value: "SL", label: "Sierra Leone"},
+              {value: "SG", label: "Singapore"},
+              {value: "SK", label: "Slovakia"},
+              {value: "SI", label: "Slovenia"},
+              {value: "SB", label: "Solomon Islands"},
+              {value: "SO", label: "Somalia"},
+              {value: "ZA", label: "South Africa"},
+              {value: "GS", label: "South Georgia and The South Sandwich Islands"},
+              {value: "ES", label: "Spain"},
+              {value: "LK", label: "Sri Lanka"},
+              {value: "SD", label: "Sudan"},
+              {value: "SR", label: "Suriname"},
+              {value: "SJ", label: "Svalbard and Jan Mayen"},
+              {value: "SZ", label: "Swaziland"},
+              {value: "SE", label: "Sweden"},
+              {value: "CH", label: "Switzerland"},
+              {value: "SY", label: "Syrian Arab Republic"},
+              {value: "TW", label: "Taiwan, Province of China"},
+              {value: "TJ", label: "Tajikistan"},
+              {value: "TZ", label: "Tanzania, United Republic of"},
+              {value: "TH", label: "Thailand"},
+              {value: "TL", label: "Timor-leste"},
+              {value: "TG", label: "Togo"},
+              {value: "TK", label: "Tokelau"},
+              {value: "TO", label: "Tonga"},
+              {value: "TT", label: "Trinidad and Tobago"},
+              {value: "TN", label: "Tunisia"},
+              {value: "TR", label: "Turkey"},
+              {value: "TM", label: "Turkmenistan"},
+              {value: "TC", label: "Turks and Caicos Islands"},
+              {value: "TV", label: "Tuvalu"},
+              {value: "UG", label: "Uganda"},
+              {value: "UA", label: "Ukraine"},
+              {value: "AE", label: "United Arab Emirates"},
+              {value: "GB", label: "United Kingdom"},
+              {value: "US", label: "United States"},
+              {value: "UM", label: "United States Minor Outlying Islands"},
+              {value: "UY", label: "Uruguay"},
+              {value: "UZ", label: "Uzbekistan"},
+              {value: "VU", label: "Vanuatu"},
+              {value: "VE", label: "Venezuela"},
+              {value: "VN", label: "Viet Nam"},
+              {value: "VG", label: "Virgin Islands, British"},
+              {value: "VI", label: "Virgin Islands, U.S."},
+              {value: "WF", label: "Wallis and Futuna"},
+              {value: "EH", label: "Western Sahara"},
+              {value: "YE", label: "Yemen"},
+              {value: "ZM", label: "Zambia"},
+              {value: "ZW", label: "Zimbabwe"},
+          ];
+ 
+ 
+
+
+ + + + + + + diff --git a/test/unit/coverage/lcov-report/src/countries/index.html b/test/unit/coverage/lcov-report/src/countries/index.html new file mode 100644 index 0000000..5a70e49 --- /dev/null +++ b/test/unit/coverage/lcov-report/src/countries/index.html @@ -0,0 +1,106 @@ + + + + Code coverage report for src/countries/ + + + + + + + +
+
+

+ all files src/countries/ +

+
+
+ 100% + Statements + 2/2 +
+
+ 100% + Branches + 0/0 +
+
+ 100% + Functions + 0/0 +
+
+ 100% + Lines + 2/2 +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
advanced.js
100%1/1100%0/0100%0/0100%1/1
simple.js
100%1/1100%0/0100%0/0100%1/1
+
+
+ + + + + + + diff --git a/test/unit/coverage/lcov-report/src/countries/simple.js.html b/test/unit/coverage/lcov-report/src/countries/simple.js.html new file mode 100644 index 0000000..94edc54 --- /dev/null +++ b/test/unit/coverage/lcov-report/src/countries/simple.js.html @@ -0,0 +1,71 @@ + + + + Code coverage report for src/countries/simple.js + + + + + + + +
+
+

+ all files / src/countries/ simple.js +

+
+
+ 100% + Statements + 1/1 +
+
+ 100% + Branches + 0/0 +
+
+ 100% + Functions + 0/0 +
+
+ 100% + Lines + 1/1 +
+
+
+
+

+
+
1 +2 +3 +  + 
module.exports = ["Afghanistan","Åland Islands","Albania","Algeria","American Samoa","Andorra","Angola","Anguilla","Antarctica","Antigua and Barbuda","Argentina","Armenia","Aruba","Australia","Austria","Azerbaijan","Bahamas","Bahrain","Bangladesh","Barbados","Belarus","Belgium","Belize","Benin","Bermuda","Bhutan","Bolivia","Bosnia and Herzegovina","Botswana","Bouvet Island","Brazil","British Indian Ocean Territory","Brunei Darussalam","Bulgaria","Burkina Faso","Burundi","Cambodia","Cameroon","Canada","Cape Verde","Cayman Islands","Central African Republic","Chad","Chile","China","Christmas Island","Cocos (Keeling) Islands","Colombia","Comoros","Congo","Congo, The Democratic Republic of The","Cook Islands","Costa Rica","Cote D'ivoire","Croatia","Cuba","Cyprus","Czech Republic","Denmark","Djibouti","Dominica","Dominican Republic","Ecuador","Egypt","El Salvador","Equatorial Guinea","Eritrea","Estonia","Ethiopia","Falkland Islands (Malvinas)","Faroe Islands","Fiji","Finland","France","French Guiana","French Polynesia","French Southern Territories","Gabon","Gambia","Georgia","Germany","Ghana","Gibraltar","Greece","Greenland","Grenada","Guadeloupe","Guam","Guatemala","Guernsey","Guinea","Guinea-bissau","Guyana","Haiti","Heard Island and Mcdonald Islands","Holy See (Vatican City State)","Honduras","Hong Kong","Hungary","Iceland","India","Indonesia","Iran, Islamic Republic of","Iraq","Ireland","Isle of Man","Israel","Italy","Jamaica","Japan","Jersey","Jordan","Kazakhstan","Kenya","Kiribati","Korea, Democratic People's Republic of","Korea, Republic of","Kuwait","Kyrgyzstan","Lao People's Democratic Republic","Latvia","Lebanon","Lesotho","Liberia","Libyan Arab Jamahiriya","Liechtenstein","Lithuania","Luxembourg","Macao","Macedonia, The Former Yugoslav Republic of","Madagascar","Malawi","Malaysia","Maldives","Mali","Malta","Marshall Islands","Martinique","Mauritania","Mauritius","Mayotte","Mexico","Micronesia, Federated States of","Moldova, Republic of","Monaco","Mongolia","Montenegro","Montserrat","Morocco","Mozambique","Myanmar","Namibia","Nauru","Nepal","Netherlands","Netherlands Antilles","New Caledonia","New Zealand","Nicaragua","Niger","Nigeria","Niue","Norfolk Island","Northern Mariana Islands","Norway","Oman","Pakistan","Palau","Palestinian Territory, Occupied","Panama","Papua New Guinea","Paraguay","Peru","Philippines","Pitcairn","Poland","Portugal","Puerto Rico","Qatar","Reunion","Romania","Russian Federation","Rwanda","Saint Helena","Saint Kitts and Nevis","Saint Lucia","Saint Pierre and Miquelon","Saint Vincent and The Grenadines","Samoa","San Marino","Sao Tome and Principe","Saudi Arabia","Senegal","Serbia","Seychelles","Sierra Leone","Singapore","Slovakia","Slovenia","Solomon Islands","Somalia","South Africa","South Georgia and The South Sandwich Islands","Spain","Sri Lanka","Sudan","Suriname","Svalbard and Jan Mayen","Swaziland","Sweden","Switzerland","Syrian Arab Republic","Taiwan, Province of China","Tajikistan","Tanzania, United Republic of","Thailand","Timor-leste","Togo","Tokelau","Tonga","Trinidad and Tobago","Tunisia","Turkey","Turkmenistan","Turks and Caicos Islands","Tuvalu","Uganda","Ukraine","United Arab Emirates","United Kingdom","United States","United States Minor Outlying Islands","Uruguay","Uzbekistan","Vanuatu","Venezuela","Viet Nam","Virgin Islands, British","Virgin Islands, U.S.","Wallis and Futuna","Western Sahara","Yemen","Zambia","Zimbabwe"];
+ 
+ 
+
+
+ + + + + + + diff --git a/test/unit/coverage/lcov-report/src/index.html b/test/unit/coverage/lcov-report/src/index.html new file mode 100644 index 0000000..c8df92b --- /dev/null +++ b/test/unit/coverage/lcov-report/src/index.html @@ -0,0 +1,97 @@ + + + + Code coverage report for src/ + + + + + + + +
+
+

+ all files src/ +

+
+
+ 64.71% + Statements + 11/17 +
+
+ 100% + Branches + 4/4 +
+
+ 14.29% + Functions + 1/7 +
+
+ 45.45% + Lines + 5/11 +
+
+ 1 branch + Ignored      +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
App.vue
64.71%11/17100%4/414.29%1/745.45%5/11
+
+
+ + + + + + + diff --git a/test/unit/coverage/lcov-report/src/vuex/actions.js.html b/test/unit/coverage/lcov-report/src/vuex/actions.js.html new file mode 100644 index 0000000..055e6bd --- /dev/null +++ b/test/unit/coverage/lcov-report/src/vuex/actions.js.html @@ -0,0 +1,110 @@ + + + + Code coverage report for src/vuex/actions.js + + + + + + + +
+
+

+ all files / src/vuex/ actions.js +

+
+
+ 38.46% + Statements + 5/13 +
+
+ 100% + Branches + 0/0 +
+
+ 0% + Functions + 0/4 +
+
+ 55.56% + Lines + 5/9 +
+
+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +  +  +  + +  +  +  + +  +  +  + +  +  + 
export const setSelected = ({ dispatch }, selected) => {
+  dispatch('SET_SELECTED', selected)
+}
+ 
+export const toggleOptionType = ({ dispatch }) => {
+  dispatch('TOGGLE_OPTION_TYPE')
+}
+ 
+export const setPlaceholder = ({ dispatch }, placeholder) => {
+  dispatch('SET_PLACEHOLDER', placeholder)
+}
+ 
+export const toggleMultiple = ({ dispatch }) => {
+  dispatch('TOGGLE_MULTIPLE')
+}
+ 
+
+
+ + + + + + + diff --git a/test/unit/coverage/lcov-report/src/vuex/index.html b/test/unit/coverage/lcov-report/src/vuex/index.html new file mode 100644 index 0000000..bcef790 --- /dev/null +++ b/test/unit/coverage/lcov-report/src/vuex/index.html @@ -0,0 +1,110 @@ + + + + Code coverage report for src/vuex/ + + + + + + + +
+
+

+ all files src/vuex/ +

+
+
+ 53.13% + Statements + 17/32 +
+
+ 66.67% + Branches + 4/6 +
+
+ 10% + Functions + 1/10 +
+
+ 52.17% + Lines + 12/23 +
+
+ 1 branch + Ignored      +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
actions.js
38.46%5/13100%0/00%0/455.56%5/9
store.js
63.16%12/1966.67%4/616.67%1/650%7/14
+
+
+ + + + + + + diff --git a/test/unit/coverage/lcov-report/src/vuex/store.js.html b/test/unit/coverage/lcov-report/src/vuex/store.js.html new file mode 100644 index 0000000..859d2d4 --- /dev/null +++ b/test/unit/coverage/lcov-report/src/vuex/store.js.html @@ -0,0 +1,216 @@ + + + + Code coverage report for src/vuex/store.js + + + + + + + +
+
+

+ all files / src/vuex/ store.js +

+
+
+ 63.16% + Statements + 12/19 +
+
+ 66.67% + Branches + 4/6 +
+
+ 16.67% + Functions + 1/6 +
+
+ 50% + Lines + 7/14 +
+
+ 1 branch + Ignored      +
+
+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 + +  + + +  + +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import Vue from 'vue'
+import Vuex from 'vuex'
+ 
+Vue.use(Vuex)
+Vue.config.debug = true
+ 
+const state = {
+  selected: null,
+  placeholder: 'Select a Country',
+  multiple: true,
+  maxHeight: '400px',
+  options: {
+    advanced: require('../countries/advanced.js'),
+    simple: require('../countries/simple.js'),
+  },
+  optionType: 'advanced'
+}
+ 
+const mutations = {
+  SET_SELECTED (state, selected) {
+    state.selected = selected
+  },
+ 
+  TOGGLE_OPTION_TYPE (state) {
+    if( state.optionType === 'advanced' ) {
+      state.optionType = 'simple'
+    } else {
+      state.optionType = 'advanced'
+    }
+  },
+ 
+  SET_PLACEHOLDER (state, placeholder) {
+    state.placeholder = placeholder
+  },
+ 
+  TOGGLE_MULTIPLE (state) {
+    state.multiple = ! state.multiple
+  },
+ 
+  SET_MAX_HEIGHT (state, maxHeight) {
+    state.maxHeight = maxHeight
+  }
+}
+ 
+export default new Vuex.Store({
+  state,
+  mutations
+})
+ 
+ 
+
+
+ + + + + + + diff --git a/test/unit/coverage/lcov.info b/test/unit/coverage/lcov.info new file mode 100644 index 0000000..143b007 --- /dev/null +++ b/test/unit/coverage/lcov.info @@ -0,0 +1,467 @@ +TN: +SF:/Volumes/Documents/sagalbot/Sites/vue-select/src/components/Select.vue +FN:19,_interopRequireDefault +FN:29,_default +FN:83,_default +FN:92,data +FN:102,value +FN:105,options +FN:110,multiple +FN:113,filteredOptions +FN:119,select +FN:147,onAfterSelect +FN:157,toggleDropdown +FN:167,isOptionSelected +FN:172,(anonymous_13) +FN:184,getOptionValue +FN:191,getOptionLabel +FN:199,typeAheadUp +FN:202,typeAheadDown +FN:205,typeAheadSelect +FN:216,onEscape +FN:223,maybeDeleteValue +FN:228,optionExists +FN:233,(anonymous_22) +FN:246,dropdownClasses +FN:252,searchPlaceholder +FN:257,filteredOptions +FN:264,isValueEmpty +FN:274,valueAsArray +FNF:27 +FNH:25 +FNDA:3,_interopRequireDefault +FNDA:0,_default +FNDA:4,_default +FNDA:31,data +FNDA:17,value +FNDA:3,options +FNDA:2,multiple +FNDA:12,filteredOptions +FNDA:8,select +FNDA:8,onAfterSelect +FNDA:1,toggleDropdown +FNDA:159,isOptionSelected +FNDA:84,(anonymous_13) +FNDA:0,getOptionValue +FNDA:113,getOptionLabel +FNDA:1,typeAheadUp +FNDA:2,typeAheadDown +FNDA:6,typeAheadSelect +FNDA:1,onEscape +FNDA:2,maybeDeleteValue +FNDA:19,optionExists +FNDA:36,(anonymous_22) +FNDA:35,dropdownClasses +FNDA:48,searchPlaceholder +FNDA:48,filteredOptions +FNDA:53,isValueEmpty +FNDA:50,valueAsArray +DA:0,3 +DA:194,0 +DA:298,4 +DA:299,1 +DA:301,3 +DA:307,31 +DA:316,17 +DA:319,3 +DA:320,2 +DA:324,2 +DA:327,12 +DA:339,8 +DA:340,7 +DA:341,4 +DA:343,4 +DA:344,1 +DA:348,7 +DA:350,5 +DA:351,1 +DA:353,4 +DA:357,2 +DA:360,1 +DA:361,1 +DA:365,8 +DA:374,8 +DA:375,2 +DA:376,2 +DA:379,8 +DA:380,8 +DA:390,1 +DA:391,1 +DA:392,0 +DA:394,1 +DA:395,1 +DA:405,159 +DA:406,159 +DA:407,72 +DA:408,72 +DA:409,84 +DA:410,1 +DA:411,83 +DA:412,21 +DA:415,72 +DA:418,87 +DA:429,0 +DA:430,0 +DA:433,0 +DA:444,113 +DA:445,37 +DA:446,32 +DA:449,81 +DA:458,1 +DA:467,2 +DA:476,6 +DA:477,1 +DA:478,5 +DA:479,5 +DA:482,6 +DA:483,6 +DA:493,1 +DA:494,0 +DA:496,1 +DA:506,2 +DA:507,2 +DA:518,19 +DA:519,19 +DA:521,19 +DA:522,36 +DA:523,3 +DA:524,33 +DA:525,4 +DA:529,19 +DA:540,35 +DA:552,48 +DA:553,1 +DA:566,48 +DA:567,48 +DA:568,5 +DA:570,48 +DA:578,53 +DA:579,38 +DA:580,33 +DA:582,5 +DA:585,15 +DA:593,50 +DA:594,25 +DA:595,25 +DA:596,12 +DA:599,13 +LF:89 +LH:83 +BRDA:19,1,0,3 +BRDA:19,1,1,0 +BRDA:19,2,0,3 +BRDA:19,2,1,3 +BRDA:84,3,0,1 +BRDA:84,3,1,3 +BRDA:103,4,0,2 +BRDA:103,4,1,15 +BRDA:103,5,0,17 +BRDA:103,5,1,2 +BRDA:106,6,0,2 +BRDA:106,6,1,1 +BRDA:107,7,0,1 +BRDA:107,7,1,1 +BRDA:111,8,0,1 +BRDA:111,8,1,1 +BRDA:120,9,0,7 +BRDA:120,9,1,1 +BRDA:121,10,0,4 +BRDA:121,10,1,3 +BRDA:121,11,0,7 +BRDA:121,11,1,6 +BRDA:124,12,0,1 +BRDA:124,12,1,3 +BRDA:129,13,0,5 +BRDA:129,13,1,2 +BRDA:131,14,0,1 +BRDA:131,14,1,4 +BRDA:140,15,0,1 +BRDA:140,15,1,0 +BRDA:148,16,0,2 +BRDA:148,16,1,6 +BRDA:153,17,0,8 +BRDA:153,17,1,0 +BRDA:158,18,0,1 +BRDA:158,18,1,0 +BRDA:158,19,0,1 +BRDA:158,19,1,1 +BRDA:158,19,2,0 +BRDA:158,19,3,0 +BRDA:159,20,0,0 +BRDA:159,20,1,1 +BRDA:170,21,0,72 +BRDA:170,21,1,87 +BRDA:170,22,0,159 +BRDA:170,22,1,78 +BRDA:173,23,0,1 +BRDA:173,23,1,83 +BRDA:173,24,0,84 +BRDA:173,24,1,17 +BRDA:173,25,0,0 +BRDA:173,25,1,84 +BRDA:175,26,0,21 +BRDA:175,26,1,62 +BRDA:185,27,0,0 +BRDA:185,27,1,0 +BRDA:185,28,0,0 +BRDA:185,28,1,0 +BRDA:185,29,0,0 +BRDA:185,29,1,0 +BRDA:192,30,0,37 +BRDA:192,30,1,76 +BRDA:192,31,0,0 +BRDA:192,31,1,113 +BRDA:193,32,0,32 +BRDA:193,32,1,5 +BRDA:193,33,0,37 +BRDA:193,33,1,37 +BRDA:200,34,0,1 +BRDA:200,34,1,0 +BRDA:203,35,0,1 +BRDA:203,35,1,1 +BRDA:206,36,0,1 +BRDA:206,36,1,5 +BRDA:208,37,0,5 +BRDA:208,37,1,0 +BRDA:208,38,0,5 +BRDA:208,38,1,5 +BRDA:212,39,0,6 +BRDA:212,39,1,0 +BRDA:217,40,0,0 +BRDA:217,40,1,1 +BRDA:224,41,0,2 +BRDA:224,41,1,0 +BRDA:224,42,0,2 +BRDA:224,42,1,2 +BRDA:225,43,0,1 +BRDA:225,43,1,1 +BRDA:234,44,0,3 +BRDA:234,44,1,33 +BRDA:234,45,0,36 +BRDA:234,45,1,14 +BRDA:234,46,0,0 +BRDA:234,46,1,36 +BRDA:236,47,0,4 +BRDA:236,47,1,29 +BRDA:253,48,0,1 +BRDA:253,48,1,47 +BRDA:253,49,0,48 +BRDA:253,49,1,18 +BRDA:259,50,0,5 +BRDA:259,50,1,43 +BRDA:259,51,0,48 +BRDA:259,51,1,23 +BRDA:259,51,2,7 +BRDA:265,52,0,38 +BRDA:265,52,1,15 +BRDA:266,53,0,33 +BRDA:266,53,1,5 +BRDA:275,54,0,25 +BRDA:275,54,1,25 +BRDA:277,55,0,12 +BRDA:277,55,1,13 +BRF:113 +BRH:93 +end_of_record +TN: +SF:/Volumes/Documents/sagalbot/Sites/vue-select/src/App.vue +FN:21,_interopRequireDefault +FN:28,placeholder +FN:31,selected +FN:34,type +FN:37,options +FN:40,multiple +FN:47,onPlaceholderChange +FNF:7 +FNH:1 +FNDA:3,_interopRequireDefault +FNDA:0,placeholder +FNDA:0,selected +FNDA:0,type +FNDA:0,options +FNDA:0,multiple +FNDA:0,onPlaceholderChange +DA:0,3 +DA:188,1 +DA:189,1 +DA:190,1 +DA:191,1 +DA:199,0 +DA:202,0 +DA:205,0 +DA:208,0 +DA:211,0 +DA:218,0 +LF:11 +LH:5 +BRDA:21,1,0,0 +BRDA:21,1,1,3 +BRDA:21,2,0,3 +BRDA:21,2,1,3 +BRF:4 +BRH:4 +end_of_record +TN: +SF:/Volumes/Documents/sagalbot/Sites/vue-select/src/components/Install.vue +FN:31,_interopRequireDefault +FN:35,data +FN:48,consoleCallback +FN:51,alertCallback +FN:57,getCallback +FNF:5 +FNH:1 +FNDA:6,_interopRequireDefault +FNDA:0,data +FNDA:0,consoleCallback +FNDA:0,alertCallback +FNDA:0,getCallback +DA:0,6 +DA:138,1 +DA:139,1 +DA:140,1 +DA:141,1 +DA:142,1 +DA:146,0 +DA:158,0 +DA:162,0 +DA:168,0 +DA:169,0 +DA:172,0 +LF:12 +LH:6 +BRDA:31,1,0,1 +BRDA:31,1,1,5 +BRDA:31,2,0,6 +BRDA:31,2,1,6 +BRDA:58,3,0,0 +BRDA:58,3,1,0 +BRF:6 +BRH:4 +end_of_record +TN: +SF:/Volumes/Documents/sagalbot/Sites/vue-select/src/countries/advanced.js +FNF:0 +FNH:0 +DA:1,1 +LF:1 +LH:1 +BRF:0 +BRH:0 +end_of_record +TN: +SF:/Volumes/Documents/sagalbot/Sites/vue-select/src/countries/simple.js +FNF:0 +FNH:0 +DA:1,1 +LF:1 +LH:1 +BRF:0 +BRH:0 +end_of_record +TN: +SF:/Volumes/Documents/sagalbot/Sites/vue-select/src/components/Code.vue +FN:9,_class +FNF:1 +FNH:0 +FNDA:0,_class +DA:0,1 +DA:10,0 +LF:2 +LH:1 +BRF:0 +BRH:0 +end_of_record +TN: +SF:/Volumes/Documents/sagalbot/Sites/vue-select/src/components/snippets/InstallSnippet.vue +FN:11,_interopRequireDefault +FNF:1 +FNH:1 +FNDA:1,_interopRequireDefault +DA:0,1 +DA:27,1 +LF:2 +LH:2 +BRDA:11,1,0,0 +BRDA:11,1,1,1 +BRDA:11,2,0,1 +BRDA:11,2,1,1 +BRF:4 +BRH:4 +end_of_record +TN: +SF:/Volumes/Documents/sagalbot/Sites/vue-select/src/components/Params.vue +FNF:0 +FNH:0 +DA:0,1 +LF:1 +LH:1 +BRF:0 +BRH:0 +end_of_record +TN: +SF:/Volumes/Documents/sagalbot/Sites/vue-select/src/vuex/actions.js +FN:6,setSelected +FN:12,toggleOptionType +FN:18,setPlaceholder +FN:24,toggleMultiple +FNF:4 +FNH:0 +FNDA:0,setSelected +FNDA:0,toggleOptionType +FNDA:0,setPlaceholder +FNDA:0,toggleMultiple +DA:0,1 +DA:1,1 +DA:2,0 +DA:5,1 +DA:6,0 +DA:9,1 +DA:10,0 +DA:13,1 +DA:14,0 +LF:9 +LH:5 +BRF:0 +BRH:0 +end_of_record +TN: +SF:/Volumes/Documents/sagalbot/Sites/vue-select/src/vuex/store.js +FN:15,_interopRequireDefault +FN:33,SET_SELECTED +FN:36,TOGGLE_OPTION_TYPE +FN:43,SET_PLACEHOLDER +FN:46,TOGGLE_MULTIPLE +FN:49,SET_MAX_HEIGHT +FNF:6 +FNH:1 +FNDA:2,_interopRequireDefault +FNDA:0,SET_SELECTED +FNDA:0,TOGGLE_OPTION_TYPE +FNDA:0,SET_PLACEHOLDER +FNDA:0,TOGGLE_MULTIPLE +FNDA:0,SET_MAX_HEIGHT +DA:0,2 +DA:1,1 +DA:2,1 +DA:4,1 +DA:5,1 +DA:7,1 +DA:19,1 +DA:21,0 +DA:25,0 +DA:26,0 +DA:28,0 +DA:33,0 +DA:37,0 +DA:41,0 +LF:14 +LH:7 +BRDA:15,1,0,0 +BRDA:15,1,1,2 +BRDA:15,2,0,2 +BRDA:15,2,1,2 +BRDA:37,3,0,0 +BRDA:37,3,1,0 +BRF:6 +BRH:4 +end_of_record diff --git a/test/unit/index.js b/test/unit/index.js new file mode 100644 index 0000000..386c9db --- /dev/null +++ b/test/unit/index.js @@ -0,0 +1,13 @@ +// Polyfill fn.bind() for PhantomJS +/* eslint-disable no-extend-native */ +Function.prototype.bind = require('function-bind') + +// require all test files (files that ends with .spec.js) +var testsContext = require.context('./specs', true, /\.spec$/) +testsContext.keys().forEach(testsContext) + +// require all src files except main.js for coverage. +// you can also change this to match only the subset of files that +// you want coverage for. +var srcContext = require.context('../../src', true, /^\.\/(?!main(\.js)?$)/) +srcContext.keys().forEach(srcContext) \ No newline at end of file diff --git a/test/unit/karma.conf.js b/test/unit/karma.conf.js new file mode 100644 index 0000000..f79deff --- /dev/null +++ b/test/unit/karma.conf.js @@ -0,0 +1,75 @@ +// This is a karma config file. For more details see +// http://karma-runner.github.io/0.13/config/configuration-file.html +// we are also using it with karma-webpack +// https://github.com/webpack/karma-webpack + +var path = require('path') +var merge = require('webpack-merge') +var baseConfig = require('../../build/webpack.base.conf') +var utils = require('../../build/utils') +var webpack = require('webpack') +var projectRoot = path.resolve(__dirname, '../../') + +var webpackConfig = merge(baseConfig, { + // use inline sourcemap for karma-sourcemap-loader + module: { + loaders: utils.styleLoaders() + }, + devtool: '#inline-source-map', + vue: { + loaders: { + js: 'isparta' + } + }, + plugins: [ + new webpack.DefinePlugin({ + 'process.env': require('../../config/test.env') + }) + ] +}) + +// no need for app entry during tests +delete webpackConfig.entry + +// make sure isparta loader is applied before eslint +webpackConfig.module.preLoaders = webpackConfig.module.preLoaders || [] +webpackConfig.module.preLoaders.unshift({ + test: /\.js$/, + loader: 'isparta', + include: path.resolve(projectRoot, 'src') +}) + +// only apply babel for test files when using isparta +webpackConfig.module.loaders.some(function (loader, i) { + if (loader.loader === 'babel') { + loader.include = path.resolve(projectRoot, 'test/unit') + return true + } +}) + +module.exports = function (config) { + config.set({ + // to run in additional browsers: + // 1. install corresponding karma launcher + // http://karma-runner.github.io/0.13/config/browsers.html + // 2. add it to the `browsers` array below. + browsers: ['PhantomJS'], + frameworks: ['jasmine'], + reporters: ['spec', 'coverage'], + files: ['./index.js'], + preprocessors: { + './index.js': ['webpack', 'sourcemap'] + }, + webpack: webpackConfig, + webpackMiddleware: { + noInfo: true + }, + coverageReporter: { + dir: './coverage', + reporters: [ + { type: 'lcov', subdir: '.' }, + { type: 'text-summary' } + ] + } + }) +} diff --git a/test/unit/Select.spec.js b/test/unit/specs/Select.spec.js similarity index 99% rename from test/unit/Select.spec.js rename to test/unit/specs/Select.spec.js index b83d6d9..1f89fcd 100644 --- a/test/unit/Select.spec.js +++ b/test/unit/specs/Select.spec.js @@ -1,7 +1,7 @@ /* global describe, it, expect */ import Vue from 'vue' -import vSelect from '../../src/components/Select.vue' +import vSelect from 'src/components/Select.vue' /** * Simulate a DOM event.