From 1c37bd2fa37f416d8ac1fcc7ef37012fae374e88 Mon Sep 17 00:00:00 2001 From: Jeff Date: Sun, 3 Sep 2017 11:26:03 -0700 Subject: [PATCH] start of gitbook implementation --- _book/.babelrc | 5 + _book/.codeclimate.yml | 25 + _book/.csslintrc | 2 + _book/.eslintignore | 1 + _book/.eslintrc | 185 +++ _book/.gitignore | 7 + _book/.travis.yml | 6 + _book/CONTRIBUTING.md | 10 + _book/LICENSE.md | 21 + _book/bower.json | 32 + _book/build/build.js | 31 + _book/build/dev-client.js | 9 + _book/build/dev-server.js | 65 + _book/build/utils.js | 56 + _book/build/webpack.base.conf.js | 71 + _book/build/webpack.dev.conf.js | 39 + _book/build/webpack.prod.conf.js | 32 + _book/config/dev.env.js | 6 + _book/config/index.js | 21 + _book/config/prod.env.js | 3 + _book/config/test.env.js | 6 + _book/dev.html | 45 + _book/dist/vue-select.js | 3 + _book/dist/vue-select.js.map | 1 + {docs => _book/docs-old}/Docs.vue | 0 .../docs-old}/assets/fonts/octicons.eot | Bin .../docs-old}/assets/fonts/octicons.scss | 0 .../docs-old}/assets/fonts/octicons.svg | 0 .../docs-old}/assets/fonts/octicons.ttf | Bin .../docs-old}/assets/fonts/octicons.woff | Bin .../docs-old}/assets/scss/_cyan_theme.scss | 0 .../docs-old}/assets/scss/_demo.scss | 0 .../docs-old}/assets/scss/_octicons.scss | 0 .../docs-old}/assets/scss/_prism.scss | 0 .../docs-old}/assets/scss/_variables.scss | 0 {docs => _book/docs-old}/components/Code.vue | 0 .../docs-old}/components/Examples.vue | 0 .../docs-old}/components/GithubSearch.vue | 0 .../components/GithubSearchBasic.vue | 0 .../docs-old}/components/Params.vue | 0 .../docs-old}/components/snippets/Ajax.vue | 0 .../components/snippets/AjaxExample.vue | 0 .../components/snippets/AjaxProps.vue | 0 .../components/snippets/InstallSnippet.vue | 0 {docs => _book/docs-old}/data/advanced.js | 0 {docs => _book/docs-old}/data/simple.js | 0 {docs => _book/docs-old}/docs.html | 0 {docs => _book/docs-old}/docs.js | 0 {docs/md => _book/docs}/Ajax.md | 0 {docs/md => _book/docs}/AjaxExample.md | 0 {docs/md => _book/docs}/AjaxProps.md | 0 {docs/md => _book/docs}/CustomLabels.md | 0 {docs/md => _book/docs}/Examples.md | 0 {docs/md => _book/docs}/Install.md | 0 {docs/md => _book/docs}/OnChange.md | 0 _book/docs/README.md | 2 + {docs/md => _book/docs}/ReactiveOptions.md | 0 _book/docs/SUMMARY.md | 4 + {docs/md => _book/docs}/SingleMultiple.md | 0 {docs/md => _book/docs}/VModel.md | 0 .../gitbook/fonts/fontawesome/FontAwesome.otf | Bin 0 -> 124988 bytes .../fonts/fontawesome/fontawesome-webfont.eot | Bin 0 -> 76518 bytes .../fonts/fontawesome/fontawesome-webfont.svg | 685 ++++++++++ .../fonts/fontawesome/fontawesome-webfont.ttf | Bin 0 -> 152796 bytes .../fontawesome/fontawesome-webfont.woff | Bin 0 -> 90412 bytes .../fontawesome/fontawesome-webfont.woff2 | Bin 0 -> 71896 bytes .../fontsettings.js | 240 ++++ .../gitbook-plugin-fontsettings/website.css | 291 ++++ .../gitbook-plugin-highlight/ebook.css | 135 ++ .../gitbook-plugin-highlight/website.css | 434 ++++++ .../gitbook-plugin-livereload/plugin.js | 11 + _book/gitbook/gitbook-plugin-lunr/lunr.min.js | 7 + .../gitbook-plugin-lunr/search-lunr.js | 59 + .../gitbook/gitbook-plugin-search/lunr.min.js | 7 + .../gitbook-plugin-search/search-engine.js | 50 + .../gitbook/gitbook-plugin-search/search.css | 35 + _book/gitbook/gitbook-plugin-search/search.js | 213 +++ .../gitbook/gitbook-plugin-sharing/buttons.js | 90 ++ _book/gitbook/gitbook.js | 4 + .../apple-touch-icon-precomposed-152.png | Bin 0 -> 4817 bytes _book/gitbook/images/favicon.ico | Bin 0 -> 4286 bytes _book/gitbook/style.css | 9 + _book/gitbook/theme.js | 4 + _book/index.html | 296 ++++ _book/package.json | 83 ++ _book/search_index.json | 1 + _book/src/components/Select.vue | 894 +++++++++++++ _book/src/dev.js | 34 + _book/src/index.js | 5 + _book/src/mixins/ajax.js | 72 + _book/src/mixins/index.js | 5 + _book/src/mixins/pointerScroll.js | 81 ++ _book/src/mixins/typeAheadPointer.js | 60 + _book/static/.gitkeep | 0 _book/static/favicon.ico | Bin 0 -> 1150 bytes _book/static/vue-logo.png | Bin 0 -> 8416 bytes _book/test/unit/index.js | 12 + _book/test/unit/karma.conf.js | 78 ++ _book/test/unit/specs/Select.spec.js | 1190 +++++++++++++++++ docs-old/Docs.vue | 54 + docs-old/assets/fonts/octicons.eot | Bin 0 -> 30848 bytes docs-old/assets/fonts/octicons.scss | 225 ++++ docs-old/assets/fonts/octicons.svg | 188 +++ docs-old/assets/fonts/octicons.ttf | Bin 0 -> 30680 bytes docs-old/assets/fonts/octicons.woff | Bin 0 -> 17052 bytes docs-old/assets/scss/_cyan_theme.scss | 33 + docs-old/assets/scss/_demo.scss | 120 ++ docs-old/assets/scss/_octicons.scss | 227 ++++ docs-old/assets/scss/_prism.scss | 155 +++ docs-old/assets/scss/_variables.scss | 15 + docs-old/components/Code.vue | 20 + docs-old/components/Examples.vue | 192 +++ docs-old/components/GithubSearch.vue | 122 ++ docs-old/components/GithubSearchBasic.vue | 38 + docs-old/components/Params.vue | 130 ++ docs-old/components/snippets/Ajax.vue | 131 ++ docs-old/components/snippets/AjaxExample.vue | 31 + docs-old/components/snippets/AjaxProps.vue | 28 + .../components/snippets/InstallSnippet.vue | 41 + docs-old/data/advanced.js | 246 ++++ docs-old/data/simple.js | 1 + docs-old/docs.html | 92 ++ docs-old/docs.js | 36 + docs/Ajax.md | 31 + docs/AjaxExample.md | 28 + docs/AjaxProps.md | 24 + docs/CustomLabels.md | 9 + docs/Examples.md | 0 docs/Install.md | 45 + docs/OnChange.md | 26 + docs/README.md | 2 + docs/ReactiveOptions.md | 19 + docs/SUMMARY.md | 4 + docs/SingleMultiple.md | 29 + docs/VModel.md | 15 + 135 files changed, 8130 insertions(+) create mode 100644 _book/.babelrc create mode 100644 _book/.codeclimate.yml create mode 100644 _book/.csslintrc create mode 100644 _book/.eslintignore create mode 100644 _book/.eslintrc create mode 100644 _book/.gitignore create mode 100644 _book/.travis.yml create mode 100644 _book/CONTRIBUTING.md create mode 100644 _book/LICENSE.md create mode 100644 _book/bower.json create mode 100644 _book/build/build.js create mode 100644 _book/build/dev-client.js create mode 100644 _book/build/dev-server.js create mode 100644 _book/build/utils.js create mode 100644 _book/build/webpack.base.conf.js create mode 100644 _book/build/webpack.dev.conf.js create mode 100644 _book/build/webpack.prod.conf.js create mode 100644 _book/config/dev.env.js create mode 100644 _book/config/index.js create mode 100644 _book/config/prod.env.js create mode 100644 _book/config/test.env.js create mode 100644 _book/dev.html create mode 100644 _book/dist/vue-select.js create mode 100644 _book/dist/vue-select.js.map rename {docs => _book/docs-old}/Docs.vue (100%) rename {docs => _book/docs-old}/assets/fonts/octicons.eot (100%) rename {docs => _book/docs-old}/assets/fonts/octicons.scss (100%) rename {docs => _book/docs-old}/assets/fonts/octicons.svg (100%) rename {docs => _book/docs-old}/assets/fonts/octicons.ttf (100%) rename {docs => _book/docs-old}/assets/fonts/octicons.woff (100%) rename {docs => _book/docs-old}/assets/scss/_cyan_theme.scss (100%) rename {docs => _book/docs-old}/assets/scss/_demo.scss (100%) rename {docs => _book/docs-old}/assets/scss/_octicons.scss (100%) rename {docs => _book/docs-old}/assets/scss/_prism.scss (100%) rename {docs => _book/docs-old}/assets/scss/_variables.scss (100%) rename {docs => _book/docs-old}/components/Code.vue (100%) rename {docs => _book/docs-old}/components/Examples.vue (100%) rename {docs => _book/docs-old}/components/GithubSearch.vue (100%) rename {docs => _book/docs-old}/components/GithubSearchBasic.vue (100%) rename {docs => _book/docs-old}/components/Params.vue (100%) rename {docs => _book/docs-old}/components/snippets/Ajax.vue (100%) rename {docs => _book/docs-old}/components/snippets/AjaxExample.vue (100%) rename {docs => _book/docs-old}/components/snippets/AjaxProps.vue (100%) rename {docs => _book/docs-old}/components/snippets/InstallSnippet.vue (100%) rename {docs => _book/docs-old}/data/advanced.js (100%) rename {docs => _book/docs-old}/data/simple.js (100%) rename {docs => _book/docs-old}/docs.html (100%) rename {docs => _book/docs-old}/docs.js (100%) rename {docs/md => _book/docs}/Ajax.md (100%) rename {docs/md => _book/docs}/AjaxExample.md (100%) rename {docs/md => _book/docs}/AjaxProps.md (100%) rename {docs/md => _book/docs}/CustomLabels.md (100%) rename {docs/md => _book/docs}/Examples.md (100%) rename {docs/md => _book/docs}/Install.md (100%) rename {docs/md => _book/docs}/OnChange.md (100%) create mode 100644 _book/docs/README.md rename {docs/md => _book/docs}/ReactiveOptions.md (100%) create mode 100644 _book/docs/SUMMARY.md rename {docs/md => _book/docs}/SingleMultiple.md (100%) rename {docs/md => _book/docs}/VModel.md (100%) create mode 100644 _book/gitbook/fonts/fontawesome/FontAwesome.otf create mode 100644 _book/gitbook/fonts/fontawesome/fontawesome-webfont.eot create mode 100644 _book/gitbook/fonts/fontawesome/fontawesome-webfont.svg create mode 100644 _book/gitbook/fonts/fontawesome/fontawesome-webfont.ttf create mode 100644 _book/gitbook/fonts/fontawesome/fontawesome-webfont.woff create mode 100644 _book/gitbook/fonts/fontawesome/fontawesome-webfont.woff2 create mode 100644 _book/gitbook/gitbook-plugin-fontsettings/fontsettings.js create mode 100644 _book/gitbook/gitbook-plugin-fontsettings/website.css create mode 100644 _book/gitbook/gitbook-plugin-highlight/ebook.css create mode 100644 _book/gitbook/gitbook-plugin-highlight/website.css create mode 100644 _book/gitbook/gitbook-plugin-livereload/plugin.js create mode 100644 _book/gitbook/gitbook-plugin-lunr/lunr.min.js create mode 100644 _book/gitbook/gitbook-plugin-lunr/search-lunr.js create mode 100644 _book/gitbook/gitbook-plugin-search/lunr.min.js create mode 100644 _book/gitbook/gitbook-plugin-search/search-engine.js create mode 100644 _book/gitbook/gitbook-plugin-search/search.css create mode 100644 _book/gitbook/gitbook-plugin-search/search.js create mode 100644 _book/gitbook/gitbook-plugin-sharing/buttons.js create mode 100644 _book/gitbook/gitbook.js create mode 100644 _book/gitbook/images/apple-touch-icon-precomposed-152.png create mode 100644 _book/gitbook/images/favicon.ico create mode 100644 _book/gitbook/style.css create mode 100644 _book/gitbook/theme.js create mode 100644 _book/index.html create mode 100644 _book/package.json create mode 100644 _book/search_index.json create mode 100644 _book/src/components/Select.vue create mode 100644 _book/src/dev.js create mode 100644 _book/src/index.js create mode 100644 _book/src/mixins/ajax.js create mode 100644 _book/src/mixins/index.js create mode 100644 _book/src/mixins/pointerScroll.js create mode 100644 _book/src/mixins/typeAheadPointer.js create mode 100644 _book/static/.gitkeep create mode 100644 _book/static/favicon.ico create mode 100644 _book/static/vue-logo.png create mode 100644 _book/test/unit/index.js create mode 100644 _book/test/unit/karma.conf.js create mode 100644 _book/test/unit/specs/Select.spec.js create mode 100644 docs-old/Docs.vue create mode 100644 docs-old/assets/fonts/octicons.eot create mode 100644 docs-old/assets/fonts/octicons.scss create mode 100644 docs-old/assets/fonts/octicons.svg create mode 100644 docs-old/assets/fonts/octicons.ttf create mode 100644 docs-old/assets/fonts/octicons.woff create mode 100644 docs-old/assets/scss/_cyan_theme.scss create mode 100644 docs-old/assets/scss/_demo.scss create mode 100644 docs-old/assets/scss/_octicons.scss create mode 100644 docs-old/assets/scss/_prism.scss create mode 100644 docs-old/assets/scss/_variables.scss create mode 100644 docs-old/components/Code.vue create mode 100644 docs-old/components/Examples.vue create mode 100644 docs-old/components/GithubSearch.vue create mode 100644 docs-old/components/GithubSearchBasic.vue create mode 100644 docs-old/components/Params.vue create mode 100644 docs-old/components/snippets/Ajax.vue create mode 100644 docs-old/components/snippets/AjaxExample.vue create mode 100644 docs-old/components/snippets/AjaxProps.vue create mode 100644 docs-old/components/snippets/InstallSnippet.vue create mode 100644 docs-old/data/advanced.js create mode 100644 docs-old/data/simple.js create mode 100644 docs-old/docs.html create mode 100644 docs-old/docs.js create mode 100644 docs/Ajax.md create mode 100644 docs/AjaxExample.md create mode 100644 docs/AjaxProps.md create mode 100644 docs/CustomLabels.md create mode 100644 docs/Examples.md create mode 100644 docs/Install.md create mode 100644 docs/OnChange.md create mode 100644 docs/README.md create mode 100644 docs/ReactiveOptions.md create mode 100644 docs/SUMMARY.md create mode 100644 docs/SingleMultiple.md create mode 100644 docs/VModel.md diff --git a/_book/.babelrc b/_book/.babelrc new file mode 100644 index 0000000..41789ca --- /dev/null +++ b/_book/.babelrc @@ -0,0 +1,5 @@ +{ + "presets": ["es2015", "stage-2"], + "plugins": ["transform-runtime"], + "comments": false +} diff --git a/_book/.codeclimate.yml b/_book/.codeclimate.yml new file mode 100644 index 0000000..14313fc --- /dev/null +++ b/_book/.codeclimate.yml @@ -0,0 +1,25 @@ +--- +engines: + csslint: + enabled: true + duplication: + enabled: true + config: + languages: + - ruby + - javascript + - python + - php + eslint: + enabled: true + fixme: + enabled: true +ratings: + paths: + - "src/components/Select.vue" +exclude_paths: +- dist/ +- test/ +- docs/ +- config/ +- build/ diff --git a/_book/.csslintrc b/_book/.csslintrc new file mode 100644 index 0000000..aacba95 --- /dev/null +++ b/_book/.csslintrc @@ -0,0 +1,2 @@ +--exclude-exts=.min.css +--ignore=adjoining-classes,box-model,ids,order-alphabetical,unqualified-attributes diff --git a/_book/.eslintignore b/_book/.eslintignore new file mode 100644 index 0000000..96212a3 --- /dev/null +++ b/_book/.eslintignore @@ -0,0 +1 @@ +**/*{.,-}min.js diff --git a/_book/.eslintrc b/_book/.eslintrc new file mode 100644 index 0000000..7f2ceaf --- /dev/null +++ b/_book/.eslintrc @@ -0,0 +1,185 @@ +{ + "plugins": [ + "html" + ], + + "env": { + "browser": true, + "node": true + }, + + "ecmaFeatures": { + "arrowFunctions": true, + "destructuring": true, + "classes": true, + "defaultParams": true, + "blockBindings": true, + "modules": true, + "objectLiteralComputedProperties": true, + "objectLiteralShorthandMethods": true, + "objectLiteralShorthandProperties": true, + "restParams": true, + "spread": true, + "forOf": true, + "generators": true, + "templateStrings": true, + "superInFunctions": true, + "experimentalObjectRestSpread": true + }, + + "rules": { + "accessor-pairs": 2, + "array-bracket-spacing": 0, + "block-scoped-var": 0, + "brace-style": [2, "1tbs", { "allowSingleLine": true }], + "camelcase": 0, + "comma-dangle": [2, "never"], + "comma-spacing": [2, { "before": false, "after": true }], + "comma-style": [2, "last"], + "complexity": 0, + "computed-property-spacing": 0, + "consistent-return": 0, + "consistent-this": 0, + "constructor-super": 2, + "curly": [2, "multi-line"], + "default-case": 0, + "dot-location": [2, "property"], + "dot-notation": 0, + "eol-last": 2, + "eqeqeq": [2, "allow-null"], + "func-names": 0, + "func-style": 0, + "generator-star-spacing": [2, { "before": true, "after": true }], + "guard-for-in": 0, + "handle-callback-err": [2, "^(err|error)$" ], + "indent": [2, 2, { "SwitchCase": 1 }], + "key-spacing": [2, { "beforeColon": false, "afterColon": true }], + "linebreak-style": 0, + "lines-around-comment": 0, + "max-nested-callbacks": 0, + "new-cap": [2, { "newIsCap": true, "capIsNew": false }], + "new-parens": 2, + "newline-after-var": 0, + "no-alert": 0, + "no-array-constructor": 2, + "no-caller": 2, + "no-catch-shadow": 0, + "no-cond-assign": 2, + "no-console": 0, + "no-constant-condition": 0, + "no-continue": 0, + "no-control-regex": 2, + "no-debugger": 2, + "no-delete-var": 2, + "no-div-regex": 0, + "no-dupe-args": 2, + "no-dupe-keys": 2, + "no-duplicate-case": 2, + "no-else-return": 0, + "no-empty": 0, + "no-empty-character-class": 2, + "no-empty-label": 2, + "no-eq-null": 0, + "no-eval": 2, + "no-ex-assign": 2, + "no-extend-native": 2, + "no-extra-bind": 2, + "no-extra-boolean-cast": 2, + "no-extra-parens": 0, + "no-extra-semi": 0, + "no-fallthrough": 2, + "no-floating-decimal": 2, + "no-func-assign": 2, + "no-implied-eval": 2, + "no-inline-comments": 0, + "no-inner-declarations": [2, "functions"], + "no-invalid-regexp": 2, + "no-irregular-whitespace": 2, + "no-iterator": 2, + "no-label-var": 2, + "no-labels": 2, + "no-lone-blocks": 2, + "no-lonely-if": 0, + "no-loop-func": 0, + "no-mixed-requires": 0, + "no-mixed-spaces-and-tabs": 2, + "no-multi-spaces": 2, + "no-multi-str": 2, + "no-multiple-empty-lines": [2, { "max": 1 }], + "no-native-reassign": 2, + "no-negated-in-lhs": 2, + "no-nested-ternary": 0, + "no-new": 2, + "no-new-func": 0, + "no-new-object": 2, + "no-new-require": 2, + "no-new-wrappers": 2, + "no-obj-calls": 2, + "no-octal": 2, + "no-octal-escape": 2, + "no-param-reassign": 0, + "no-path-concat": 0, + "no-process-env": 0, + "no-process-exit": 0, + "no-proto": 0, + "no-redeclare": 2, + "no-regex-spaces": 2, + "no-restricted-modules": 0, + "no-return-assign": 2, + "no-script-url": 0, + "no-self-compare": 2, + "no-sequences": 2, + "no-shadow": 0, + "no-shadow-restricted-names": 2, + "no-spaced-func": 2, + "no-sparse-arrays": 2, + "no-sync": 0, + "no-ternary": 0, + "no-this-before-super": 2, + "no-throw-literal": 2, + "no-trailing-spaces": 2, + "no-undef": 2, + "no-undef-init": 2, + "no-undefined": 0, + "no-underscore-dangle": 0, + "no-unexpected-multiline": 2, + "no-unneeded-ternary": 2, + "no-unreachable": 2, + "no-unused-expressions": 0, + "no-unused-vars": [2, { "vars": "all", "args": "none" }], + "no-use-before-define": 0, + "no-var": 0, + "no-void": 0, + "no-warning-comments": 0, + "no-with": 2, + "object-curly-spacing": 0, + "object-shorthand": 0, + "one-var": [2, { "initialized": "never" }], + "operator-assignment": 0, + "operator-linebreak": [2, "after", { "overrides": { "?": "before", ":": "before" } }], + "padded-blocks": 0, + "prefer-const": 0, + "quote-props": 0, + "quotes": [2, "single", "avoid-escape"], + "radix": 2, + "semi": [2, "never"], + "semi-spacing": 0, + "sort-vars": 0, + "space-after-keywords": [2, "always"], + "space-before-blocks": [2, "always"], + "space-before-function-paren": [2, "always"], + "space-in-parens": [2, "never"], + "space-infix-ops": 2, + "space-return-throw-case": 2, + "space-unary-ops": [2, { "words": true, "nonwords": false }], + "spaced-comment": [2, "always", { "markers": ["global", "globals", "eslint", "eslint-disable", "*package", "!"] }], + "strict": 0, + "use-isnan": 2, + "valid-jsdoc": 0, + "valid-typeof": 2, + "vars-on-top": 0, + "wrap-iife": [2, "any"], + "wrap-regex": 0, + "yoda": [2, "never"] + } +} diff --git a/_book/.gitignore b/_book/.gitignore new file mode 100644 index 0000000..9e75cf3 --- /dev/null +++ b/_book/.gitignore @@ -0,0 +1,7 @@ +.DS_Store +node_modules +npm-debug.log +.idea +test/unit/coverage +.coveralls.yml +.flowconfig diff --git a/_book/.travis.yml b/_book/.travis.yml new file mode 100644 index 0000000..15dc6f2 --- /dev/null +++ b/_book/.travis.yml @@ -0,0 +1,6 @@ +language: node_js +node_js: + - "5" + - "5.1" +after_success: + - codeclimate-test-reporter < ./test/unit/coverage/lcov.info diff --git a/_book/CONTRIBUTING.md b/_book/CONTRIBUTING.md new file mode 100644 index 0000000..a8e6d01 --- /dev/null +++ b/_book/CONTRIBUTING.md @@ -0,0 +1,10 @@ +## Pull Requests + +Looks like you want to help out on vue-select.. awesome! Here's a couple things to keep in mind when contributing. + +1. If your PR contains multiple commits, try to keep those commits succinct, with descriptive messages. This makes it easier to understand your thought process. +2. Don't run the build before submitting. The build is only run and committed immediately before a new release, and submitting a PR with a build included is just more to parse. +3. If your PR fixes or references an open issue, be sure to reference it in your message. +4. If you're adding new functionality, make sure your code has good test coverage. + +:tada: Thanks for contributing, and an even bigger thanks for reading these guidelines! diff --git a/_book/LICENSE.md b/_book/LICENSE.md new file mode 100644 index 0000000..54c6f9d --- /dev/null +++ b/_book/LICENSE.md @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2016 Jeff Sagal & vue-select contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/_book/bower.json b/_book/bower.json new file mode 100644 index 0000000..398c0de --- /dev/null +++ b/_book/bower.json @@ -0,0 +1,32 @@ +{ + "name": "vue-select", + "description": "A native Vue.js select component that provides similar functionality to Select2/Chosen without the overhead of jQuery.", + "main": "dist/vue-select.js", + "authors": [ + "Jeff Sagal " + ], + "repository": { + "type": "git", + "url": "https://github.com/sagalbot/vue-select" + }, + "license": "MIT", + "keywords": [ + "vue.js", + "vue-select", + "select2", + "tagging" + ], + "moduleType": [ + "amd", + "node", + "es6" + ], + "homepage": "http://sagalbot.github.io/vue-select/", + "ignore": [ + "**/.*", + "node_modules", + "bower_components", + "test", + "tests" + ] +} diff --git a/_book/build/build.js b/_book/build/build.js new file mode 100644 index 0000000..6017cc6 --- /dev/null +++ b/_book/build/build.js @@ -0,0 +1,31 @@ +// 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') + +var spinner = ora('building UMD module...') +spinner.start() + +var assetsPath = path.join(config.build.assetsRoot, config.build.assetsSubDirectory) +rm('-rf', assetsPath) +mkdir('-p', assetsPath) + +/** + * Build the /dist/ folder + */ +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') +}) \ No newline at end of file diff --git a/_book/build/dev-client.js b/_book/build/dev-client.js new file mode 100644 index 0000000..18aa1e2 --- /dev/null +++ b/_book/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/_book/build/dev-server.js b/_book/build/dev-server.js new file mode 100644 index 0000000..b4d8133 --- /dev/null +++ b/_book/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/_book/build/utils.js b/_book/build/utils.js new file mode 100644 index 0000000..d294e35 --- /dev/null +++ b/_book/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/_book/build/webpack.base.conf.js b/_book/build/webpack.base.conf.js new file mode 100644 index 0000000..e96c076 --- /dev/null +++ b/_book/build/webpack.base.conf.js @@ -0,0 +1,71 @@ +var path = require('path') +var config = require('../config') +var utils = require('./utils') +var projectRoot = path.resolve(__dirname, '../') + +module.exports = { + entry: { + app: process.argv.indexOf('--docs') > 0 ? './docs/docs.js' : './src/dev.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, '../docs/assets'), + 'mixins': path.resolve(__dirname, '../src/mixins'), + 'components': path.resolve(__dirname, '../src/components'), + 'docs': path.resolve(__dirname, '../docs'), + 'vue$': 'vue/dist/vue.common.js', + } + }, + resolveLoader: { + fallback: [path.join(__dirname, '../node_modules')] + }, + module: { + loaders: [ + { + test: /\.vue$/, + loader: 'vue-loader' + }, + { + test: /\.js$/, + loader: 'babel-loader', + include: projectRoot, + exclude: /node_modules/ + }, + { + test: /\.json$/, + loader: 'json-loader' + }, + { + test: /\.html$/, + loader: 'vue-html-loader' + }, + { + test: /\.(png|jpe?g|gif)(\?.*)?$/, + loader: 'url', + query: { + limit: 10000, + name: utils.assetsPath('img/[name].[hash:7].[ext]') + } + }, + { + test: /\.(woff2?|eot|ttf|otf|svg)(\?.*)?$/, + loader: 'url', + query: { + limit: 10000, + name: utils.assetsPath('fonts/[name].[hash:7].[ext]') + } + } + ] + }, + vue: { + loaders: utils.cssLoaders() + } +} diff --git a/_book/build/webpack.dev.conf.js b/_book/build/webpack.dev.conf.js new file mode 100644 index 0000000..ca16387 --- /dev/null +++ b/_book/build/webpack.dev.conf.js @@ -0,0 +1,39 @@ +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().concat({ test: /\.md$/, loader: "html!markdown" }) + }, + // 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: process.argv.indexOf('--docs') > 0 ? './docs/docs.html' : 'dev.html', + inject: true + }) + ], + markdownLoader: { + highlight: function (code) { + return require('highlight.js').highlightAuto(code).value; + } + } +}) diff --git a/_book/build/webpack.prod.conf.js b/_book/build/webpack.prod.conf.js new file mode 100644 index 0000000..06c9457 --- /dev/null +++ b/_book/build/webpack.prod.conf.js @@ -0,0 +1,32 @@ +const webpack = require('webpack') +const base = require('./webpack.base.conf') +const config = require('../config') + +base.entry = { + lib: './src/index.js' +} + +base.output = { + path: config.build.assetsRoot, + publicPath: config.build.assetsPublicPath, + filename: 'vue-select.js', + library: 'VueSelect', + libraryTarget: 'umd' +} + +var webpackConfig = Object.assign({}, base) + +webpackConfig.devtool = '#source-map' +webpackConfig.plugins = (webpackConfig.plugins || []).concat([ + new webpack.DefinePlugin({ + 'process.env': { + NODE_ENV: '"production"' + } + }), + new webpack.optimize.UglifyJsPlugin({ + compress: { warnings: false } + }), + new webpack.optimize.OccurenceOrderPlugin(), +]) + +module.exports = webpackConfig diff --git a/_book/config/dev.env.js b/_book/config/dev.env.js new file mode 100644 index 0000000..efead7c --- /dev/null +++ b/_book/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/_book/config/index.js b/_book/config/index.js new file mode 100644 index 0000000..601fe91 --- /dev/null +++ b/_book/config/index.js @@ -0,0 +1,21 @@ +// see http://vuejs-templates.github.io/webpack for documentation. +var path = require('path') + +module.exports = { + build: { + env: require('./prod.env'), + assetsRoot: path.resolve(__dirname, '../dist'), + assetsSubDirectory: '', + assetsPublicPath: '/', + productionSourceMap: true + }, + dev: { + env: require('./dev.env'), + port: 8080, + proxyTable: {} + }, + umd: { + assetsRoot: path.resolve(__dirname, '../umd'), + assetsPublicPath: '/' + } +} diff --git a/_book/config/prod.env.js b/_book/config/prod.env.js new file mode 100644 index 0000000..773d263 --- /dev/null +++ b/_book/config/prod.env.js @@ -0,0 +1,3 @@ +module.exports = { + NODE_ENV: '"production"' +} diff --git a/_book/config/test.env.js b/_book/config/test.env.js new file mode 100644 index 0000000..89f90de --- /dev/null +++ b/_book/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/_book/dev.html b/_book/dev.html new file mode 100644 index 0000000..8425919 --- /dev/null +++ b/_book/dev.html @@ -0,0 +1,45 @@ + + + + + + Vue Select Dev + + + + + + + + +
+ + + + + + + + +
+ + + diff --git a/_book/dist/vue-select.js b/_book/dist/vue-select.js new file mode 100644 index 0000000..5397610 --- /dev/null +++ b/_book/dist/vue-select.js @@ -0,0 +1,3 @@ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.VueSelect=e():t.VueSelect=e()}(this,function(){return function(t){function e(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return t[r].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var n={};return e.m=t,e.c=n,e.p="/",e(0)}([function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.mixins=e.VueSelect=void 0;var o=n(84),i=r(o),a=n(42),s=r(a);e.default=i.default,e.VueSelect=i.default,e.mixins=s.default},function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(t,e,n){t.exports=!n(9)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var r=n(11),o=n(33),i=n(25),a=Object.defineProperty;e.f=n(2)?Object.defineProperty:function(t,e,n){if(r(t),e=i(e,!0),r(n),o)try{return a(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},function(t,e,n){var r=n(59),o=n(16);t.exports=function(t){return r(o(t))}},function(t,e){var n=t.exports={version:"2.4.0"};"number"==typeof __e&&(__e=n)},function(t,e,n){var r=n(4),o=n(14);t.exports=n(2)?function(t,e,n){return r.f(t,e,o(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e,n){var r=n(23)("wks"),o=n(15),i=n(1).Symbol,a="function"==typeof i,s=t.exports=function(t){return r[t]||(r[t]=a&&i[t]||(a?i:o)("Symbol."+t))};s.store=r},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,n){var r=n(38),o=n(17);t.exports=Object.keys||function(t){return r(t,o)}},function(t,e,n){var r=n(13);t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},function(t,e,n){var r=n(1),o=n(6),i=n(56),a=n(7),s="prototype",u=function(t,e,n){var l,c,f,p=t&u.F,d=t&u.G,h=t&u.S,b=t&u.P,v=t&u.B,y=t&u.W,g=d?o:o[e]||(o[e]={}),m=g[s],x=d?r:h?r[e]:(r[e]||{})[s];d&&(n=e);for(l in n)c=!p&&x&&void 0!==x[l],c&&l in g||(f=c?x[l]:n[l],g[l]=d&&"function"!=typeof x[l]?n[l]:v&&c?i(f,r):y&&x[l]==f?function(t){var e=function(e,n,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,r)}return t.apply(this,arguments)};return e[s]=t[s],e}(f):b&&"function"==typeof f?i(Function.call,f):f,b&&((g.virtual||(g.virtual={}))[l]=f,t&u.R&&m&&!m[l]&&a(m,l,f)))};u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,t.exports=u},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e){t.exports={}},function(t,e){t.exports=!0},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,n){var r=n(4).f,o=n(3),i=n(8)("toStringTag");t.exports=function(t,e,n){t&&!o(t=n?t:t.prototype,i)&&r(t,i,{configurable:!0,value:e})}},function(t,e,n){var r=n(23)("keys"),o=n(15);t.exports=function(t){return r[t]||(r[t]=o(t))}},function(t,e,n){var r=n(1),o="__core-js_shared__",i=r[o]||(r[o]={});t.exports=function(t){return i[t]||(i[t]={})}},function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},function(t,e,n){var r=n(13);t.exports=function(t,e){if(!r(t))return t;var n,o;if(e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;if("function"==typeof(n=t.valueOf)&&!r(o=n.call(t)))return o;if(!e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,e,n){var r=n(1),o=n(6),i=n(19),a=n(27),s=n(4).f;t.exports=function(t){var e=o.Symbol||(o.Symbol=i?{}:r.Symbol||{});"_"==t.charAt(0)||t in e||s(e,t,{value:a.f(t)})}},function(t,e,n){e.f=n(8)},function(t,e){"use strict";t.exports={props:{loading:{type:Boolean,default:!1},onSearch:{type:Function,default:function(t,e){}}},data:function(){return{mutableLoading:!1}},watch:{search:function(){this.search.length>0&&(this.onSearch(this.search,this.toggleLoading),this.$emit("search",this.search,this.toggleLoading))},loading:function(t){this.mutableLoading=t}},methods:{toggleLoading:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return null==t?this.mutableLoading=!this.mutableLoading:this.mutableLoading=t}}}},function(t,e){"use strict";t.exports={watch:{typeAheadPointer:function(){this.maybeAdjustScroll()}},methods:{maybeAdjustScroll:function(){var t=this.pixelsToPointerTop(),e=this.pixelsToPointerBottom();return t<=this.viewport().top?this.scrollTo(t):e>=this.viewport().bottom?this.scrollTo(this.viewport().top+this.pointerHeight()):void 0},pixelsToPointerTop:function t(){var t=0;if(this.$refs.dropdownMenu)for(var e=0;e0&&(this.typeAheadPointer--,this.maybeAdjustScroll&&this.maybeAdjustScroll())},typeAheadDown:function(){this.typeAheadPointer";for(e.style.display="none",n(58).appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(o+"script"+a+"document.F=Object"+o+"/script"+a),t.close(),l=t.F;r--;)delete l[u][i[r]];return l()};t.exports=Object.create||function(t,e){var n;return null!==t?(s[u]=r(t),n=new s,s[u]=null,n[a]=t):n=l(),void 0===e?n:o(n,e)}},function(t,e,n){var r=n(38),o=n(17).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,o)}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,n){var r=n(3),o=n(5),i=n(55)(!1),a=n(22)("IE_PROTO");t.exports=function(t,e){var n,s=o(t),u=0,l=[];for(n in s)n!=a&&r(s,n)&&l.push(n);for(;e.length>u;)r(s,n=e[u++])&&(~i(l,n)||l.push(n));return l}},function(t,e,n){t.exports=n(7)},function(t,e,n){var r=n(16);t.exports=function(t){return Object(r(t))}},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var o=n(44),i=r(o),a=n(47),s=r(a),u=n(48),l=r(u),c=n(29),f=r(c),p=n(30),d=r(p),h=n(28),b=r(h);e.default={mixins:[f.default,d.default,b.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:"fade"},clearSearchOnSelect:{type:Boolean,default:!0},label:{type:String,default:"label"},getOptionLabel:{type:Function,default:function(t){return"object"===("undefined"==typeof t?"undefined":(0,l.default)(t))&&this.label&&t[this.label]?t[this.label]:t}},onChange:{type:Function,default:function(t){this.$emit("input",t)}},taggable:{type:Boolean,default:!1},pushTags:{type:Boolean,default:!1},createOption:{type:Function,default:function(t){return"object"===(0,l.default)(this.mutableOptions[0])&&(t=(0,s.default)({},this.label,t)),this.$emit("option:created",t),t}},resetOnOptionsChange:{type:Boolean,default:!1},noDrop:{type:Boolean,default:!1}},data:function(){return{search:"",open:!1,mutableValue:null,mutableOptions:[]}},watch:{value:function(t){this.mutableValue=t},mutableValue:function(t,e){this.multiple?this.onChange?this.onChange(t):null:this.onChange&&t!==e?this.onChange(t):null},options:function(t){this.mutableOptions=t},mutableOptions:function(){!this.taggable&&this.resetOnOptionsChange&&(this.mutableValue=this.multiple?[]:null)},multiple:function(t){this.mutableValue=t?[]:null}},created:function(){this.mutableValue=this.value,this.mutableOptions=this.options.slice(0),this.mutableLoading=this.loading,this.$on("option:created",this.maybePushTag)},methods:{select:function(t){this.isOptionSelected(t)?this.deselect(t):(this.taggable&&!this.optionExists(t)&&(t=this.createOption(t)),this.multiple&&!this.mutableValue?this.mutableValue=[t]:this.multiple?this.mutableValue.push(t):this.mutableValue=t),this.onAfterSelect(t)},deselect:function(t){var e=this;if(this.multiple){var n=-1;this.mutableValue.forEach(function(r){(r===t||"object"===("undefined"==typeof r?"undefined":(0,l.default)(r))&&r[e.label]===t[e.label])&&(n=r)});var r=this.mutableValue.indexOf(n);this.mutableValue.splice(r,1)}else this.mutableValue=null},onAfterSelect:function(t){this.multiple||(this.open=!this.open,this.$refs.search.blur()),this.clearSearchOnSelect&&(this.search="")},toggleDropdown:function(t){t.target!==this.$refs.openIndicator&&t.target!==this.$refs.search&&t.target!==this.$refs.toggle&&t.target!==this.$el||(this.open?this.$refs.search.blur():(this.open=!0,this.$refs.search.focus()))},isOptionSelected:function(t){var e=this;if(this.multiple&&this.mutableValue){var n=!1;return this.mutableValue.forEach(function(r){"object"===("undefined"==typeof r?"undefined":(0,l.default)(r))&&r[e.label]===t[e.label]?n=!0:"object"===("undefined"==typeof r?"undefined":(0,l.default)(r))&&r[e.label]===t?n=!0:r===t&&(n=!0)}),n}return this.mutableValue===t},onEscape:function(){this.search.length?this.search="":this.$refs.search.blur()},onSearchBlur:function(){this.open=!1,this.$emit("search:blur")},onSearchFocus:function(){this.open=!0,this.$emit("search:focus")},maybeDeleteValue:function(){if(!this.$refs.search.value.length&&this.mutableValue)return this.multiple?this.mutableValue.pop():this.mutableValue=null},optionExists:function(t){var e=this,n=!1;return this.mutableOptions.forEach(function(r){"object"===("undefined"==typeof r?"undefined":(0,l.default)(r))&&r[e.label]===t?n=!0:r===t&&(n=!0)}),n},maybePushTag:function(t){this.pushTags&&this.mutableOptions.push(t)}},computed:{dropdownClasses:function(){return{open:this.dropdownOpen,searchable:this.searchable,unsearchable:!this.searchable,loading:this.mutableLoading}},dropdownOpen:function(){return!this.noDrop&&(this.open&&!this.mutableLoading)},searchPlaceholder:function(){if(this.isValueEmpty&&this.placeholder)return this.placeholder},filteredOptions:function(){var t=this,e=this.mutableOptions.filter(function(e){return"object"===("undefined"==typeof e?"undefined":(0,l.default)(e))&&e.hasOwnProperty(t.label)?e[t.label].toLowerCase().indexOf(t.search.toLowerCase())>-1:"object"!==("undefined"==typeof e?"undefined":(0,l.default)(e))||e.hasOwnProperty(t.label)?e.toLowerCase().indexOf(t.search.toLowerCase())>-1:console.warn('[vue-select warn]: Label key "option.'+t.label+'" does not exist in options object.\nhttp://sagalbot.github.io/vue-select/#ex-labels')});return this.taggable&&this.search.length&&!this.optionExists(this.search)&&e.unshift(this.search),e},isValueEmpty:function(){return!this.mutableValue||("object"===(0,l.default)(this.mutableValue)?!(0,i.default)(this.mutableValue).length:!this.mutableValue.length)},valueAsArray:function(){return this.multiple?this.mutableValue:this.mutableValue?[this.mutableValue]:[]}}}},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var o=n(28),i=r(o),a=n(30),s=r(a),u=n(29),l=r(u);e.default={ajax:i.default,pointer:s.default,pointerScroll:l.default}},function(t,e,n){t.exports={default:n(49),__esModule:!0}},function(t,e,n){t.exports={default:n(50),__esModule:!0}},function(t,e,n){t.exports={default:n(51),__esModule:!0}},function(t,e,n){t.exports={default:n(52),__esModule:!0}},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var o=n(43),i=r(o);e.default=function(t,e,n){return e in t?(0,i.default)(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var o=n(46),i=r(o),a=n(45),s=r(a),u="function"==typeof s.default&&"symbol"==typeof i.default?function(t){return typeof t}:function(t){return t&&"function"==typeof s.default&&t.constructor===s.default&&t!==s.default.prototype?"symbol":typeof t};e.default="function"==typeof s.default&&"symbol"===u(i.default)?function(t){return"undefined"==typeof t?"undefined":u(t)}:function(t){return t&&"function"==typeof s.default&&t.constructor===s.default&&t!==s.default.prototype?"symbol":"undefined"==typeof t?"undefined":u(t)}},function(t,e,n){n(74);var r=n(6).Object;t.exports=function(t,e,n){return r.defineProperty(t,e,n)}},function(t,e,n){n(75),t.exports=n(6).Object.keys},function(t,e,n){n(78),n(76),n(79),n(80),t.exports=n(6).Symbol},function(t,e,n){n(77),n(81),t.exports=n(27).f("iterator")},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e){t.exports=function(){}},function(t,e,n){var r=n(5),o=n(72),i=n(71);t.exports=function(t){return function(e,n,a){var s,u=r(e),l=o(u.length),c=i(a,l);if(t&&n!=n){for(;l>c;)if(s=u[c++],s!=s)return!0}else for(;l>c;c++)if((t||c in u)&&u[c]===n)return t||c||0;return!t&&-1}}},function(t,e,n){var r=n(53);t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}}},function(t,e,n){var r=n(10),o=n(37),i=n(20);t.exports=function(t){var e=r(t),n=o.f;if(n)for(var a,s=n(t),u=i.f,l=0;s.length>l;)u.call(t,a=s[l++])&&e.push(a);return e}},function(t,e,n){t.exports=n(1).document&&document.documentElement},function(t,e,n){var r=n(31);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},function(t,e,n){var r=n(31);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,e,n){"use strict";var r=n(35),o=n(14),i=n(21),a={};n(7)(a,n(8)("iterator"),function(){return this}),t.exports=function(t,e,n){t.prototype=r(a,{next:o(1,n)}),i(t,e+" Iterator")}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){var r=n(10),o=n(5);t.exports=function(t,e){for(var n,i=o(t),a=r(i),s=a.length,u=0;s>u;)if(i[n=a[u++]]===e)return n}},function(t,e,n){var r=n(15)("meta"),o=n(13),i=n(3),a=n(4).f,s=0,u=Object.isExtensible||function(){return!0},l=!n(9)(function(){return u(Object.preventExtensions({}))}),c=function(t){a(t,r,{value:{i:"O"+ ++s,w:{}}})},f=function(t,e){if(!o(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!i(t,r)){if(!u(t))return"F";if(!e)return"E";c(t)}return t[r].i},p=function(t,e){if(!i(t,r)){if(!u(t))return!0;if(!e)return!1;c(t)}return t[r].w},d=function(t){return l&&h.NEED&&u(t)&&!i(t,r)&&c(t),t},h=t.exports={KEY:r,NEED:!1,fastKey:f,getWeak:p,onFreeze:d}},function(t,e,n){var r=n(4),o=n(11),i=n(10);t.exports=n(2)?Object.defineProperties:function(t,e){o(t);for(var n,a=i(e),s=a.length,u=0;s>u;)r.f(t,n=a[u++],e[n]);return t}},function(t,e,n){var r=n(20),o=n(14),i=n(5),a=n(25),s=n(3),u=n(33),l=Object.getOwnPropertyDescriptor;e.f=n(2)?l:function(t,e){if(t=i(t),e=a(e,!0),u)try{return l(t,e)}catch(t){}if(s(t,e))return o(!r.f.call(t,e),t[e])}},function(t,e,n){var r=n(5),o=n(36).f,i={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],s=function(t){try{return o(t)}catch(t){return a.slice()}};t.exports.f=function(t){return a&&"[object Window]"==i.call(t)?s(t):o(r(t))}},function(t,e,n){var r=n(3),o=n(40),i=n(22)("IE_PROTO"),a=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=o(t),r(t,i)?t[i]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?a:null}},function(t,e,n){var r=n(12),o=n(6),i=n(9);t.exports=function(t,e){var n=(o.Object||{})[t]||Object[t],a={};a[t]=e(n),r(r.S+r.F*i(function(){n(1)}),"Object",a)}},function(t,e,n){var r=n(24),o=n(16);t.exports=function(t){return function(e,n){var i,a,s=String(o(e)),u=r(n),l=s.length;return u<0||u>=l?t?"":void 0:(i=s.charCodeAt(u),i<55296||i>56319||u+1===l||(a=s.charCodeAt(u+1))<56320||a>57343?t?s.charAt(u):i:t?s.slice(u,u+2):(i-55296<<10)+(a-56320)+65536)}}},function(t,e,n){var r=n(24),o=Math.max,i=Math.min;t.exports=function(t,e){return t=r(t),t<0?o(t+e,0):i(t,e)}},function(t,e,n){var r=n(24),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},function(t,e,n){"use strict";var r=n(54),o=n(62),i=n(18),a=n(5);t.exports=n(34)(Array,"Array",function(t,e){this._t=a(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,o(1)):"keys"==e?o(0,n):"values"==e?o(0,t[n]):o(0,[n,t[n]])},"values"),i.Arguments=i.Array,r("keys"),r("values"),r("entries")},function(t,e,n){var r=n(12);r(r.S+r.F*!n(2),"Object",{defineProperty:n(4).f})},function(t,e,n){var r=n(40),o=n(10);n(69)("keys",function(){return function(t){return o(r(t))}})},function(t,e){},function(t,e,n){"use strict";var r=n(70)(!0);n(34)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=r(e,n),this._i+=t.length,{value:t,done:!1})})},function(t,e,n){"use strict";var r=n(1),o=n(3),i=n(2),a=n(12),s=n(39),u=n(64).KEY,l=n(9),c=n(23),f=n(21),p=n(15),d=n(8),h=n(27),b=n(26),v=n(63),y=n(57),g=n(60),m=n(11),x=n(5),w=n(25),O=n(14),S=n(35),_=n(67),j=n(66),k=n(4),P=n(10),A=j.f,C=k.f,M=_.f,E=r.Symbol,T=r.JSON,V=T&&T.stringify,L="prototype",$=d("_hidden"),F=d("toPrimitive"),N={}.propertyIsEnumerable,B=c("symbol-registry"),D=c("symbols"),I=c("op-symbols"),z=Object[L],R="function"==typeof E,H=r.QObject,U=!H||!H[L]||!H[L].findChild,W=i&&l(function(){return 7!=S(C({},"a",{get:function(){return C(this,"a",{value:7}).a}})).a})?function(t,e,n){var r=A(z,e);r&&delete z[e],C(t,e,n),r&&t!==z&&C(z,e,r)}:C,J=function(t){var e=D[t]=S(E[L]);return e._k=t,e},G=R&&"symbol"==typeof E.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof E},K=function(t,e,n){return t===z&&K(I,e,n),m(t),e=w(e,!0),m(n),o(D,e)?(n.enumerable?(o(t,$)&&t[$][e]&&(t[$][e]=!1),n=S(n,{enumerable:O(0,!1)})):(o(t,$)||C(t,$,O(1,{})),t[$][e]=!0),W(t,e,n)):C(t,e,n)},Y=function(t,e){m(t);for(var n,r=y(e=x(e)),o=0,i=r.length;i>o;)K(t,n=r[o++],e[n]);return t},Q=function(t,e){return void 0===e?S(t):Y(S(t),e)},Z=function(t){var e=N.call(this,t=w(t,!0));return!(this===z&&o(D,t)&&!o(I,t))&&(!(e||!o(this,t)||!o(D,t)||o(this,$)&&this[$][t])||e)},q=function(t,e){if(t=x(t),e=w(e,!0),t!==z||!o(D,e)||o(I,e)){var n=A(t,e);return!n||!o(D,e)||o(t,$)&&t[$][e]||(n.enumerable=!0),n}},X=function(t){for(var e,n=M(x(t)),r=[],i=0;n.length>i;)o(D,e=n[i++])||e==$||e==u||r.push(e);return r},tt=function(t){for(var e,n=t===z,r=M(n?I:x(t)),i=[],a=0;r.length>a;)!o(D,e=r[a++])||n&&!o(z,e)||i.push(D[e]);return i};R||(E=function(){if(this instanceof E)throw TypeError("Symbol is not a constructor!");var t=p(arguments.length>0?arguments[0]:void 0),e=function(n){this===z&&e.call(I,n),o(this,$)&&o(this[$],t)&&(this[$][t]=!1),W(this,t,O(1,n))};return i&&U&&W(z,t,{configurable:!0,set:e}),J(t)},s(E[L],"toString",function(){return this._k}),j.f=q,k.f=K,n(36).f=_.f=X,n(20).f=Z,n(37).f=tt,i&&!n(19)&&s(z,"propertyIsEnumerable",Z,!0),h.f=function(t){return J(d(t))}),a(a.G+a.W+a.F*!R,{Symbol:E});for(var et="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),nt=0;et.length>nt;)d(et[nt++]);for(var et=P(d.store),nt=0;et.length>nt;)b(et[nt++]);a(a.S+a.F*!R,"Symbol",{for:function(t){return o(B,t+="")?B[t]:B[t]=E(t)},keyFor:function(t){if(G(t))return v(B,t);throw TypeError(t+" is not a symbol!")},useSetter:function(){U=!0},useSimple:function(){U=!1}}),a(a.S+a.F*!R,"Object",{create:Q,defineProperty:K,defineProperties:Y,getOwnPropertyDescriptor:q,getOwnPropertyNames:X,getOwnPropertySymbols:tt}),T&&a(a.S+a.F*(!R||l(function(){var t=E();return"[null]"!=V([t])||"{}"!=V({a:t})||"{}"!=V(Object(t))})),"JSON",{stringify:function(t){if(void 0!==t&&!G(t)){for(var e,n,r=[t],o=1;arguments.length>o;)r.push(arguments[o++]);return e=r[1],"function"==typeof e&&(n=e),!n&&g(e)||(e=function(t,e){if(n&&(e=n.call(this,t,e)),!G(e))return e}),r[1]=e,V.apply(T,r)}}}),E[L][F]||n(7)(E[L],F,E[L].valueOf),f(E,"Symbol"),f(Math,"Math",!0),f(r.JSON,"JSON",!0)},function(t,e,n){n(26)("asyncIterator")},function(t,e,n){n(26)("observable")},function(t,e,n){n(73);for(var r=n(1),o=n(7),i=n(18),a=n(8)("toStringTag"),s=["NodeList","DOMTokenList","MediaList","StyleSheetList","CSSRuleList"],u=0;u<5;u++){var l=s[u],c=r[l],f=c&&c.prototype;f&&!f[a]&&o(f,a,l),i[l]=i.Array}},function(t,e,n){e=t.exports=n(83)(),e.push([t.id,'.v-select{position:relative;font-family:sans-serif}.v-select,.v-select *{box-sizing:border-box}.v-select .open-indicator{position:absolute;bottom:6px;right:10px;display:inline-block;cursor:pointer;pointer-events:all;transition:all .15s cubic-bezier(1,-.115,.975,.855);transition-timing-function:cubic-bezier(1,-.115,.975,.855);opacity:1;transition:opacity .1s;height:20px;width:10px}.v-select .open-indicator:before{border-color:rgba(60,60,60,.5);border-style:solid;border-width:3px 3px 0 0;content:"";display:inline-block;height:10px;width:10px;vertical-align:top;transform:rotate(133deg);transition:all .15s cubic-bezier(1,-.115,.975,.855);transition-timing-function:cubic-bezier(1,-.115,.975,.855);box-sizing:inherit}.v-select.open .open-indicator:before{transform:rotate(315deg)}.v-select.loading .open-indicator{opacity:0}.v-select.open .open-indicator{bottom:1px}.v-select .dropdown-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;padding:0;background:none;border:1px solid rgba(60,60,60,.26);border-radius:4px;white-space:normal;transition:border-radius .25s}.v-select .dropdown-toggle:after{visibility:hidden;display:block;font-size:0;content:" ";clear:both;height:0}.v-select.searchable .dropdown-toggle{cursor:text}.v-select.unsearchable .dropdown-toggle{cursor:pointer}.v-select.open .dropdown-toggle{border-bottom-color:transparent;border-bottom-left-radius:0;border-bottom-right-radius:0}.v-select .dropdown-menu{display:block;position:absolute;top:100%;left:0;z-index:1000;min-width:160px;padding:5px 0;margin:0;width:100%;overflow-y:scroll;border:1px solid rgba(0,0,0,.26);box-shadow:0 3px 6px 0 rgba(0,0,0,.15);border-top:none;border-radius:0 0 4px 4px;text-align:left;list-style:none;background:#fff}.v-select .no-options{text-align:center}.v-select .selected-tag{color:#333;background-color:#f0f0f0;border:1px solid #ccc;border-radius:4px;height:26px;margin:4px 1px 0 3px;padding:1px .25em;float:left;line-height:24px}.v-select .selected-tag .close{float:none;margin-right:0;font-size:20px;appearance:none;padding:0;cursor:pointer;background:0 0;border:0;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.v-select input[type=search]::-webkit-search-cancel-button,.v-select input[type=search]::-webkit-search-decoration,.v-select input[type=search]::-webkit-search-results-button,.v-select input[type=search]::-webkit-search-results-decoration{display:none}.v-select input[type=search]::-ms-clear{display:none}.v-select input[type=search],.v-select input[type=search]:focus{appearance:none;-webkit-appearance:none;-moz-appearance:none;line-height:1.42857143;font-size:1em;height:34px;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.unsearchable input[type=search]{max-width:1px}.v-select li{line-height:1.42857143}.v-select li>a{display:block;padding:3px 20px;clear:both;color:#333;white-space:nowrap}.v-select li:hover{cursor:pointer}.v-select .dropdown-menu .active>a{color:#333;background:rgba(50,50,50,.1)}.v-select .dropdown-menu>.highlight>a{background:#5897fb;color:#fff}.v-select .highlight:not(:last-child){margin-bottom:0}.v-select .spinner{opacity:0;position:absolute;top:5px;right:10px;font-size:5px;text-indent:-9999em;overflow:hidden;border-top:.9em solid hsla(0,0%,39%,.1);border-right:.9em solid hsla(0,0%,39%,.1);border-bottom:.9em solid hsla(0,0%,39%,.1);border-left:.9em solid rgba(60,60,60,.45);transform:translateZ(0);animation:vSelectSpinner 1.1s infinite linear;transition:opacity .1s}.v-select .spinner,.v-select .spinner:after{border-radius:50%;width:5em;height:5em}.v-select.loading .spinner{opacity:1}@-webkit-keyframes vSelectSpinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes vSelectSpinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fade-enter-active,.fade-leave-active{transition:opacity .15s cubic-bezier(1,.5,.8,1)}.fade-enter,.fade-leave-to{opacity:0}',""])},function(t,e){t.exports=function(){var t=[];return t.toString=function(){for(var t=[],e=0;e=0&&y.splice(e,1)}function s(t){var e=document.createElement("style");return e.type="text/css",i(t,e),e}function u(t,e){var n,r,o;if(e.singleton){var i=v++;n=b||(b=s(e)),r=l.bind(null,n,i,!1),o=l.bind(null,n,i,!0)}else n=s(e),r=c.bind(null,n),o=function(){a(n)};return r(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return; +r(t=e)}else o()}}function l(t,e,n,r){var o=n?"":r.css;if(t.styleSheet)t.styleSheet.cssText=g(e,o);else{var i=document.createTextNode(o),a=t.childNodes;a[e]&&t.removeChild(a[e]),a.length?t.insertBefore(i,a[e]):t.appendChild(i)}}function c(t,e){var n=e.css,r=e.media,o=e.sourceMap;if(r&&t.setAttribute("media",r),o&&(n+="\n/*# sourceURL="+o.sources[0]+" */",n+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+" */"),t.styleSheet)t.styleSheet.cssText=n;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(n))}}var f={},p=function(t){var e;return function(){return"undefined"==typeof e&&(e=t.apply(this,arguments)),e}},d=p(function(){return/msie [6-9]\b/.test(window.navigator.userAgent.toLowerCase())}),h=p(function(){return document.head||document.getElementsByTagName("head")[0]}),b=null,v=0,y=[];t.exports=function(t,e){e=e||{},"undefined"==typeof e.singleton&&(e.singleton=d()),"undefined"==typeof e.insertAt&&(e.insertAt="bottom");var n=o(t);return r(n,e),function(t){for(var i=[],a=0;a 0 ? floor : ceil)(it);\n\t};\n\n/***/ },\n/* 25 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 7.1.1 ToPrimitive(input [, PreferredType])\n\tvar isObject = __webpack_require__(13);\n\t// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n\t// and the second argument - flag - preferred type is a string\n\tmodule.exports = function(it, S){\n\t if(!isObject(it))return it;\n\t var fn, val;\n\t if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n\t if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val;\n\t if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n\t throw TypeError(\"Can't convert object to primitive value\");\n\t};\n\n/***/ },\n/* 26 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar global = __webpack_require__(1)\n\t , core = __webpack_require__(6)\n\t , LIBRARY = __webpack_require__(19)\n\t , wksExt = __webpack_require__(27)\n\t , defineProperty = __webpack_require__(4).f;\n\tmodule.exports = function(name){\n\t var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n\t if(name.charAt(0) != '_' && !(name in $Symbol))defineProperty($Symbol, name, {value: wksExt.f(name)});\n\t};\n\n/***/ },\n/* 27 */\n/***/ function(module, exports, __webpack_require__) {\n\n\texports.f = __webpack_require__(8);\n\n/***/ },\n/* 28 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tmodule.exports = {\n\t\tprops: {\n\t\t\tloading: {\n\t\t\t\ttype: Boolean,\n\t\t\t\tdefault: false\n\t\t\t},\n\t\n\t\t\tonSearch: {\n\t\t\t\ttype: Function,\n\t\t\t\tdefault: function _default(search, loading) {}\n\t\t\t}\n\t\t},\n\t\n\t\tdata: function data() {\n\t\t\treturn {\n\t\t\t\tmutableLoading: false\n\t\t\t};\n\t\t},\n\t\n\t\n\t\twatch: {\n\t\t\tsearch: function search() {\n\t\t\t\tif (this.search.length > 0) {\n\t\t\t\t\tthis.onSearch(this.search, this.toggleLoading);\n\t\t\t\t\tthis.$emit('search', this.search, this.toggleLoading);\n\t\t\t\t}\n\t\t\t},\n\t\t\tloading: function loading(val) {\n\t\t\t\tthis.mutableLoading = val;\n\t\t\t}\n\t\t},\n\t\n\t\tmethods: {\n\t\t\ttoggleLoading: function toggleLoading() {\n\t\t\t\tvar toggle = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\t\n\t\t\t\tif (toggle == null) {\n\t\t\t\t\treturn this.mutableLoading = !this.mutableLoading;\n\t\t\t\t}\n\t\t\t\treturn this.mutableLoading = toggle;\n\t\t\t}\n\t\t}\n\t};\n\n/***/ },\n/* 29 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\tmodule.exports = {\n\t watch: {\n\t typeAheadPointer: function typeAheadPointer() {\n\t this.maybeAdjustScroll();\n\t }\n\t },\n\t\n\t methods: {\n\t maybeAdjustScroll: function maybeAdjustScroll() {\n\t var pixelsToPointerTop = this.pixelsToPointerTop();\n\t var pixelsToPointerBottom = this.pixelsToPointerBottom();\n\t\n\t if (pixelsToPointerTop <= this.viewport().top) {\n\t return this.scrollTo(pixelsToPointerTop);\n\t } else if (pixelsToPointerBottom >= this.viewport().bottom) {\n\t return this.scrollTo(this.viewport().top + this.pointerHeight());\n\t }\n\t },\n\t pixelsToPointerTop: function pixelsToPointerTop() {\n\t var pixelsToPointerTop = 0;\n\t if (this.$refs.dropdownMenu) {\n\t for (var i = 0; i < this.typeAheadPointer; i++) {\n\t pixelsToPointerTop += this.$refs.dropdownMenu.children[i].offsetHeight;\n\t }\n\t }\n\t return pixelsToPointerTop;\n\t },\n\t pixelsToPointerBottom: function pixelsToPointerBottom() {\n\t return this.pixelsToPointerTop() + this.pointerHeight();\n\t },\n\t pointerHeight: function pointerHeight() {\n\t var element = this.$refs.dropdownMenu ? this.$refs.dropdownMenu.children[this.typeAheadPointer] : false;\n\t return element ? element.offsetHeight : 0;\n\t },\n\t viewport: function viewport() {\n\t return {\n\t top: this.$refs.dropdownMenu ? this.$refs.dropdownMenu.scrollTop : 0,\n\t bottom: this.$refs.dropdownMenu ? this.$refs.dropdownMenu.offsetHeight + this.$refs.dropdownMenu.scrollTop : 0\n\t };\n\t },\n\t scrollTo: function scrollTo(position) {\n\t return this.$refs.dropdownMenu ? this.$refs.dropdownMenu.scrollTop = position : null;\n\t }\n\t }\n\t};\n\n/***/ },\n/* 30 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\t\n\tmodule.exports = {\n\t data: function data() {\n\t return {\n\t typeAheadPointer: -1\n\t };\n\t },\n\t\n\t\n\t watch: {\n\t filteredOptions: function filteredOptions() {\n\t this.typeAheadPointer = 0;\n\t }\n\t },\n\t\n\t methods: {\n\t typeAheadUp: function typeAheadUp() {\n\t if (this.typeAheadPointer > 0) {\n\t this.typeAheadPointer--;\n\t if (this.maybeAdjustScroll) {\n\t this.maybeAdjustScroll();\n\t }\n\t }\n\t },\n\t typeAheadDown: function typeAheadDown() {\n\t if (this.typeAheadPointer < this.filteredOptions.length - 1) {\n\t this.typeAheadPointer++;\n\t if (this.maybeAdjustScroll) {\n\t this.maybeAdjustScroll();\n\t }\n\t }\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 }\n\t};\n\n/***/ },\n/* 31 */\n/***/ function(module, exports) {\n\n\tvar toString = {}.toString;\n\t\n\tmodule.exports = function(it){\n\t return toString.call(it).slice(8, -1);\n\t};\n\n/***/ },\n/* 32 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar isObject = __webpack_require__(13)\n\t , document = __webpack_require__(1).document\n\t // in old IE typeof document.createElement is 'object'\n\t , is = isObject(document) && isObject(document.createElement);\n\tmodule.exports = function(it){\n\t return is ? document.createElement(it) : {};\n\t};\n\n/***/ },\n/* 33 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = !__webpack_require__(2) && !__webpack_require__(9)(function(){\n\t return Object.defineProperty(__webpack_require__(32)('div'), 'a', {get: function(){ return 7; }}).a != 7;\n\t});\n\n/***/ },\n/* 34 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar LIBRARY = __webpack_require__(19)\n\t , $export = __webpack_require__(12)\n\t , redefine = __webpack_require__(39)\n\t , hide = __webpack_require__(7)\n\t , has = __webpack_require__(3)\n\t , Iterators = __webpack_require__(18)\n\t , $iterCreate = __webpack_require__(61)\n\t , setToStringTag = __webpack_require__(21)\n\t , getPrototypeOf = __webpack_require__(68)\n\t , ITERATOR = __webpack_require__(8)('iterator')\n\t , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next`\n\t , FF_ITERATOR = '@@iterator'\n\t , KEYS = 'keys'\n\t , VALUES = 'values';\n\t\n\tvar returnThis = function(){ return this; };\n\t\n\tmodule.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){\n\t $iterCreate(Constructor, NAME, next);\n\t var getMethod = function(kind){\n\t if(!BUGGY && kind in proto)return proto[kind];\n\t switch(kind){\n\t case KEYS: return function keys(){ return new Constructor(this, kind); };\n\t case VALUES: return function values(){ return new Constructor(this, kind); };\n\t } return function entries(){ return new Constructor(this, kind); };\n\t };\n\t var TAG = NAME + ' Iterator'\n\t , DEF_VALUES = DEFAULT == VALUES\n\t , VALUES_BUG = false\n\t , proto = Base.prototype\n\t , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]\n\t , $default = $native || getMethod(DEFAULT)\n\t , $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined\n\t , $anyNative = NAME == 'Array' ? proto.entries || $native : $native\n\t , methods, key, IteratorPrototype;\n\t // Fix native\n\t if($anyNative){\n\t IteratorPrototype = getPrototypeOf($anyNative.call(new Base));\n\t if(IteratorPrototype !== Object.prototype){\n\t // Set @@toStringTag to native iterators\n\t setToStringTag(IteratorPrototype, TAG, true);\n\t // fix for some old engines\n\t if(!LIBRARY && !has(IteratorPrototype, ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis);\n\t }\n\t }\n\t // fix Array#{values, @@iterator}.name in V8 / FF\n\t if(DEF_VALUES && $native && $native.name !== VALUES){\n\t VALUES_BUG = true;\n\t $default = function values(){ return $native.call(this); };\n\t }\n\t // Define iterator\n\t if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){\n\t hide(proto, ITERATOR, $default);\n\t }\n\t // Plug for library\n\t Iterators[NAME] = $default;\n\t Iterators[TAG] = returnThis;\n\t if(DEFAULT){\n\t methods = {\n\t values: DEF_VALUES ? $default : getMethod(VALUES),\n\t keys: IS_SET ? $default : getMethod(KEYS),\n\t entries: $entries\n\t };\n\t if(FORCED)for(key in methods){\n\t if(!(key in proto))redefine(proto, key, methods[key]);\n\t } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n\t }\n\t return methods;\n\t};\n\n/***/ },\n/* 35 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n\tvar anObject = __webpack_require__(11)\n\t , dPs = __webpack_require__(65)\n\t , enumBugKeys = __webpack_require__(17)\n\t , IE_PROTO = __webpack_require__(22)('IE_PROTO')\n\t , Empty = function(){ /* empty */ }\n\t , PROTOTYPE = 'prototype';\n\t\n\t// Create object with fake `null` prototype: use iframe Object with cleared prototype\n\tvar createDict = function(){\n\t // Thrash, waste and sodomy: IE GC bug\n\t var iframe = __webpack_require__(32)('iframe')\n\t , i = enumBugKeys.length\n\t , lt = '<'\n\t , gt = '>'\n\t , iframeDocument;\n\t iframe.style.display = 'none';\n\t __webpack_require__(58).appendChild(iframe);\n\t iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n\t // createDict = iframe.contentWindow.Object;\n\t // html.removeChild(iframe);\n\t iframeDocument = iframe.contentWindow.document;\n\t iframeDocument.open();\n\t iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n\t iframeDocument.close();\n\t createDict = iframeDocument.F;\n\t while(i--)delete createDict[PROTOTYPE][enumBugKeys[i]];\n\t return createDict();\n\t};\n\t\n\tmodule.exports = Object.create || function create(O, Properties){\n\t var result;\n\t if(O !== null){\n\t Empty[PROTOTYPE] = anObject(O);\n\t result = new Empty;\n\t Empty[PROTOTYPE] = null;\n\t // add \"__proto__\" for Object.getPrototypeOf polyfill\n\t result[IE_PROTO] = O;\n\t } else result = createDict();\n\t return Properties === undefined ? result : dPs(result, Properties);\n\t};\n\n\n/***/ },\n/* 36 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\n\tvar $keys = __webpack_require__(38)\n\t , hiddenKeys = __webpack_require__(17).concat('length', 'prototype');\n\t\n\texports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O){\n\t return $keys(O, hiddenKeys);\n\t};\n\n/***/ },\n/* 37 */\n/***/ function(module, exports) {\n\n\texports.f = Object.getOwnPropertySymbols;\n\n/***/ },\n/* 38 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar has = __webpack_require__(3)\n\t , toIObject = __webpack_require__(5)\n\t , arrayIndexOf = __webpack_require__(55)(false)\n\t , IE_PROTO = __webpack_require__(22)('IE_PROTO');\n\t\n\tmodule.exports = function(object, names){\n\t var O = toIObject(object)\n\t , i = 0\n\t , result = []\n\t , key;\n\t for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key);\n\t // Don't enum bug & hidden keys\n\t while(names.length > i)if(has(O, key = names[i++])){\n\t ~arrayIndexOf(result, key) || result.push(key);\n\t }\n\t return result;\n\t};\n\n/***/ },\n/* 39 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = __webpack_require__(7);\n\n/***/ },\n/* 40 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 7.1.13 ToObject(argument)\n\tvar defined = __webpack_require__(16);\n\tmodule.exports = function(it){\n\t return Object(defined(it));\n\t};\n\n/***/ },\n/* 41 */\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__(44);\n\t\n\tvar _keys2 = _interopRequireDefault(_keys);\n\t\n\tvar _defineProperty2 = __webpack_require__(47);\n\t\n\tvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\t\n\tvar _typeof2 = __webpack_require__(48);\n\t\n\tvar _typeof3 = _interopRequireDefault(_typeof2);\n\t\n\tvar _pointerScroll = __webpack_require__(29);\n\t\n\tvar _pointerScroll2 = _interopRequireDefault(_pointerScroll);\n\t\n\tvar _typeAheadPointer = __webpack_require__(30);\n\t\n\tvar _typeAheadPointer2 = _interopRequireDefault(_typeAheadPointer);\n\t\n\tvar _ajax = __webpack_require__(28);\n\t\n\tvar _ajax2 = _interopRequireDefault(_ajax);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = {\n\t mixins: [_pointerScroll2.default, _typeAheadPointer2.default, _ajax2.default],\n\t\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: 'fade'\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 getOptionLabel: {\n\t type: Function,\n\t default: function _default(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 },\n\t\n\t onChange: {\n\t type: Function,\n\t default: function _default(val) {\n\t this.$emit('input', val);\n\t }\n\t },\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.mutableOptions[0]) === 'object') {\n\t newOption = (0, _defineProperty3.default)({}, this.label, newOption);\n\t }\n\t this.$emit('option:created', newOption);\n\t return newOption;\n\t }\n\t },\n\t\n\t resetOnOptionsChange: {\n\t type: Boolean,\n\t default: false\n\t },\n\t\n\t noDrop: {\n\t type: Boolean,\n\t default: false\n\t }\n\t },\n\t\n\t data: function data() {\n\t return {\n\t search: '',\n\t open: false,\n\t mutableValue: null,\n\t mutableOptions: []\n\t };\n\t },\n\t\n\t\n\t watch: {\n\t value: function value(val) {\n\t this.mutableValue = val;\n\t },\n\t mutableValue: function mutableValue(val, old) {\n\t if (this.multiple) {\n\t this.onChange ? this.onChange(val) : null;\n\t } else {\n\t this.onChange && val !== old ? this.onChange(val) : null;\n\t }\n\t },\n\t options: function options(val) {\n\t this.mutableOptions = val;\n\t },\n\t mutableOptions: function mutableOptions() {\n\t if (!this.taggable && this.resetOnOptionsChange) {\n\t this.mutableValue = this.multiple ? [] : null;\n\t }\n\t },\n\t multiple: function multiple(val) {\n\t this.mutableValue = val ? [] : null;\n\t }\n\t },\n\t\n\t created: function created() {\n\t this.mutableValue = this.value;\n\t this.mutableOptions = this.options.slice(0);\n\t this.mutableLoading = this.loading;\n\t\n\t this.$on('option:created', this.maybePushTag);\n\t },\n\t\n\t\n\t methods: {\n\t select: function select(option) {\n\t if (this.isOptionSelected(option)) {\n\t this.deselect(option);\n\t } else {\n\t if (this.taggable && !this.optionExists(option)) {\n\t option = this.createOption(option);\n\t }\n\t\n\t if (this.multiple && !this.mutableValue) {\n\t this.mutableValue = [option];\n\t } else if (this.multiple) {\n\t this.mutableValue.push(option);\n\t } else {\n\t this.mutableValue = option;\n\t }\n\t }\n\t\n\t this.onAfterSelect(option);\n\t },\n\t deselect: function deselect(option) {\n\t var _this = this;\n\t\n\t if (this.multiple) {\n\t var ref = -1;\n\t this.mutableValue.forEach(function (val) {\n\t if (val === option || (typeof val === 'undefined' ? 'undefined' : (0, _typeof3.default)(val)) === 'object' && val[_this.label] === option[_this.label]) {\n\t ref = val;\n\t }\n\t });\n\t var index = this.mutableValue.indexOf(ref);\n\t this.mutableValue.splice(index, 1);\n\t } else {\n\t this.mutableValue = null;\n\t }\n\t },\n\t onAfterSelect: function onAfterSelect(option) {\n\t if (!this.multiple) {\n\t this.open = !this.open;\n\t this.$refs.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.$refs.openIndicator || e.target === this.$refs.search || e.target === this.$refs.toggle || e.target === this.$el) {\n\t if (this.open) {\n\t this.$refs.search.blur();\n\t } else {\n\t this.open = true;\n\t this.$refs.search.focus();\n\t }\n\t }\n\t },\n\t isOptionSelected: function isOptionSelected(option) {\n\t var _this2 = this;\n\t\n\t if (this.multiple && this.mutableValue) {\n\t var selected = false;\n\t this.mutableValue.forEach(function (opt) {\n\t if ((typeof opt === 'undefined' ? 'undefined' : (0, _typeof3.default)(opt)) === 'object' && opt[_this2.label] === option[_this2.label]) {\n\t selected = true;\n\t } else if ((typeof opt === 'undefined' ? 'undefined' : (0, _typeof3.default)(opt)) === 'object' && opt[_this2.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.mutableValue === option;\n\t },\n\t onEscape: function onEscape() {\n\t if (!this.search.length) {\n\t this.$refs.search.blur();\n\t } else {\n\t this.search = '';\n\t }\n\t },\n\t onSearchBlur: function onSearchBlur() {\n\t this.open = false;\n\t this.$emit('search:blur');\n\t },\n\t onSearchFocus: function onSearchFocus() {\n\t this.open = true;\n\t this.$emit('search:focus');\n\t },\n\t maybeDeleteValue: function maybeDeleteValue() {\n\t if (!this.$refs.search.value.length && this.mutableValue) {\n\t return this.multiple ? this.mutableValue.pop() : this.mutableValue = null;\n\t }\n\t },\n\t optionExists: function optionExists(option) {\n\t var _this3 = this;\n\t\n\t var exists = false;\n\t\n\t this.mutableOptions.forEach(function (opt) {\n\t if ((typeof opt === 'undefined' ? 'undefined' : (0, _typeof3.default)(opt)) === 'object' && opt[_this3.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 maybePushTag: function maybePushTag(option) {\n\t if (this.pushTags) {\n\t this.mutableOptions.push(option);\n\t }\n\t }\n\t },\n\t\n\t computed: {\n\t dropdownClasses: function dropdownClasses() {\n\t return {\n\t open: this.dropdownOpen,\n\t searchable: this.searchable,\n\t unsearchable: !this.searchable,\n\t loading: this.mutableLoading\n\t };\n\t },\n\t dropdownOpen: function dropdownOpen() {\n\t return this.noDrop ? false : this.open && !this.mutableLoading;\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 _this4 = this;\n\t\n\t var options = this.mutableOptions.filter(function (option) {\n\t if ((typeof option === 'undefined' ? 'undefined' : (0, _typeof3.default)(option)) === 'object' && option.hasOwnProperty(_this4.label)) {\n\t return option[_this4.label].toLowerCase().indexOf(_this4.search.toLowerCase()) > -1;\n\t } else if ((typeof option === 'undefined' ? 'undefined' : (0, _typeof3.default)(option)) === 'object' && !option.hasOwnProperty(_this4.label)) {\n\t return console.warn('[vue-select warn]: Label key \"option.' + _this4.label + '\" does not exist in options object.\\nhttp://sagalbot.github.io/vue-select/#ex-labels');\n\t }\n\t return option.toLowerCase().indexOf(_this4.search.toLowerCase()) > -1;\n\t });\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.mutableValue) {\n\t if ((0, _typeof3.default)(this.mutableValue) === 'object') {\n\t return !(0, _keys2.default)(this.mutableValue).length;\n\t }\n\t return !this.mutableValue.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.mutableValue;\n\t } else if (this.mutableValue) {\n\t return [this.mutableValue];\n\t }\n\t\n\t return [];\n\t }\n\t }\n\t\n\t};\n\n/***/ },\n/* 42 */\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 _ajax = __webpack_require__(28);\n\t\n\tvar _ajax2 = _interopRequireDefault(_ajax);\n\t\n\tvar _typeAheadPointer = __webpack_require__(30);\n\t\n\tvar _typeAheadPointer2 = _interopRequireDefault(_typeAheadPointer);\n\t\n\tvar _pointerScroll = __webpack_require__(29);\n\t\n\tvar _pointerScroll2 = _interopRequireDefault(_pointerScroll);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = { ajax: _ajax2.default, pointer: _typeAheadPointer2.default, pointerScroll: _pointerScroll2.default };\n\n/***/ },\n/* 43 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(49), __esModule: true };\n\n/***/ },\n/* 44 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(50), __esModule: true };\n\n/***/ },\n/* 45 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(51), __esModule: true };\n\n/***/ },\n/* 46 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(52), __esModule: true };\n\n/***/ },\n/* 47 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\t\n\tvar _defineProperty = __webpack_require__(43);\n\t\n\tvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = function (obj, key, value) {\n\t if (key in obj) {\n\t (0, _defineProperty2.default)(obj, key, {\n\t value: value,\n\t enumerable: true,\n\t configurable: true,\n\t writable: true\n\t });\n\t } else {\n\t obj[key] = value;\n\t }\n\t\n\t return obj;\n\t};\n\n/***/ },\n/* 48 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\t\n\texports.__esModule = true;\n\t\n\tvar _iterator = __webpack_require__(46);\n\t\n\tvar _iterator2 = _interopRequireDefault(_iterator);\n\t\n\tvar _symbol = __webpack_require__(45);\n\t\n\tvar _symbol2 = _interopRequireDefault(_symbol);\n\t\n\tvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\t\n\tfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\t\n\texports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n\t return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n\t} : function (obj) {\n\t return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n\t};\n\n/***/ },\n/* 49 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(74);\n\tvar $Object = __webpack_require__(6).Object;\n\tmodule.exports = function defineProperty(it, key, desc){\n\t return $Object.defineProperty(it, key, desc);\n\t};\n\n/***/ },\n/* 50 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(75);\n\tmodule.exports = __webpack_require__(6).Object.keys;\n\n/***/ },\n/* 51 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(78);\n\t__webpack_require__(76);\n\t__webpack_require__(79);\n\t__webpack_require__(80);\n\tmodule.exports = __webpack_require__(6).Symbol;\n\n/***/ },\n/* 52 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(77);\n\t__webpack_require__(81);\n\tmodule.exports = __webpack_require__(27).f('iterator');\n\n/***/ },\n/* 53 */\n/***/ function(module, exports) {\n\n\tmodule.exports = function(it){\n\t if(typeof it != 'function')throw TypeError(it + ' is not a function!');\n\t return it;\n\t};\n\n/***/ },\n/* 54 */\n/***/ function(module, exports) {\n\n\tmodule.exports = function(){ /* empty */ };\n\n/***/ },\n/* 55 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// false -> Array#indexOf\n\t// true -> Array#includes\n\tvar toIObject = __webpack_require__(5)\n\t , toLength = __webpack_require__(72)\n\t , toIndex = __webpack_require__(71);\n\tmodule.exports = function(IS_INCLUDES){\n\t return function($this, el, fromIndex){\n\t var O = toIObject($this)\n\t , length = toLength(O.length)\n\t , index = toIndex(fromIndex, length)\n\t , value;\n\t // Array#includes uses SameValueZero equality algorithm\n\t if(IS_INCLUDES && el != el)while(length > index){\n\t value = O[index++];\n\t if(value != value)return true;\n\t // Array#toIndex ignores holes, Array#includes - not\n\t } else for(;length > index; index++)if(IS_INCLUDES || index in O){\n\t if(O[index] === el)return IS_INCLUDES || index || 0;\n\t } return !IS_INCLUDES && -1;\n\t };\n\t};\n\n/***/ },\n/* 56 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// optional / simple context binding\n\tvar aFunction = __webpack_require__(53);\n\tmodule.exports = function(fn, that, length){\n\t aFunction(fn);\n\t if(that === undefined)return fn;\n\t switch(length){\n\t case 1: return function(a){\n\t return fn.call(that, a);\n\t };\n\t case 2: return function(a, b){\n\t return fn.call(that, a, b);\n\t };\n\t case 3: return function(a, b, c){\n\t return fn.call(that, a, b, c);\n\t };\n\t }\n\t return function(/* ...args */){\n\t return fn.apply(that, arguments);\n\t };\n\t};\n\n/***/ },\n/* 57 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// all enumerable object keys, includes symbols\n\tvar getKeys = __webpack_require__(10)\n\t , gOPS = __webpack_require__(37)\n\t , pIE = __webpack_require__(20);\n\tmodule.exports = function(it){\n\t var result = getKeys(it)\n\t , getSymbols = gOPS.f;\n\t if(getSymbols){\n\t var symbols = getSymbols(it)\n\t , isEnum = pIE.f\n\t , i = 0\n\t , key;\n\t while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))result.push(key);\n\t } return result;\n\t};\n\n/***/ },\n/* 58 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = __webpack_require__(1).document && document.documentElement;\n\n/***/ },\n/* 59 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// fallback for non-array-like ES3 and non-enumerable old V8 strings\n\tvar cof = __webpack_require__(31);\n\tmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){\n\t return cof(it) == 'String' ? it.split('') : Object(it);\n\t};\n\n/***/ },\n/* 60 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 7.2.2 IsArray(argument)\n\tvar cof = __webpack_require__(31);\n\tmodule.exports = Array.isArray || function isArray(arg){\n\t return cof(arg) == 'Array';\n\t};\n\n/***/ },\n/* 61 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar create = __webpack_require__(35)\n\t , descriptor = __webpack_require__(14)\n\t , setToStringTag = __webpack_require__(21)\n\t , IteratorPrototype = {};\n\t\n\t// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n\t__webpack_require__(7)(IteratorPrototype, __webpack_require__(8)('iterator'), function(){ return this; });\n\t\n\tmodule.exports = function(Constructor, NAME, next){\n\t Constructor.prototype = create(IteratorPrototype, {next: descriptor(1, next)});\n\t setToStringTag(Constructor, NAME + ' Iterator');\n\t};\n\n/***/ },\n/* 62 */\n/***/ function(module, exports) {\n\n\tmodule.exports = function(done, value){\n\t return {value: value, done: !!done};\n\t};\n\n/***/ },\n/* 63 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar getKeys = __webpack_require__(10)\n\t , toIObject = __webpack_require__(5);\n\tmodule.exports = function(object, el){\n\t var O = toIObject(object)\n\t , keys = getKeys(O)\n\t , length = keys.length\n\t , index = 0\n\t , key;\n\t while(length > index)if(O[key = keys[index++]] === el)return key;\n\t};\n\n/***/ },\n/* 64 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar META = __webpack_require__(15)('meta')\n\t , isObject = __webpack_require__(13)\n\t , has = __webpack_require__(3)\n\t , setDesc = __webpack_require__(4).f\n\t , id = 0;\n\tvar isExtensible = Object.isExtensible || function(){\n\t return true;\n\t};\n\tvar FREEZE = !__webpack_require__(9)(function(){\n\t return isExtensible(Object.preventExtensions({}));\n\t});\n\tvar setMeta = function(it){\n\t setDesc(it, META, {value: {\n\t i: 'O' + ++id, // object ID\n\t w: {} // weak collections IDs\n\t }});\n\t};\n\tvar fastKey = function(it, create){\n\t // return primitive with prefix\n\t if(!isObject(it))return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n\t if(!has(it, META)){\n\t // can't set metadata to uncaught frozen object\n\t if(!isExtensible(it))return 'F';\n\t // not necessary to add metadata\n\t if(!create)return 'E';\n\t // add missing metadata\n\t setMeta(it);\n\t // return object ID\n\t } return it[META].i;\n\t};\n\tvar getWeak = function(it, create){\n\t if(!has(it, META)){\n\t // can't set metadata to uncaught frozen object\n\t if(!isExtensible(it))return true;\n\t // not necessary to add metadata\n\t if(!create)return false;\n\t // add missing metadata\n\t setMeta(it);\n\t // return hash weak collections IDs\n\t } return it[META].w;\n\t};\n\t// add metadata on freeze-family methods calling\n\tvar onFreeze = function(it){\n\t if(FREEZE && meta.NEED && isExtensible(it) && !has(it, META))setMeta(it);\n\t return it;\n\t};\n\tvar meta = module.exports = {\n\t KEY: META,\n\t NEED: false,\n\t fastKey: fastKey,\n\t getWeak: getWeak,\n\t onFreeze: onFreeze\n\t};\n\n/***/ },\n/* 65 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar dP = __webpack_require__(4)\n\t , anObject = __webpack_require__(11)\n\t , getKeys = __webpack_require__(10);\n\t\n\tmodule.exports = __webpack_require__(2) ? Object.defineProperties : function defineProperties(O, Properties){\n\t anObject(O);\n\t var keys = getKeys(Properties)\n\t , length = keys.length\n\t , i = 0\n\t , P;\n\t while(length > i)dP.f(O, P = keys[i++], Properties[P]);\n\t return O;\n\t};\n\n/***/ },\n/* 66 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar pIE = __webpack_require__(20)\n\t , createDesc = __webpack_require__(14)\n\t , toIObject = __webpack_require__(5)\n\t , toPrimitive = __webpack_require__(25)\n\t , has = __webpack_require__(3)\n\t , IE8_DOM_DEFINE = __webpack_require__(33)\n\t , gOPD = Object.getOwnPropertyDescriptor;\n\t\n\texports.f = __webpack_require__(2) ? gOPD : function getOwnPropertyDescriptor(O, P){\n\t O = toIObject(O);\n\t P = toPrimitive(P, true);\n\t if(IE8_DOM_DEFINE)try {\n\t return gOPD(O, P);\n\t } catch(e){ /* empty */ }\n\t if(has(O, P))return createDesc(!pIE.f.call(O, P), O[P]);\n\t};\n\n/***/ },\n/* 67 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\n\tvar toIObject = __webpack_require__(5)\n\t , gOPN = __webpack_require__(36).f\n\t , toString = {}.toString;\n\t\n\tvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n\t ? Object.getOwnPropertyNames(window) : [];\n\t\n\tvar getWindowNames = function(it){\n\t try {\n\t return gOPN(it);\n\t } catch(e){\n\t return windowNames.slice();\n\t }\n\t};\n\t\n\tmodule.exports.f = function getOwnPropertyNames(it){\n\t return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n\t};\n\n\n/***/ },\n/* 68 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\n\tvar has = __webpack_require__(3)\n\t , toObject = __webpack_require__(40)\n\t , IE_PROTO = __webpack_require__(22)('IE_PROTO')\n\t , ObjectProto = Object.prototype;\n\t\n\tmodule.exports = Object.getPrototypeOf || function(O){\n\t O = toObject(O);\n\t if(has(O, IE_PROTO))return O[IE_PROTO];\n\t if(typeof O.constructor == 'function' && O instanceof O.constructor){\n\t return O.constructor.prototype;\n\t } return O instanceof Object ? ObjectProto : null;\n\t};\n\n/***/ },\n/* 69 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// most Object methods by ES6 should accept primitives\n\tvar $export = __webpack_require__(12)\n\t , core = __webpack_require__(6)\n\t , fails = __webpack_require__(9);\n\tmodule.exports = function(KEY, exec){\n\t var fn = (core.Object || {})[KEY] || Object[KEY]\n\t , exp = {};\n\t exp[KEY] = exec(fn);\n\t $export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp);\n\t};\n\n/***/ },\n/* 70 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar toInteger = __webpack_require__(24)\n\t , defined = __webpack_require__(16);\n\t// true -> String#at\n\t// false -> String#codePointAt\n\tmodule.exports = function(TO_STRING){\n\t return function(that, pos){\n\t var s = String(defined(that))\n\t , i = toInteger(pos)\n\t , l = s.length\n\t , a, b;\n\t if(i < 0 || i >= l)return TO_STRING ? '' : undefined;\n\t a = s.charCodeAt(i);\n\t return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n\t ? TO_STRING ? s.charAt(i) : a\n\t : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n\t };\n\t};\n\n/***/ },\n/* 71 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar toInteger = __webpack_require__(24)\n\t , max = Math.max\n\t , min = Math.min;\n\tmodule.exports = function(index, length){\n\t index = toInteger(index);\n\t return index < 0 ? max(index + length, 0) : min(index, length);\n\t};\n\n/***/ },\n/* 72 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 7.1.15 ToLength\n\tvar toInteger = __webpack_require__(24)\n\t , min = Math.min;\n\tmodule.exports = function(it){\n\t return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n\t};\n\n/***/ },\n/* 73 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar addToUnscopables = __webpack_require__(54)\n\t , step = __webpack_require__(62)\n\t , Iterators = __webpack_require__(18)\n\t , toIObject = __webpack_require__(5);\n\t\n\t// 22.1.3.4 Array.prototype.entries()\n\t// 22.1.3.13 Array.prototype.keys()\n\t// 22.1.3.29 Array.prototype.values()\n\t// 22.1.3.30 Array.prototype[@@iterator]()\n\tmodule.exports = __webpack_require__(34)(Array, 'Array', function(iterated, kind){\n\t this._t = toIObject(iterated); // target\n\t this._i = 0; // next index\n\t this._k = kind; // kind\n\t// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n\t}, function(){\n\t var O = this._t\n\t , kind = this._k\n\t , index = this._i++;\n\t if(!O || index >= O.length){\n\t this._t = undefined;\n\t return step(1);\n\t }\n\t if(kind == 'keys' )return step(0, index);\n\t if(kind == 'values')return step(0, O[index]);\n\t return step(0, [index, O[index]]);\n\t}, 'values');\n\t\n\t// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\n\tIterators.Arguments = Iterators.Array;\n\t\n\taddToUnscopables('keys');\n\taddToUnscopables('values');\n\taddToUnscopables('entries');\n\n/***/ },\n/* 74 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar $export = __webpack_require__(12);\n\t// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n\t$export($export.S + $export.F * !__webpack_require__(2), 'Object', {defineProperty: __webpack_require__(4).f});\n\n/***/ },\n/* 75 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.14 Object.keys(O)\n\tvar toObject = __webpack_require__(40)\n\t , $keys = __webpack_require__(10);\n\t\n\t__webpack_require__(69)('keys', function(){\n\t return function keys(it){\n\t return $keys(toObject(it));\n\t };\n\t});\n\n/***/ },\n/* 76 */\n/***/ function(module, exports) {\n\n\n\n/***/ },\n/* 77 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\tvar $at = __webpack_require__(70)(true);\n\t\n\t// 21.1.3.27 String.prototype[@@iterator]()\n\t__webpack_require__(34)(String, 'String', function(iterated){\n\t this._t = String(iterated); // target\n\t this._i = 0; // next index\n\t// 21.1.5.2.1 %StringIteratorPrototype%.next()\n\t}, function(){\n\t var O = this._t\n\t , index = this._i\n\t , point;\n\t if(index >= O.length)return {value: undefined, done: true};\n\t point = $at(O, index);\n\t this._i += point.length;\n\t return {value: point, done: false};\n\t});\n\n/***/ },\n/* 78 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t// ECMAScript 6 symbols shim\n\tvar global = __webpack_require__(1)\n\t , has = __webpack_require__(3)\n\t , DESCRIPTORS = __webpack_require__(2)\n\t , $export = __webpack_require__(12)\n\t , redefine = __webpack_require__(39)\n\t , META = __webpack_require__(64).KEY\n\t , $fails = __webpack_require__(9)\n\t , shared = __webpack_require__(23)\n\t , setToStringTag = __webpack_require__(21)\n\t , uid = __webpack_require__(15)\n\t , wks = __webpack_require__(8)\n\t , wksExt = __webpack_require__(27)\n\t , wksDefine = __webpack_require__(26)\n\t , keyOf = __webpack_require__(63)\n\t , enumKeys = __webpack_require__(57)\n\t , isArray = __webpack_require__(60)\n\t , anObject = __webpack_require__(11)\n\t , toIObject = __webpack_require__(5)\n\t , toPrimitive = __webpack_require__(25)\n\t , createDesc = __webpack_require__(14)\n\t , _create = __webpack_require__(35)\n\t , gOPNExt = __webpack_require__(67)\n\t , $GOPD = __webpack_require__(66)\n\t , $DP = __webpack_require__(4)\n\t , $keys = __webpack_require__(10)\n\t , gOPD = $GOPD.f\n\t , dP = $DP.f\n\t , gOPN = gOPNExt.f\n\t , $Symbol = global.Symbol\n\t , $JSON = global.JSON\n\t , _stringify = $JSON && $JSON.stringify\n\t , PROTOTYPE = 'prototype'\n\t , HIDDEN = wks('_hidden')\n\t , TO_PRIMITIVE = wks('toPrimitive')\n\t , isEnum = {}.propertyIsEnumerable\n\t , SymbolRegistry = shared('symbol-registry')\n\t , AllSymbols = shared('symbols')\n\t , OPSymbols = shared('op-symbols')\n\t , ObjectProto = Object[PROTOTYPE]\n\t , USE_NATIVE = typeof $Symbol == 'function'\n\t , QObject = global.QObject;\n\t// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\n\tvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\t\n\t// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\n\tvar setSymbolDesc = DESCRIPTORS && $fails(function(){\n\t return _create(dP({}, 'a', {\n\t get: function(){ return dP(this, 'a', {value: 7}).a; }\n\t })).a != 7;\n\t}) ? function(it, key, D){\n\t var protoDesc = gOPD(ObjectProto, key);\n\t if(protoDesc)delete ObjectProto[key];\n\t dP(it, key, D);\n\t if(protoDesc && it !== ObjectProto)dP(ObjectProto, key, protoDesc);\n\t} : dP;\n\t\n\tvar wrap = function(tag){\n\t var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n\t sym._k = tag;\n\t return sym;\n\t};\n\t\n\tvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function(it){\n\t return typeof it == 'symbol';\n\t} : function(it){\n\t return it instanceof $Symbol;\n\t};\n\t\n\tvar $defineProperty = function defineProperty(it, key, D){\n\t if(it === ObjectProto)$defineProperty(OPSymbols, key, D);\n\t anObject(it);\n\t key = toPrimitive(key, true);\n\t anObject(D);\n\t if(has(AllSymbols, key)){\n\t if(!D.enumerable){\n\t if(!has(it, HIDDEN))dP(it, HIDDEN, createDesc(1, {}));\n\t it[HIDDEN][key] = true;\n\t } else {\n\t if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false;\n\t D = _create(D, {enumerable: createDesc(0, false)});\n\t } return setSymbolDesc(it, key, D);\n\t } return dP(it, key, D);\n\t};\n\tvar $defineProperties = function defineProperties(it, P){\n\t anObject(it);\n\t var keys = enumKeys(P = toIObject(P))\n\t , i = 0\n\t , l = keys.length\n\t , key;\n\t while(l > i)$defineProperty(it, key = keys[i++], P[key]);\n\t return it;\n\t};\n\tvar $create = function create(it, P){\n\t return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n\t};\n\tvar $propertyIsEnumerable = function propertyIsEnumerable(key){\n\t var E = isEnum.call(this, key = toPrimitive(key, true));\n\t if(this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return false;\n\t return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n\t};\n\tvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key){\n\t it = toIObject(it);\n\t key = toPrimitive(key, true);\n\t if(it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return;\n\t var D = gOPD(it, key);\n\t if(D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true;\n\t return D;\n\t};\n\tvar $getOwnPropertyNames = function getOwnPropertyNames(it){\n\t var names = gOPN(toIObject(it))\n\t , result = []\n\t , i = 0\n\t , key;\n\t while(names.length > i){\n\t if(!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META)result.push(key);\n\t } return result;\n\t};\n\tvar $getOwnPropertySymbols = function getOwnPropertySymbols(it){\n\t var IS_OP = it === ObjectProto\n\t , names = gOPN(IS_OP ? OPSymbols : toIObject(it))\n\t , result = []\n\t , i = 0\n\t , key;\n\t while(names.length > i){\n\t if(has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true))result.push(AllSymbols[key]);\n\t } return result;\n\t};\n\t\n\t// 19.4.1.1 Symbol([description])\n\tif(!USE_NATIVE){\n\t $Symbol = function Symbol(){\n\t if(this instanceof $Symbol)throw TypeError('Symbol is not a constructor!');\n\t var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n\t var $set = function(value){\n\t if(this === ObjectProto)$set.call(OPSymbols, value);\n\t if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false;\n\t setSymbolDesc(this, tag, createDesc(1, value));\n\t };\n\t if(DESCRIPTORS && setter)setSymbolDesc(ObjectProto, tag, {configurable: true, set: $set});\n\t return wrap(tag);\n\t };\n\t redefine($Symbol[PROTOTYPE], 'toString', function toString(){\n\t return this._k;\n\t });\n\t\n\t $GOPD.f = $getOwnPropertyDescriptor;\n\t $DP.f = $defineProperty;\n\t __webpack_require__(36).f = gOPNExt.f = $getOwnPropertyNames;\n\t __webpack_require__(20).f = $propertyIsEnumerable;\n\t __webpack_require__(37).f = $getOwnPropertySymbols;\n\t\n\t if(DESCRIPTORS && !__webpack_require__(19)){\n\t redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n\t }\n\t\n\t wksExt.f = function(name){\n\t return wrap(wks(name));\n\t }\n\t}\n\t\n\t$export($export.G + $export.W + $export.F * !USE_NATIVE, {Symbol: $Symbol});\n\t\n\tfor(var symbols = (\n\t // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n\t 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n\t).split(','), i = 0; symbols.length > i; )wks(symbols[i++]);\n\t\n\tfor(var symbols = $keys(wks.store), i = 0; symbols.length > i; )wksDefine(symbols[i++]);\n\t\n\t$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n\t // 19.4.2.1 Symbol.for(key)\n\t 'for': function(key){\n\t return has(SymbolRegistry, key += '')\n\t ? SymbolRegistry[key]\n\t : SymbolRegistry[key] = $Symbol(key);\n\t },\n\t // 19.4.2.5 Symbol.keyFor(sym)\n\t keyFor: function keyFor(key){\n\t if(isSymbol(key))return keyOf(SymbolRegistry, key);\n\t throw TypeError(key + ' is not a symbol!');\n\t },\n\t useSetter: function(){ setter = true; },\n\t useSimple: function(){ setter = false; }\n\t});\n\t\n\t$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n\t // 19.1.2.2 Object.create(O [, Properties])\n\t create: $create,\n\t // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n\t defineProperty: $defineProperty,\n\t // 19.1.2.3 Object.defineProperties(O, Properties)\n\t defineProperties: $defineProperties,\n\t // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n\t getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n\t // 19.1.2.7 Object.getOwnPropertyNames(O)\n\t getOwnPropertyNames: $getOwnPropertyNames,\n\t // 19.1.2.8 Object.getOwnPropertySymbols(O)\n\t getOwnPropertySymbols: $getOwnPropertySymbols\n\t});\n\t\n\t// 24.3.2 JSON.stringify(value [, replacer [, space]])\n\t$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function(){\n\t var S = $Symbol();\n\t // MS Edge converts symbol values to JSON as {}\n\t // WebKit converts symbol values to JSON as null\n\t // V8 throws on boxed symbols\n\t return _stringify([S]) != '[null]' || _stringify({a: S}) != '{}' || _stringify(Object(S)) != '{}';\n\t})), 'JSON', {\n\t stringify: function stringify(it){\n\t if(it === undefined || isSymbol(it))return; // IE8 returns string on undefined\n\t var args = [it]\n\t , i = 1\n\t , replacer, $replacer;\n\t while(arguments.length > i)args.push(arguments[i++]);\n\t replacer = args[1];\n\t if(typeof replacer == 'function')$replacer = replacer;\n\t if($replacer || !isArray(replacer))replacer = function(key, value){\n\t if($replacer)value = $replacer.call(this, key, value);\n\t if(!isSymbol(value))return value;\n\t };\n\t args[1] = replacer;\n\t return _stringify.apply($JSON, args);\n\t }\n\t});\n\t\n\t// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n\t$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(7)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n\t// 19.4.3.5 Symbol.prototype[@@toStringTag]\n\tsetToStringTag($Symbol, 'Symbol');\n\t// 20.2.1.9 Math[@@toStringTag]\n\tsetToStringTag(Math, 'Math', true);\n\t// 24.3.3 JSON[@@toStringTag]\n\tsetToStringTag(global.JSON, 'JSON', true);\n\n/***/ },\n/* 79 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(26)('asyncIterator');\n\n/***/ },\n/* 80 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(26)('observable');\n\n/***/ },\n/* 81 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(73);\n\tvar global = __webpack_require__(1)\n\t , hide = __webpack_require__(7)\n\t , Iterators = __webpack_require__(18)\n\t , TO_STRING_TAG = __webpack_require__(8)('toStringTag');\n\t\n\tfor(var collections = ['NodeList', 'DOMTokenList', 'MediaList', 'StyleSheetList', 'CSSRuleList'], i = 0; i < 5; i++){\n\t var NAME = collections[i]\n\t , Collection = global[NAME]\n\t , proto = Collection && Collection.prototype;\n\t if(proto && !proto[TO_STRING_TAG])hide(proto, TO_STRING_TAG, NAME);\n\t Iterators[NAME] = Iterators.Array;\n\t}\n\n/***/ },\n/* 82 */\n/***/ function(module, exports, __webpack_require__) {\n\n\texports = module.exports = __webpack_require__(83)();\n\t// imports\n\t\n\t\n\t// module\n\texports.push([module.id, \".v-select{position:relative;font-family:sans-serif}.v-select,.v-select *{box-sizing:border-box}.v-select .open-indicator{position:absolute;bottom:6px;right:10px;display:inline-block;cursor:pointer;pointer-events:all;transition:all .15s cubic-bezier(1,-.115,.975,.855);transition-timing-function:cubic-bezier(1,-.115,.975,.855);opacity:1;transition:opacity .1s;height:20px;width:10px}.v-select .open-indicator:before{border-color:rgba(60,60,60,.5);border-style:solid;border-width:3px 3px 0 0;content:\\\"\\\";display:inline-block;height:10px;width:10px;vertical-align:top;transform:rotate(133deg);transition:all .15s cubic-bezier(1,-.115,.975,.855);transition-timing-function:cubic-bezier(1,-.115,.975,.855);box-sizing:inherit}.v-select.open .open-indicator:before{transform:rotate(315deg)}.v-select.loading .open-indicator{opacity:0}.v-select.open .open-indicator{bottom:1px}.v-select .dropdown-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;padding:0;background:none;border:1px solid rgba(60,60,60,.26);border-radius:4px;white-space:normal;transition:border-radius .25s}.v-select .dropdown-toggle:after{visibility:hidden;display:block;font-size:0;content:\\\" \\\";clear:both;height:0}.v-select.searchable .dropdown-toggle{cursor:text}.v-select.unsearchable .dropdown-toggle{cursor:pointer}.v-select.open .dropdown-toggle{border-bottom-color:transparent;border-bottom-left-radius:0;border-bottom-right-radius:0}.v-select .dropdown-menu{display:block;position:absolute;top:100%;left:0;z-index:1000;min-width:160px;padding:5px 0;margin:0;width:100%;overflow-y:scroll;border:1px solid rgba(0,0,0,.26);box-shadow:0 3px 6px 0 rgba(0,0,0,.15);border-top:none;border-radius:0 0 4px 4px;text-align:left;list-style:none;background:#fff}.v-select .no-options{text-align:center}.v-select .selected-tag{color:#333;background-color:#f0f0f0;border:1px solid #ccc;border-radius:4px;height:26px;margin:4px 1px 0 3px;padding:1px .25em;float:left;line-height:24px}.v-select .selected-tag .close{float:none;margin-right:0;font-size:20px;appearance:none;padding:0;cursor:pointer;background:0 0;border:0;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.v-select input[type=search]::-webkit-search-cancel-button,.v-select input[type=search]::-webkit-search-decoration,.v-select input[type=search]::-webkit-search-results-button,.v-select input[type=search]::-webkit-search-results-decoration{display:none}.v-select input[type=search]::-ms-clear{display:none}.v-select input[type=search],.v-select input[type=search]:focus{appearance:none;-webkit-appearance:none;-moz-appearance:none;line-height:1.42857143;font-size:1em;height:34px;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.unsearchable input[type=search]{max-width:1px}.v-select li{line-height:1.42857143}.v-select li>a{display:block;padding:3px 20px;clear:both;color:#333;white-space:nowrap}.v-select li:hover{cursor:pointer}.v-select .dropdown-menu .active>a{color:#333;background:rgba(50,50,50,.1)}.v-select .dropdown-menu>.highlight>a{background:#5897fb;color:#fff}.v-select .highlight:not(:last-child){margin-bottom:0}.v-select .spinner{opacity:0;position:absolute;top:5px;right:10px;font-size:5px;text-indent:-9999em;overflow:hidden;border-top:.9em solid hsla(0,0%,39%,.1);border-right:.9em solid hsla(0,0%,39%,.1);border-bottom:.9em solid hsla(0,0%,39%,.1);border-left:.9em solid rgba(60,60,60,.45);transform:translateZ(0);animation:vSelectSpinner 1.1s infinite linear;transition:opacity .1s}.v-select .spinner,.v-select .spinner:after{border-radius:50%;width:5em;height:5em}.v-select.loading .spinner{opacity:1}@-webkit-keyframes vSelectSpinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes vSelectSpinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fade-enter-active,.fade-leave-active{transition:opacity .15s cubic-bezier(1,.5,.8,1)}.fade-enter,.fade-leave-to{opacity:0}\", \"\"]);\n\t\n\t// exports\n\n\n/***/ },\n/* 83 */\n/***/ function(module, exports) {\n\n\t/*\r\n\t\tMIT License http://www.opensource.org/licenses/mit-license.php\r\n\t\tAuthor Tobias Koppers @sokra\r\n\t*/\r\n\t// css base code, injected by the css-loader\r\n\tmodule.exports = function() {\r\n\t\tvar list = [];\r\n\t\r\n\t\t// return the list of modules as css string\r\n\t\tlist.toString = function toString() {\r\n\t\t\tvar result = [];\r\n\t\t\tfor(var i = 0; i < this.length; i++) {\r\n\t\t\t\tvar item = this[i];\r\n\t\t\t\tif(item[2]) {\r\n\t\t\t\t\tresult.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\r\n\t\t\t\t} else {\r\n\t\t\t\t\tresult.push(item[1]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn result.join(\"\");\r\n\t\t};\r\n\t\r\n\t\t// import a list of modules into the list\r\n\t\tlist.i = function(modules, mediaQuery) {\r\n\t\t\tif(typeof modules === \"string\")\r\n\t\t\t\tmodules = [[null, modules, \"\"]];\r\n\t\t\tvar alreadyImportedModules = {};\r\n\t\t\tfor(var i = 0; i < this.length; i++) {\r\n\t\t\t\tvar id = this[i][0];\r\n\t\t\t\tif(typeof id === \"number\")\r\n\t\t\t\t\talreadyImportedModules[id] = true;\r\n\t\t\t}\r\n\t\t\tfor(i = 0; i < modules.length; i++) {\r\n\t\t\t\tvar item = modules[i];\r\n\t\t\t\t// skip already imported module\r\n\t\t\t\t// this implementation is not 100% perfect for weird media query combinations\r\n\t\t\t\t// when a module is imported multiple times with different media queries.\r\n\t\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\r\n\t\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\r\n\t\t\t\t\tif(mediaQuery && !item[2]) {\r\n\t\t\t\t\t\titem[2] = mediaQuery;\r\n\t\t\t\t\t} else if(mediaQuery) {\r\n\t\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\r\n\t\t\t\t\t}\r\n\t\t\t\t\tlist.push(item);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\t\treturn list;\r\n\t};\r\n\n\n/***/ },\n/* 84 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\n\t/* styles */\n\t__webpack_require__(88)\n\t\n\tvar Component = __webpack_require__(85)(\n\t /* script */\n\t __webpack_require__(41),\n\t /* template */\n\t __webpack_require__(86),\n\t /* scopeId */\n\t null,\n\t /* cssModules */\n\t null\n\t)\n\t\n\tmodule.exports = Component.exports\n\n\n/***/ },\n/* 85 */\n/***/ function(module, exports) {\n\n\tmodule.exports = function normalizeComponent (\n\t rawScriptExports,\n\t compiledTemplate,\n\t scopeId,\n\t cssModules\n\t) {\n\t var esModule\n\t var scriptExports = rawScriptExports = rawScriptExports || {}\n\t\n\t // ES6 modules interop\n\t var type = typeof rawScriptExports.default\n\t if (type === 'object' || type === 'function') {\n\t esModule = rawScriptExports\n\t scriptExports = rawScriptExports.default\n\t }\n\t\n\t // Vue.extend constructor export interop\n\t var options = typeof scriptExports === 'function'\n\t ? scriptExports.options\n\t : scriptExports\n\t\n\t // render functions\n\t if (compiledTemplate) {\n\t options.render = compiledTemplate.render\n\t options.staticRenderFns = compiledTemplate.staticRenderFns\n\t }\n\t\n\t // scopedId\n\t if (scopeId) {\n\t options._scopeId = scopeId\n\t }\n\t\n\t // inject cssModules\n\t if (cssModules) {\n\t var computed = options.computed || (options.computed = {})\n\t Object.keys(cssModules).forEach(function (key) {\n\t var module = cssModules[key]\n\t computed[key] = function () { return module }\n\t })\n\t }\n\t\n\t return {\n\t esModule: esModule,\n\t exports: scriptExports,\n\t options: options\n\t }\n\t}\n\n\n/***/ },\n/* 86 */\n/***/ function(module, exports) {\n\n\tmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n\t return _c('div', {\n\t staticClass: \"dropdown v-select\",\n\t class: _vm.dropdownClasses\n\t }, [_c('div', {\n\t ref: \"toggle\",\n\t staticClass: \"dropdown-toggle\",\n\t on: {\n\t \"mousedown\": function($event) {\n\t $event.preventDefault();\n\t _vm.toggleDropdown($event)\n\t }\n\t }\n\t }, [_vm._l((_vm.valueAsArray), function(option) {\n\t return _c('span', {\n\t key: option.index,\n\t staticClass: \"selected-tag\"\n\t }, [_vm._v(\"\\n \" + _vm._s(_vm.getOptionLabel(option)) + \"\\n \"), (_vm.multiple) ? _c('button', {\n\t staticClass: \"close\",\n\t attrs: {\n\t \"type\": \"button\"\n\t },\n\t on: {\n\t \"click\": function($event) {\n\t _vm.deselect(option)\n\t }\n\t }\n\t }, [_c('span', {\n\t attrs: {\n\t \"aria-hidden\": \"true\"\n\t }\n\t }, [_vm._v(\"×\")])]) : _vm._e()])\n\t }), _vm._v(\" \"), _c('input', {\n\t directives: [{\n\t name: \"model\",\n\t rawName: \"v-model\",\n\t value: (_vm.search),\n\t expression: \"search\"\n\t }],\n\t ref: \"search\",\n\t staticClass: \"form-control\",\n\t style: ({\n\t width: _vm.isValueEmpty ? '100%' : 'auto'\n\t }),\n\t attrs: {\n\t \"type\": \"search\",\n\t \"placeholder\": _vm.searchPlaceholder,\n\t \"readonly\": !_vm.searchable\n\t },\n\t domProps: {\n\t \"value\": (_vm.search)\n\t },\n\t on: {\n\t \"keydown\": [function($event) {\n\t if (_vm._k($event.keyCode, \"delete\", [8, 46])) { return null; }\n\t _vm.maybeDeleteValue($event)\n\t }, function($event) {\n\t if (_vm._k($event.keyCode, \"up\", 38)) { return null; }\n\t $event.preventDefault();\n\t _vm.typeAheadUp($event)\n\t }, function($event) {\n\t if (_vm._k($event.keyCode, \"down\", 40)) { return null; }\n\t $event.preventDefault();\n\t _vm.typeAheadDown($event)\n\t }],\n\t \"keyup\": [function($event) {\n\t if (_vm._k($event.keyCode, \"esc\", 27)) { return null; }\n\t _vm.onEscape($event)\n\t }, function($event) {\n\t if (_vm._k($event.keyCode, \"enter\", 13)) { return null; }\n\t $event.preventDefault();\n\t _vm.typeAheadSelect($event)\n\t }],\n\t \"blur\": _vm.onSearchBlur,\n\t \"focus\": _vm.onSearchFocus,\n\t \"input\": function($event) {\n\t if ($event.target.composing) { return; }\n\t _vm.search = $event.target.value\n\t }\n\t }\n\t }), _vm._v(\" \"), (!_vm.noDrop) ? _c('i', {\n\t ref: \"openIndicator\",\n\t staticClass: \"open-indicator\",\n\t attrs: {\n\t \"role\": \"presentation\"\n\t }\n\t }) : _vm._e(), _vm._v(\" \"), _vm._t(\"spinner\", [_c('div', {\n\t directives: [{\n\t name: \"show\",\n\t rawName: \"v-show\",\n\t value: (_vm.mutableLoading),\n\t expression: \"mutableLoading\"\n\t }],\n\t staticClass: \"spinner\"\n\t }, [_vm._v(\"Loading...\")])])], 2), _vm._v(\" \"), _c('transition', {\n\t attrs: {\n\t \"name\": _vm.transition\n\t }\n\t }, [(_vm.dropdownOpen) ? _c('ul', {\n\t ref: \"dropdownMenu\",\n\t staticClass: \"dropdown-menu\",\n\t style: ({\n\t 'max-height': _vm.maxHeight\n\t })\n\t }, [_vm._l((_vm.filteredOptions), function(option, index) {\n\t return _c('li', {\n\t key: index,\n\t class: {\n\t active: _vm.isOptionSelected(option), highlight: index === _vm.typeAheadPointer\n\t },\n\t on: {\n\t \"mouseover\": function($event) {\n\t _vm.typeAheadPointer = index\n\t }\n\t }\n\t }, [_c('a', {\n\t on: {\n\t \"mousedown\": function($event) {\n\t $event.preventDefault();\n\t _vm.select(option)\n\t }\n\t }\n\t }, [_vm._v(\"\\n \" + _vm._s(_vm.getOptionLabel(option)) + \"\\n \")])])\n\t }), _vm._v(\" \"), (!_vm.filteredOptions.length) ? _c('li', {\n\t staticClass: \"no-options\"\n\t }, [_vm._t(\"no-options\", [_vm._v(\"Sorry, no matching options.\")])], 2) : _vm._e()], 2) : _vm._e()])], 1)\n\t},staticRenderFns: []}\n\n/***/ },\n/* 87 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/*\n\t\tMIT License http://www.opensource.org/licenses/mit-license.php\n\t\tAuthor Tobias Koppers @sokra\n\t*/\n\tvar stylesInDom = {},\n\t\tmemoize = function(fn) {\n\t\t\tvar memo;\n\t\t\treturn function () {\n\t\t\t\tif (typeof memo === \"undefined\") memo = fn.apply(this, arguments);\n\t\t\t\treturn memo;\n\t\t\t};\n\t\t},\n\t\tisOldIE = memoize(function() {\n\t\t\treturn /msie [6-9]\\b/.test(window.navigator.userAgent.toLowerCase());\n\t\t}),\n\t\tgetHeadElement = memoize(function () {\n\t\t\treturn document.head || document.getElementsByTagName(\"head\")[0];\n\t\t}),\n\t\tsingletonElement = null,\n\t\tsingletonCounter = 0,\n\t\tstyleElementsInsertedAtTop = [];\n\t\n\tmodule.exports = function(list, options) {\n\t\tif(false) {\n\t\t\tif(typeof document !== \"object\") throw new Error(\"The style-loader cannot be used in a non-browser environment\");\n\t\t}\n\t\n\t\toptions = options || {};\n\t\t// Force single-tag solution on IE6-9, which has a hard limit on the # of \n\n\n\n\n\n\n\n// WEBPACK FOOTER //\n// Select.vue?4bae156c","import ajax from './ajax'\nimport pointer from './typeAheadPointer'\nimport pointerScroll from './pointerScroll'\n\nexport default { ajax, pointer, pointerScroll }\n\n\n\n// WEBPACK FOOTER //\n// ./src/mixins/index.js","module.exports = { \"default\": require(\"core-js/library/fn/object/define-property\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/object/define-property.js\n// module id = 43\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/keys\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/object/keys.js\n// module id = 44\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/symbol\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/symbol.js\n// module id = 45\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/symbol/iterator\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/symbol/iterator.js\n// module id = 46\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (obj, key, value) {\n if (key in obj) {\n (0, _defineProperty2.default)(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/helpers/defineProperty.js\n// module id = 47\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _iterator = require(\"../core-js/symbol/iterator\");\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = require(\"../core-js/symbol\");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/helpers/typeof.js\n// module id = 48\n// module chunks = 0","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc){\n return $Object.defineProperty(it, key, desc);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/object/define-property.js\n// module id = 49\n// module chunks = 0","require('../../modules/es6.object.keys');\nmodule.exports = require('../../modules/_core').Object.keys;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/object/keys.js\n// module id = 50\n// module chunks = 0","require('../../modules/es6.symbol');\nrequire('../../modules/es6.object.to-string');\nrequire('../../modules/es7.symbol.async-iterator');\nrequire('../../modules/es7.symbol.observable');\nmodule.exports = require('../../modules/_core').Symbol;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/symbol/index.js\n// module id = 51\n// module chunks = 0","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/_wks-ext').f('iterator');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/symbol/iterator.js\n// module id = 52\n// module chunks = 0","module.exports = function(it){\n if(typeof it != 'function')throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_a-function.js\n// module id = 53\n// module chunks = 0","module.exports = function(){ /* empty */ };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_add-to-unscopables.js\n// module id = 54\n// module chunks = 0","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject')\n , toLength = require('./_to-length')\n , toIndex = require('./_to-index');\nmodule.exports = function(IS_INCLUDES){\n return function($this, el, fromIndex){\n var O = toIObject($this)\n , length = toLength(O.length)\n , index = toIndex(fromIndex, length)\n , value;\n // Array#includes uses SameValueZero equality algorithm\n if(IS_INCLUDES && el != el)while(length > index){\n value = O[index++];\n if(value != value)return true;\n // Array#toIndex ignores holes, Array#includes - not\n } else for(;length > index; index++)if(IS_INCLUDES || index in O){\n if(O[index] === el)return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_array-includes.js\n// module id = 55\n// module chunks = 0","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function(fn, that, length){\n aFunction(fn);\n if(that === undefined)return fn;\n switch(length){\n case 1: return function(a){\n return fn.call(that, a);\n };\n case 2: return function(a, b){\n return fn.call(that, a, b);\n };\n case 3: return function(a, b, c){\n return fn.call(that, a, b, c);\n };\n }\n return function(/* ...args */){\n return fn.apply(that, arguments);\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_ctx.js\n// module id = 56\n// module chunks = 0","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys')\n , gOPS = require('./_object-gops')\n , pIE = require('./_object-pie');\nmodule.exports = function(it){\n var result = getKeys(it)\n , getSymbols = gOPS.f;\n if(getSymbols){\n var symbols = getSymbols(it)\n , isEnum = pIE.f\n , i = 0\n , key;\n while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))result.push(key);\n } return result;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_enum-keys.js\n// module id = 57\n// module chunks = 0","module.exports = require('./_global').document && document.documentElement;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_html.js\n// module id = 58\n// module chunks = 0","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_iobject.js\n// module id = 59\n// module chunks = 0","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg){\n return cof(arg) == 'Array';\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_is-array.js\n// module id = 60\n// module chunks = 0","'use strict';\nvar create = require('./_object-create')\n , descriptor = require('./_property-desc')\n , setToStringTag = require('./_set-to-string-tag')\n , IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function(){ return this; });\n\nmodule.exports = function(Constructor, NAME, next){\n Constructor.prototype = create(IteratorPrototype, {next: descriptor(1, next)});\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_iter-create.js\n// module id = 61\n// module chunks = 0","module.exports = function(done, value){\n return {value: value, done: !!done};\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_iter-step.js\n// module id = 62\n// module chunks = 0","var getKeys = require('./_object-keys')\n , toIObject = require('./_to-iobject');\nmodule.exports = function(object, el){\n var O = toIObject(object)\n , keys = getKeys(O)\n , length = keys.length\n , index = 0\n , key;\n while(length > index)if(O[key = keys[index++]] === el)return key;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_keyof.js\n// module id = 63\n// module chunks = 0","var META = require('./_uid')('meta')\n , isObject = require('./_is-object')\n , has = require('./_has')\n , setDesc = require('./_object-dp').f\n , id = 0;\nvar isExtensible = Object.isExtensible || function(){\n return true;\n};\nvar FREEZE = !require('./_fails')(function(){\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function(it){\n setDesc(it, META, {value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n }});\n};\nvar fastKey = function(it, create){\n // return primitive with prefix\n if(!isObject(it))return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if(!has(it, META)){\n // can't set metadata to uncaught frozen object\n if(!isExtensible(it))return 'F';\n // not necessary to add metadata\n if(!create)return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function(it, create){\n if(!has(it, META)){\n // can't set metadata to uncaught frozen object\n if(!isExtensible(it))return true;\n // not necessary to add metadata\n if(!create)return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function(it){\n if(FREEZE && meta.NEED && isExtensible(it) && !has(it, META))setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_meta.js\n// module id = 64\n// module chunks = 0","var dP = require('./_object-dp')\n , anObject = require('./_an-object')\n , getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties){\n anObject(O);\n var keys = getKeys(Properties)\n , length = keys.length\n , i = 0\n , P;\n while(length > i)dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-dps.js\n// module id = 65\n// module chunks = 0","var pIE = require('./_object-pie')\n , createDesc = require('./_property-desc')\n , toIObject = require('./_to-iobject')\n , toPrimitive = require('./_to-primitive')\n , has = require('./_has')\n , IE8_DOM_DEFINE = require('./_ie8-dom-define')\n , gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P){\n O = toIObject(O);\n P = toPrimitive(P, true);\n if(IE8_DOM_DEFINE)try {\n return gOPD(O, P);\n } catch(e){ /* empty */ }\n if(has(O, P))return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-gopd.js\n// module id = 66\n// module chunks = 0","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject')\n , gOPN = require('./_object-gopn').f\n , toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function(it){\n try {\n return gOPN(it);\n } catch(e){\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it){\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-gopn-ext.js\n// module id = 67\n// module chunks = 0","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has')\n , toObject = require('./_to-object')\n , IE_PROTO = require('./_shared-key')('IE_PROTO')\n , ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function(O){\n O = toObject(O);\n if(has(O, IE_PROTO))return O[IE_PROTO];\n if(typeof O.constructor == 'function' && O instanceof O.constructor){\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-gpo.js\n// module id = 68\n// module chunks = 0","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export')\n , core = require('./_core')\n , fails = require('./_fails');\nmodule.exports = function(KEY, exec){\n var fn = (core.Object || {})[KEY] || Object[KEY]\n , exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_object-sap.js\n// module id = 69\n// module chunks = 0","var toInteger = require('./_to-integer')\n , defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function(TO_STRING){\n return function(that, pos){\n var s = String(defined(that))\n , i = toInteger(pos)\n , l = s.length\n , a, b;\n if(i < 0 || i >= l)return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_string-at.js\n// module id = 70\n// module chunks = 0","var toInteger = require('./_to-integer')\n , max = Math.max\n , min = Math.min;\nmodule.exports = function(index, length){\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-index.js\n// module id = 71\n// module chunks = 0","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer')\n , min = Math.min;\nmodule.exports = function(it){\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_to-length.js\n// module id = 72\n// module chunks = 0","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables')\n , step = require('./_iter-step')\n , Iterators = require('./_iterators')\n , toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function(iterated, kind){\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , kind = this._k\n , index = this._i++;\n if(!O || index >= O.length){\n this._t = undefined;\n return step(1);\n }\n if(kind == 'keys' )return step(0, index);\n if(kind == 'values')return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.array.iterator.js\n// module id = 73\n// module chunks = 0","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', {defineProperty: require('./_object-dp').f});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.object.define-property.js\n// module id = 74\n// module chunks = 0","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object')\n , $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function(){\n return function keys(it){\n return $keys(toObject(it));\n };\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.object.keys.js\n// module id = 75\n// module chunks = 0","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function(iterated){\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , index = this._i\n , point;\n if(index >= O.length)return {value: undefined, done: true};\n point = $at(O, index);\n this._i += point.length;\n return {value: point, done: false};\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.string.iterator.js\n// module id = 77\n// module chunks = 0","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global')\n , has = require('./_has')\n , DESCRIPTORS = require('./_descriptors')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , META = require('./_meta').KEY\n , $fails = require('./_fails')\n , shared = require('./_shared')\n , setToStringTag = require('./_set-to-string-tag')\n , uid = require('./_uid')\n , wks = require('./_wks')\n , wksExt = require('./_wks-ext')\n , wksDefine = require('./_wks-define')\n , keyOf = require('./_keyof')\n , enumKeys = require('./_enum-keys')\n , isArray = require('./_is-array')\n , anObject = require('./_an-object')\n , toIObject = require('./_to-iobject')\n , toPrimitive = require('./_to-primitive')\n , createDesc = require('./_property-desc')\n , _create = require('./_object-create')\n , gOPNExt = require('./_object-gopn-ext')\n , $GOPD = require('./_object-gopd')\n , $DP = require('./_object-dp')\n , $keys = require('./_object-keys')\n , gOPD = $GOPD.f\n , dP = $DP.f\n , gOPN = gOPNExt.f\n , $Symbol = global.Symbol\n , $JSON = global.JSON\n , _stringify = $JSON && $JSON.stringify\n , PROTOTYPE = 'prototype'\n , HIDDEN = wks('_hidden')\n , TO_PRIMITIVE = wks('toPrimitive')\n , isEnum = {}.propertyIsEnumerable\n , SymbolRegistry = shared('symbol-registry')\n , AllSymbols = shared('symbols')\n , OPSymbols = shared('op-symbols')\n , ObjectProto = Object[PROTOTYPE]\n , USE_NATIVE = typeof $Symbol == 'function'\n , QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function(){\n return _create(dP({}, 'a', {\n get: function(){ return dP(this, 'a', {value: 7}).a; }\n })).a != 7;\n}) ? function(it, key, D){\n var protoDesc = gOPD(ObjectProto, key);\n if(protoDesc)delete ObjectProto[key];\n dP(it, key, D);\n if(protoDesc && it !== ObjectProto)dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function(tag){\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function(it){\n return typeof it == 'symbol';\n} : function(it){\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D){\n if(it === ObjectProto)$defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if(has(AllSymbols, key)){\n if(!D.enumerable){\n if(!has(it, HIDDEN))dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false;\n D = _create(D, {enumerable: createDesc(0, false)});\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P){\n anObject(it);\n var keys = enumKeys(P = toIObject(P))\n , i = 0\n , l = keys.length\n , key;\n while(l > i)$defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P){\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key){\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if(this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key){\n it = toIObject(it);\n key = toPrimitive(key, true);\n if(it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return;\n var D = gOPD(it, key);\n if(D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it){\n var names = gOPN(toIObject(it))\n , result = []\n , i = 0\n , key;\n while(names.length > i){\n if(!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META)result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it){\n var IS_OP = it === ObjectProto\n , names = gOPN(IS_OP ? OPSymbols : toIObject(it))\n , result = []\n , i = 0\n , key;\n while(names.length > i){\n if(has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true))result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif(!USE_NATIVE){\n $Symbol = function Symbol(){\n if(this instanceof $Symbol)throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function(value){\n if(this === ObjectProto)$set.call(OPSymbols, value);\n if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if(DESCRIPTORS && setter)setSymbolDesc(ObjectProto, tag, {configurable: true, set: $set});\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString(){\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if(DESCRIPTORS && !require('./_library')){\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function(name){\n return wrap(wks(name));\n }\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, {Symbol: $Symbol});\n\nfor(var symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), i = 0; symbols.length > i; )wks(symbols[i++]);\n\nfor(var symbols = $keys(wks.store), i = 0; symbols.length > i; )wksDefine(symbols[i++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function(key){\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(key){\n if(isSymbol(key))return keyOf(SymbolRegistry, key);\n throw TypeError(key + ' is not a symbol!');\n },\n useSetter: function(){ setter = true; },\n useSimple: function(){ setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function(){\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({a: S}) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it){\n if(it === undefined || isSymbol(it))return; // IE8 returns string on undefined\n var args = [it]\n , i = 1\n , replacer, $replacer;\n while(arguments.length > i)args.push(arguments[i++]);\n replacer = args[1];\n if(typeof replacer == 'function')$replacer = replacer;\n if($replacer || !isArray(replacer))replacer = function(key, value){\n if($replacer)value = $replacer.call(this, key, value);\n if(!isSymbol(value))return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es6.symbol.js\n// module id = 78\n// module chunks = 0","require('./_wks-define')('asyncIterator');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es7.symbol.async-iterator.js\n// module id = 79\n// module chunks = 0","require('./_wks-define')('observable');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/es7.symbol.observable.js\n// module id = 80\n// module chunks = 0","require('./es6.array.iterator');\nvar global = require('./_global')\n , hide = require('./_hide')\n , Iterators = require('./_iterators')\n , TO_STRING_TAG = require('./_wks')('toStringTag');\n\nfor(var collections = ['NodeList', 'DOMTokenList', 'MediaList', 'StyleSheetList', 'CSSRuleList'], i = 0; i < 5; i++){\n var NAME = collections[i]\n , Collection = global[NAME]\n , proto = Collection && Collection.prototype;\n if(proto && !proto[TO_STRING_TAG])hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = Iterators.Array;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/web.dom.iterable.js\n// module id = 81\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".v-select{position:relative;font-family:sans-serif}.v-select,.v-select *{box-sizing:border-box}.v-select .open-indicator{position:absolute;bottom:6px;right:10px;display:inline-block;cursor:pointer;pointer-events:all;transition:all .15s cubic-bezier(1,-.115,.975,.855);transition-timing-function:cubic-bezier(1,-.115,.975,.855);opacity:1;transition:opacity .1s;height:20px;width:10px}.v-select .open-indicator:before{border-color:rgba(60,60,60,.5);border-style:solid;border-width:3px 3px 0 0;content:\\\"\\\";display:inline-block;height:10px;width:10px;vertical-align:top;transform:rotate(133deg);transition:all .15s cubic-bezier(1,-.115,.975,.855);transition-timing-function:cubic-bezier(1,-.115,.975,.855);box-sizing:inherit}.v-select.open .open-indicator:before{transform:rotate(315deg)}.v-select.loading .open-indicator{opacity:0}.v-select.open .open-indicator{bottom:1px}.v-select .dropdown-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;padding:0;background:none;border:1px solid rgba(60,60,60,.26);border-radius:4px;white-space:normal;transition:border-radius .25s}.v-select .dropdown-toggle:after{visibility:hidden;display:block;font-size:0;content:\\\" \\\";clear:both;height:0}.v-select.searchable .dropdown-toggle{cursor:text}.v-select.unsearchable .dropdown-toggle{cursor:pointer}.v-select.open .dropdown-toggle{border-bottom-color:transparent;border-bottom-left-radius:0;border-bottom-right-radius:0}.v-select .dropdown-menu{display:block;position:absolute;top:100%;left:0;z-index:1000;min-width:160px;padding:5px 0;margin:0;width:100%;overflow-y:scroll;border:1px solid rgba(0,0,0,.26);box-shadow:0 3px 6px 0 rgba(0,0,0,.15);border-top:none;border-radius:0 0 4px 4px;text-align:left;list-style:none;background:#fff}.v-select .no-options{text-align:center}.v-select .selected-tag{color:#333;background-color:#f0f0f0;border:1px solid #ccc;border-radius:4px;height:26px;margin:4px 1px 0 3px;padding:1px .25em;float:left;line-height:24px}.v-select .selected-tag .close{float:none;margin-right:0;font-size:20px;appearance:none;padding:0;cursor:pointer;background:0 0;border:0;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.v-select input[type=search]::-webkit-search-cancel-button,.v-select input[type=search]::-webkit-search-decoration,.v-select input[type=search]::-webkit-search-results-button,.v-select input[type=search]::-webkit-search-results-decoration{display:none}.v-select input[type=search]::-ms-clear{display:none}.v-select input[type=search],.v-select input[type=search]:focus{appearance:none;-webkit-appearance:none;-moz-appearance:none;line-height:1.42857143;font-size:1em;height:34px;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.unsearchable input[type=search]{max-width:1px}.v-select li{line-height:1.42857143}.v-select li>a{display:block;padding:3px 20px;clear:both;color:#333;white-space:nowrap}.v-select li:hover{cursor:pointer}.v-select .dropdown-menu .active>a{color:#333;background:rgba(50,50,50,.1)}.v-select .dropdown-menu>.highlight>a{background:#5897fb;color:#fff}.v-select .highlight:not(:last-child){margin-bottom:0}.v-select .spinner{opacity:0;position:absolute;top:5px;right:10px;font-size:5px;text-indent:-9999em;overflow:hidden;border-top:.9em solid hsla(0,0%,39%,.1);border-right:.9em solid hsla(0,0%,39%,.1);border-bottom:.9em solid hsla(0,0%,39%,.1);border-left:.9em solid rgba(60,60,60,.45);transform:translateZ(0);animation:vSelectSpinner 1.1s infinite linear;transition:opacity .1s}.v-select .spinner,.v-select .spinner:after{border-radius:50%;width:5em;height:5em}.v-select.loading .spinner{opacity:1}@-webkit-keyframes vSelectSpinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes vSelectSpinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fade-enter-active,.fade-leave-active{transition:opacity .15s cubic-bezier(1,.5,.8,1)}.fade-enter,.fade-leave-to{opacity:0}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader!./~/vue-loader/lib/style-rewriter.js?id=data-v-3e06dd28!./~/vue-loader/lib/selector.js?type=styles&index=0!./src/components/Select.vue\n// module id = 82\n// module chunks = 0","/*\r\n\tMIT License http://www.opensource.org/licenses/mit-license.php\r\n\tAuthor Tobias Koppers @sokra\r\n*/\r\n// css base code, injected by the css-loader\r\nmodule.exports = function() {\r\n\tvar list = [];\r\n\r\n\t// return the list of modules as css string\r\n\tlist.toString = function toString() {\r\n\t\tvar result = [];\r\n\t\tfor(var i = 0; i < this.length; i++) {\r\n\t\t\tvar item = this[i];\r\n\t\t\tif(item[2]) {\r\n\t\t\t\tresult.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\r\n\t\t\t} else {\r\n\t\t\t\tresult.push(item[1]);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn result.join(\"\");\r\n\t};\r\n\r\n\t// import a list of modules into the list\r\n\tlist.i = function(modules, mediaQuery) {\r\n\t\tif(typeof modules === \"string\")\r\n\t\t\tmodules = [[null, modules, \"\"]];\r\n\t\tvar alreadyImportedModules = {};\r\n\t\tfor(var i = 0; i < this.length; i++) {\r\n\t\t\tvar id = this[i][0];\r\n\t\t\tif(typeof id === \"number\")\r\n\t\t\t\talreadyImportedModules[id] = true;\r\n\t\t}\r\n\t\tfor(i = 0; i < modules.length; i++) {\r\n\t\t\tvar item = modules[i];\r\n\t\t\t// skip already imported module\r\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\r\n\t\t\t// when a module is imported multiple times with different media queries.\r\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\r\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\r\n\t\t\t\tif(mediaQuery && !item[2]) {\r\n\t\t\t\t\titem[2] = mediaQuery;\r\n\t\t\t\t} else if(mediaQuery) {\r\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\r\n\t\t\t\t}\r\n\t\t\t\tlist.push(item);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\treturn list;\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader/lib/css-base.js\n// module id = 83\n// module chunks = 0","\n/* styles */\nrequire(\"!!vue-style-loader!css-loader!../../node_modules/vue-loader/lib/style-rewriter?id=data-v-3e06dd28!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Select.vue\")\n\nvar Component = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")(\n /* script */\n require(\"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Select.vue\"),\n /* template */\n require(\"!!../../node_modules/vue-loader/lib/template-compiler?id=data-v-3e06dd28!../../node_modules/vue-loader/lib/selector?type=template&index=0!./Select.vue\"),\n /* scopeId */\n null,\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/Select.vue\n// module id = 84\n// module chunks = 0","module.exports = function normalizeComponent (\n rawScriptExports,\n compiledTemplate,\n scopeId,\n cssModules\n) {\n var esModule\n var scriptExports = rawScriptExports = rawScriptExports || {}\n\n // ES6 modules interop\n var type = typeof rawScriptExports.default\n if (type === 'object' || type === 'function') {\n esModule = rawScriptExports\n scriptExports = rawScriptExports.default\n }\n\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (compiledTemplate) {\n options.render = compiledTemplate.render\n options.staticRenderFns = compiledTemplate.staticRenderFns\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = scopeId\n }\n\n // inject cssModules\n if (cssModules) {\n var computed = options.computed || (options.computed = {})\n Object.keys(cssModules).forEach(function (key) {\n var module = cssModules[key]\n computed[key] = function () { return module }\n })\n }\n\n return {\n esModule: esModule,\n exports: scriptExports,\n options: options\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/component-normalizer.js\n// module id = 85\n// module chunks = 0","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n staticClass: \"dropdown v-select\",\n class: _vm.dropdownClasses\n }, [_c('div', {\n ref: \"toggle\",\n staticClass: \"dropdown-toggle\",\n on: {\n \"mousedown\": function($event) {\n $event.preventDefault();\n _vm.toggleDropdown($event)\n }\n }\n }, [_vm._l((_vm.valueAsArray), function(option) {\n return _c('span', {\n key: option.index,\n staticClass: \"selected-tag\"\n }, [_vm._v(\"\\n \" + _vm._s(_vm.getOptionLabel(option)) + \"\\n \"), (_vm.multiple) ? _c('button', {\n staticClass: \"close\",\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": function($event) {\n _vm.deselect(option)\n }\n }\n }, [_c('span', {\n attrs: {\n \"aria-hidden\": \"true\"\n }\n }, [_vm._v(\"×\")])]) : _vm._e()])\n }), _vm._v(\" \"), _c('input', {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: (_vm.search),\n expression: \"search\"\n }],\n ref: \"search\",\n staticClass: \"form-control\",\n style: ({\n width: _vm.isValueEmpty ? '100%' : 'auto'\n }),\n attrs: {\n \"type\": \"search\",\n \"placeholder\": _vm.searchPlaceholder,\n \"readonly\": !_vm.searchable\n },\n domProps: {\n \"value\": (_vm.search)\n },\n on: {\n \"keydown\": [function($event) {\n if (_vm._k($event.keyCode, \"delete\", [8, 46])) { return null; }\n _vm.maybeDeleteValue($event)\n }, function($event) {\n if (_vm._k($event.keyCode, \"up\", 38)) { return null; }\n $event.preventDefault();\n _vm.typeAheadUp($event)\n }, function($event) {\n if (_vm._k($event.keyCode, \"down\", 40)) { return null; }\n $event.preventDefault();\n _vm.typeAheadDown($event)\n }],\n \"keyup\": [function($event) {\n if (_vm._k($event.keyCode, \"esc\", 27)) { return null; }\n _vm.onEscape($event)\n }, function($event) {\n if (_vm._k($event.keyCode, \"enter\", 13)) { return null; }\n $event.preventDefault();\n _vm.typeAheadSelect($event)\n }],\n \"blur\": _vm.onSearchBlur,\n \"focus\": _vm.onSearchFocus,\n \"input\": function($event) {\n if ($event.target.composing) { return; }\n _vm.search = $event.target.value\n }\n }\n }), _vm._v(\" \"), (!_vm.noDrop) ? _c('i', {\n ref: \"openIndicator\",\n staticClass: \"open-indicator\",\n attrs: {\n \"role\": \"presentation\"\n }\n }) : _vm._e(), _vm._v(\" \"), _vm._t(\"spinner\", [_c('div', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (_vm.mutableLoading),\n expression: \"mutableLoading\"\n }],\n staticClass: \"spinner\"\n }, [_vm._v(\"Loading...\")])])], 2), _vm._v(\" \"), _c('transition', {\n attrs: {\n \"name\": _vm.transition\n }\n }, [(_vm.dropdownOpen) ? _c('ul', {\n ref: \"dropdownMenu\",\n staticClass: \"dropdown-menu\",\n style: ({\n 'max-height': _vm.maxHeight\n })\n }, [_vm._l((_vm.filteredOptions), function(option, index) {\n return _c('li', {\n key: index,\n class: {\n active: _vm.isOptionSelected(option), highlight: index === _vm.typeAheadPointer\n },\n on: {\n \"mouseover\": function($event) {\n _vm.typeAheadPointer = index\n }\n }\n }, [_c('a', {\n on: {\n \"mousedown\": function($event) {\n $event.preventDefault();\n _vm.select(option)\n }\n }\n }, [_vm._v(\"\\n \" + _vm._s(_vm.getOptionLabel(option)) + \"\\n \")])])\n }), _vm._v(\" \"), (!_vm.filteredOptions.length) ? _c('li', {\n staticClass: \"no-options\"\n }, [_vm._t(\"no-options\", [_vm._v(\"Sorry, no matching options.\")])], 2) : _vm._e()], 2) : _vm._e()])], 1)\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler.js?id=data-v-3e06dd28!./~/vue-loader/lib/selector.js?type=template&index=0!./src/components/Select.vue\n// module id = 86\n// module chunks = 0","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\nvar stylesInDom = {},\n\tmemoize = function(fn) {\n\t\tvar memo;\n\t\treturn function () {\n\t\t\tif (typeof memo === \"undefined\") memo = fn.apply(this, arguments);\n\t\t\treturn memo;\n\t\t};\n\t},\n\tisOldIE = memoize(function() {\n\t\treturn /msie [6-9]\\b/.test(window.navigator.userAgent.toLowerCase());\n\t}),\n\tgetHeadElement = memoize(function () {\n\t\treturn document.head || document.getElementsByTagName(\"head\")[0];\n\t}),\n\tsingletonElement = null,\n\tsingletonCounter = 0,\n\tstyleElementsInsertedAtTop = [];\n\nmodule.exports = function(list, options) {\n\tif(typeof DEBUG !== \"undefined\" && DEBUG) {\n\t\tif(typeof document !== \"object\") throw new Error(\"The style-loader cannot be used in a non-browser environment\");\n\t}\n\n\toptions = options || {};\n\t// Force single-tag solution on IE6-9, which has a hard limit on the # of + + + + diff --git a/_book/src/dev.js b/_book/src/dev.js new file mode 100644 index 0000000..50f02e3 --- /dev/null +++ b/_book/src/dev.js @@ -0,0 +1,34 @@ +import Vue from 'vue' +import vSelect from './components/Select.vue' +import countries from 'docs/data/advanced.js' +import debounce from 'lodash/debounce' +import resource from 'vue-resource' + +Vue.use(resource) + +Vue.component('v-select', vSelect) + +Vue.config.devtools = true + +/* eslint-disable no-new */ +new Vue({ + el: '#app', + data: { + placeholder: "placeholder", + value: null, + options: countries, + ajaxRes: [] + }, + methods: { + search(search, loading) { + loading(true) + this.getRepositories(search, loading, this) + }, + getRepositories: debounce((search, loading, vm) => { + vm.$http.get(`https://api.github.com/search/repositories?q=${search}`).then(res => { + vm.ajaxRes = res.data.items + loading(false) + }) + }, 250) + } +}) diff --git a/_book/src/index.js b/_book/src/index.js new file mode 100644 index 0000000..c92e4d5 --- /dev/null +++ b/_book/src/index.js @@ -0,0 +1,5 @@ +import VueSelect from './components/Select.vue' +import mixins from './mixins/index' + +export default VueSelect +export { VueSelect, mixins } diff --git a/_book/src/mixins/ajax.js b/_book/src/mixins/ajax.js new file mode 100644 index 0000000..b897053 --- /dev/null +++ b/_book/src/mixins/ajax.js @@ -0,0 +1,72 @@ +module.exports = { + props: { + /** + * Toggles the adding of a 'loading' class to the main + * .v-select wrapper. Useful to control UI state when + * results are being processed through AJAX. + */ + loading: { + type: Boolean, + default: false + }, + + /** + * Accept a callback function that will be + * run when the search text changes. + * + * loading() accepts a boolean value, and can + * be used to toggle a loading class from + * the onSearch callback. + * + * @param {search} String Current search text + * @param {loading} Function(bool) Toggle loading class + */ + onSearch: { + type: Function, + default: function(search, loading){} + } + }, + + data() { + return { + mutableLoading: false + } + }, + + watch: { + /** + * If a callback & search text has been provided, + * invoke the onSearch callback. + */ + search() { + if (this.search.length > 0) { + this.onSearch(this.search, this.toggleLoading) + this.$emit('search', this.search, this.toggleLoading) + } + }, + /** + * Sync the loading prop with the internal + * mutable loading value. + * @param val + */ + loading(val) { + this.mutableLoading = val + } + }, + + methods: { + /** + * Toggle this.loading. Optionally pass a boolean + * value. If no value is provided, this.loading + * will be set to the opposite of it's current value. + * @param toggle Boolean + * @returns {*} + */ + toggleLoading(toggle = null) { + if (toggle == null) { + return this.mutableLoading = !this.mutableLoading + } + return this.mutableLoading = toggle + } + } +} diff --git a/_book/src/mixins/index.js b/_book/src/mixins/index.js new file mode 100644 index 0000000..991ad77 --- /dev/null +++ b/_book/src/mixins/index.js @@ -0,0 +1,5 @@ +import ajax from './ajax' +import pointer from './typeAheadPointer' +import pointerScroll from './pointerScroll' + +export default { ajax, pointer, pointerScroll } diff --git a/_book/src/mixins/pointerScroll.js b/_book/src/mixins/pointerScroll.js new file mode 100644 index 0000000..5950959 --- /dev/null +++ b/_book/src/mixins/pointerScroll.js @@ -0,0 +1,81 @@ +// flow + +module.exports = { + watch: { + typeAheadPointer() { + this.maybeAdjustScroll() + } + }, + + methods: { + /** + * Adjust the scroll position of the dropdown list + * if the current pointer is outside of the + * overflow bounds. + * @returns {*} + */ + maybeAdjustScroll() { + let pixelsToPointerTop = this.pixelsToPointerTop() + let pixelsToPointerBottom = this.pixelsToPointerBottom() + + if ( pixelsToPointerTop <= this.viewport().top) { + return this.scrollTo( pixelsToPointerTop ) + } else if (pixelsToPointerBottom >= this.viewport().bottom) { + return this.scrollTo( this.viewport().top + this.pointerHeight() ) + } + }, + + /** + * The distance in pixels from the top of the dropdown + * list to the top of the current pointer element. + * @returns {number} + */ + pixelsToPointerTop() { + let pixelsToPointerTop = 0 + if( this.$refs.dropdownMenu ) { + for (let i = 0; i < this.typeAheadPointer; i++) { + pixelsToPointerTop += this.$refs.dropdownMenu.children[i].offsetHeight + } + } + return pixelsToPointerTop + }, + + /** + * The distance in pixels from the top of the dropdown + * list to the bottom of the current pointer element. + * @returns {*} + */ + pixelsToPointerBottom() { + return this.pixelsToPointerTop() + this.pointerHeight() + }, + + /** + * The offsetHeight of the current pointer element. + * @returns {number} + */ + pointerHeight() { + let element = this.$refs.dropdownMenu ? this.$refs.dropdownMenu.children[this.typeAheadPointer] : false + return element ? element.offsetHeight : 0 + }, + + /** + * The currently viewable portion of the dropdownMenu. + * @returns {{top: (string|*|number), bottom: *}} + */ + viewport() { + return { + top: this.$refs.dropdownMenu ? this.$refs.dropdownMenu.scrollTop: 0, + bottom: this.$refs.dropdownMenu ? this.$refs.dropdownMenu.offsetHeight + this.$refs.dropdownMenu.scrollTop : 0 + } + }, + + /** + * Scroll the dropdownMenu to a given position. + * @param position + * @returns {*} + */ + scrollTo(position) { + return this.$refs.dropdownMenu ? this.$refs.dropdownMenu.scrollTop = position : null + }, + } +} diff --git a/_book/src/mixins/typeAheadPointer.js b/_book/src/mixins/typeAheadPointer.js new file mode 100644 index 0000000..26c9374 --- /dev/null +++ b/_book/src/mixins/typeAheadPointer.js @@ -0,0 +1,60 @@ +module.exports = { + data() { + return { + typeAheadPointer: -1 + } + }, + + watch: { + filteredOptions() { + this.typeAheadPointer = 0 + } + }, + + methods: { + /** + * Move the typeAheadPointer visually up the list by + * subtracting the current index by one. + * @return {void} + */ + typeAheadUp() { + if (this.typeAheadPointer > 0) { + this.typeAheadPointer-- + if( this.maybeAdjustScroll ) { + this.maybeAdjustScroll() + } + } + }, + + /** + * 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++ + if( this.maybeAdjustScroll ) { + this.maybeAdjustScroll() + } + } + }, + + /** + * 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 if (this.taggable && this.search.length){ + this.select(this.search) + } + + if( this.clearSearchOnSelect ) { + this.search = ""; + } + }, + } +} \ No newline at end of file diff --git a/_book/static/.gitkeep b/_book/static/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/_book/static/favicon.ico b/_book/static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..cd9cac6bbe7298815dda4227b5f74a55b03c6a11 GIT binary patch literal 1150 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 NLq$jVqoVE0{{dURzc~N^ literal 0 HcmV?d00001 diff --git a/_book/test/unit/index.js b/_book/test/unit/index.js new file mode 100644 index 0000000..d1830c1 --- /dev/null +++ b/_book/test/unit/index.js @@ -0,0 +1,12 @@ +// 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('../../src/components/Select.vue') \ No newline at end of file diff --git a/_book/test/unit/karma.conf.js b/_book/test/unit/karma.conf.js new file mode 100644 index 0000000..304072f --- /dev/null +++ b/_book/test/unit/karma.conf.js @@ -0,0 +1,78 @@ +// 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 + }, + specReporter: { + suppressSkipped: true + }, + coverageReporter: { + dir: './coverage', + reporters: [ + { type: 'lcov', subdir: '.' }, + { type: 'text-summary' } + ] + } + }) +} diff --git a/_book/test/unit/specs/Select.spec.js b/_book/test/unit/specs/Select.spec.js new file mode 100644 index 0000000..7457d21 --- /dev/null +++ b/_book/test/unit/specs/Select.spec.js @@ -0,0 +1,1190 @@ +// flow +/* global describe, it, expect */ + +import Vue from 'vue' +import vSelect from 'src/components/Select.vue' +import pointerScroll from 'src/mixins/pointerScroll.js' + +// http://vue-loader.vuejs.org/en/workflow/testing-with-mocks.html +const Mock = require('!!vue?inject!src/components/Select.vue') + +Vue.component('v-select', vSelect) + +/** + * Simulate a DOM event. + * @param target + * @param event + * @param process + * @returns {Event} + */ +function trigger(target, event, process) { + var e = document.createEvent('HTMLEvents') + e.initEvent(event, true, true) + if (process) process(e) + target.dispatchEvent(e) + return e +} + +/** + * Simulate a Mouse event. + * @param target + * @param event + * @param process + * @returns {Event} + */ +function triggerMouse(target, event, process) { + var e = document.createEvent('MouseEvent') + e.initEvent('event', true, true) + if (process) process(e) + target.dispatchEvent(e) + return e +} + +/** + * Simulate a Focus event. + * @param target + * @param event + * @param process + * @returns {Event} + */ +function triggerFocusEvent(target, event, process) { + var e = document.createEvent('FocusEvent') + e.initEvent('event', true, true) + if (process) process(e) + target.dispatchEvent(e) + return e +} + +/** + * Optionally set the search term, then simulate a return keypress. + * @param vm + * @param search + */ +function searchSubmit(vm, search = false) { + if (search) { + vm.$children[0].search = search + } + + trigger(vm.$children[0].$refs.search, 'keyup', function (e) { + e.keyCode = 13 + }) +} + +describe('Select.vue', () => { + + describe('Selecting values', () => { + it('can accept an array with pre-selected values', () => { + const vm = new Vue({ + template: '
', + components: {vSelect}, + data: { + value: 'one', + options: ['one', 'two', 'three'] + } + }).$mount() + expect(vm.$children[0].mutableValue).toEqual(vm.value) + }) + + it('can accept an array of objects and pre-selected value (single)', () => { + const vm = new Vue({ + template: '
', + components: {vSelect}, + data: { + value: {label: 'This is Foo', value: 'foo'}, + options: [{label: 'This is Foo', value: 'foo'}, {label: 'This is Bar', value: 'bar'}] + } + }).$mount() + expect(vm.$children[0].mutableValue).toEqual(vm.value) + }) + + it('can accept an array of objects and pre-selected values (multiple)', () => { + const vm = new Vue({ + template: '
', + components: {vSelect}, + data: { + value: [{label: 'This is Foo', value: 'foo'}, {label: 'This is Bar', value: 'bar'}], + options: [{label: 'This is Foo', value: 'foo'}, {label: 'This is Bar', value: 'bar'}] + } + }).$mount() + expect(vm.$children[0].mutableValue).toEqual(vm.value) + }) + + it('can deselect a pre-selected object', () => { + const vm = new Vue({ + template: '
', + data: { + value: [{label: 'This is Foo', value: 'foo'}, {label: 'This is Bar', value: 'bar'}], + options: [{label: 'This is Foo', value: 'foo'}, {label: 'This is Bar', value: 'bar'}] + } + }).$mount() + vm.$children[0].select({label: 'This is Foo', value: 'foo'}) + expect(vm.$children[0].mutableValue.length).toEqual(1) + }) + + it('can deselect a pre-selected string', () => { + const vm = new Vue({ + template: '
', + data: { + value: ['foo', 'bar'], + options: ['foo','bar'] + } + }).$mount() + vm.$children[0].select('foo') + expect(vm.$children[0].mutableValue.length).toEqual(1) + }), + + it('can deselect an option when multiple is false', () => { + const vm = new Vue({ + template: `
`, + }).$mount() + vm.$children[0].deselect('foo') + expect(vm.$children[0].mutableValue).toEqual(null) + }) + + it('can determine if the value prop is empty', () => { + const vm = new Vue({ + template: '
', + components: {vSelect}, + data: { + value: [], + options: ['one', 'two', 'three'] + } + }).$mount() + var select = vm.$children[0] + expect(select.isValueEmpty).toEqual(true) + + select.select(['one']) + expect(select.isValueEmpty).toEqual(false) + + select.select([{l: 'f'}]) + expect(select.isValueEmpty).toEqual(false) + + select.select('one') + expect(select.isValueEmpty).toEqual(false) + + select.select({label: 'foo', value: 'foo'}) + expect(select.isValueEmpty).toEqual(false) + + select.select('') + expect(select.isValueEmpty).toEqual(true) + + select.select(null) + expect(select.isValueEmpty).toEqual(true) + }) + + it('should reset the selected values when the multiple property changes', (done) => { + const vm = new Vue({ + template: '
', + components: {vSelect}, + data: { + value: ['one'], + multiple: true, + options: ['one', 'two', 'three'] + } + }).$mount() + + vm.multiple = false + + Vue.nextTick(() => { + expect(vm.$children[0].mutableValue).toEqual(null) + vm.multiple = true + Vue.nextTick(() => { + expect(vm.$children[0].mutableValue).toEqual([]) + done() + }) + }) + }) + + it('can retain values present in a new array of options', () => { + const vm = new Vue({ + template: '
', + components: {vSelect}, + data: { + value: ['one'], + options: ['one', 'two', 'three'] + } + }).$mount() + vm.options = ['one', 'five', 'six'] + expect(vm.$children[0].mutableValue).toEqual(['one']) + }) + + it('can determine if an object is already selected', () => { + const vm = new Vue({ + template: '
', + components: {vSelect}, + data: { + value: [{label: 'one'}], + options: [{label: 'one'}] + } + }).$mount() + + expect(vm.$children[0].isOptionSelected({label: 'one'})).toEqual(true) + }) + + it('can use v-model syntax for a two way binding to a parent component', (done) => { + const vm = new Vue({ + template: '
', + components: {vSelect}, + data: { + value: 'foo', + options: ['foo','bar','baz'] + } + }).$mount() + + expect(vm.$children[0].value).toEqual('foo') + expect(vm.$children[0].mutableValue).toEqual('foo') + + vm.$children[0].mutableValue = 'bar' + + Vue.nextTick(() => { + expect(vm.value).toEqual('bar') + done() + }) + }), + + it('can check if a string value is selected when the value is an object and multiple is true', () => { + const vm = new Vue({ + template: `
`, + }).$mount() + expect(vm.$children[0].isOptionSelected('foo')).toEqual(true) + }), + + describe('change Event', () => { + it('will trigger the input event when the selection changes', (done) => { + const vm = new Vue({ + template: `
`, + data: { + foo: '' + } + }).$mount() + + vm.$refs.select.select('bar') + + Vue.nextTick(() => { + expect(vm.foo).toEqual('bar') + done() + }) + }) + + it('should run change when multiple is true and the value changes', (done) => { + const vm = new Vue({ + template: `
`, + data: { + foo: '' + } + }).$mount() + + vm.$refs.select.select('bar') + + Vue.nextTick(() => { + expect(vm.foo).toEqual(['foo','bar']) + done() + }) + + }) + }) + }) + + describe('Filtering Options', () => { + it('should filter an array of strings', () => { + const vm = new Vue({ + template: `
`, + data: {value: 'foo'} + }).$mount() + vm.$refs.select.search = 'ba' + expect(vm.$refs.select.filteredOptions).toEqual(['bar','baz']) + }) + + it('should filter without case-sensitivity', () => { + const vm = new Vue({ + template: `
`, + data: {value: 'foo'} + }).$mount() + vm.$refs.select.search = 'ba' + expect(vm.$refs.select.filteredOptions).toEqual(['Bar','Baz']) + }) + + it('can filter an array of objects based on the objects label key', () => { + const vm = new Vue({ + template: `
`, + data: {value: 'foo'} + }).$mount() + vm.$refs.select.search = 'ba' + expect(JSON.stringify(vm.$refs.select.filteredOptions)).toEqual(JSON.stringify([{label: 'Bar', value: 'bar'}, {label: 'Baz', value: 'baz'}])) + }) + }) + + describe('Toggling Dropdown', () => { + it('should open the dropdown when the el is clicked', (done) => { + const vm = new Vue({ + template: '
', + components: {vSelect}, + data: { + value: [{label: 'one'}], + options: [{label: 'one'}] + } + }).$mount() + + vm.$children[0].toggleDropdown({target: vm.$children[0].$refs.search}) + Vue.nextTick(() => { + Vue.nextTick(() => { + expect(vm.$children[0].open).toEqual(true) + done() + }) + }) + }) + + it('can close the dropdown when the el is clicked', (done) => { + const vm = new Vue({ + template: '
', + components: {vSelect}, + }).$mount() + + spyOn(vm.$children[0].$refs.search, 'blur') + + vm.$children[0].open = true + vm.$children[0].toggleDropdown({target: vm.$children[0].$el}) + + Vue.nextTick(() => { + expect(vm.$children[0].$refs.search.blur).toHaveBeenCalled() + done() + }) + }) + + + it('closes the dropdown when an option is selected, multiple is true, and closeOnSelect option is true', (done) => { + const vm = new Vue({ + template: '
', + components: {vSelect}, + data: { + value: [], + options: ['one', 'two', 'three'] + } + }).$mount() + + vm.$children[0].open = true + vm.$refs.select.select('one') + + Vue.nextTick(() => { + expect(vm.$children[0].open).toEqual(false) + done() + }) + }) + + it('does not close the dropdown when the el is clicked, multiple is true, and closeOnSelect option is false', (done) => { + const vm = new Vue({ + template: '
', + components: {vSelect}, + data: { + value: [], + options: ['one', 'two', 'three'] + } + }).$mount() + + vm.$children[0].open = true + vm.$refs.select.select('one') + + Vue.nextTick(() => { + expect(vm.$children[0].open).toEqual(true) + done() + }) + }) + + + it('should close the dropdown on search blur', () => { + const vm = new Vue({ + template: '
', + components: {vSelect}, + data: { + value: [{label: 'one'}], + options: [{label: 'one'}] + } + }).$mount() + + vm.$children[0].open = true + triggerFocusEvent(vm.$children[0].$refs.toggle, 'blur') + expect(vm.$children[0].open).toEqual(true) + }) + + it('will close the dropdown and emit the search:blur event from onSearchBlur', () => { + const vm = new Vue({ + template: '
', + }).$mount() + + spyOn(vm.$children[0], '$emit') + vm.$children[0].open = true + vm.$children[0].onSearchBlur() + + expect(vm.$children[0].open).toEqual(false) + expect(vm.$children[0].$emit).toHaveBeenCalledWith('search:blur') + }) + + it('will open the dropdown and emit the search:focus event from onSearchFocus', () => { + const vm = new Vue({ + template: '
', + }).$mount() + + spyOn(vm.$children[0], '$emit') + vm.$children[0].onSearchFocus() + + expect(vm.$children[0].open).toEqual(true) + expect(vm.$children[0].$emit).toHaveBeenCalledWith('search:focus') + }) + + it('will close the dropdown on escape, if search is empty', (done) => { + const vm = new Vue({ + template: '
', + components: {vSelect}, + }).$mount() + + spyOn(vm.$children[0].$refs.search, 'blur') + + vm.$children[0].open = true + vm.$children[0].onEscape() + + Vue.nextTick(() => { + expect(vm.$children[0].$refs.search.blur).toHaveBeenCalled() + done() + }) + }) + + it('should remove existing search text on escape keyup', () => { + const vm = new Vue({ + template: '
', + components: {vSelect}, + data: { + value: [{label: 'one'}], + options: [{label: 'one'}] + } + }).$mount() + + vm.$children[0].search = 'foo' + vm.$children[0].onEscape() + expect(vm.$children[0].search).toEqual('') + }) + + it('should have an open class when dropdown is active', () => { + const vm = new Vue({ + template: '
', + components: {vSelect} + }).$mount() + + expect(vm.$children[0].dropdownClasses.open).toEqual(false) + }) + }) + + describe('Moving the Typeahead Pointer', () => { + it('should set the pointer to zero when the filteredOptions change', (done) => { + const vm = new Vue({ + template: '
', + components: {vSelect}, + data: { + options: ['one', 'two', 'three'] + } + }).$mount() + + vm.$children[0].search = 'two' + Vue.nextTick(() => { + expect(vm.$children[0].typeAheadPointer).toEqual(0) + done() + }) + }) + + it('should move the pointer visually up the list on up arrow keyDown', () => { + const vm = new Vue({ + template: '
', + components: {vSelect}, + data: { + options: ['one', 'two', 'three'] + } + }).$mount() + + vm.$children[0].typeAheadPointer = 1 + + trigger(vm.$children[0].$refs.search, 'keydown', (e) => e.keyCode = 38) + expect(vm.$children[0].typeAheadPointer).toEqual(0) + }) + + it('should move the pointer visually down the list on down arrow keyDown', () => { + const vm = new Vue({ + template: '
', + components: {vSelect}, + data: { + options: ['one', 'two', 'three'] + } + }).$mount() + + vm.$children[0].typeAheadPointer = 1 + trigger(vm.$children[0].$refs.search, 'keydown', (e) => e.keyCode = 40) + expect(vm.$children[0].typeAheadPointer).toEqual(2) + }) + + it('should not move the pointer past the end of the list', () => { + const vm = new Vue({ + template: '
', + components: {vSelect}, + data: { + options: ['one', 'two', 'three'] + } + }).$mount() + + vm.$children[0].typeAheadPointer = 2 + vm.$children[0].typeAheadDown() + expect(vm.$children[0].typeAheadPointer).toEqual(2) + }) + + describe('Automatic Scrolling', () => { + it('should check if the scroll position needs to be adjusted on up arrow keyDown', () => { + const vm = new Vue({ + template: '
', + components: {vSelect}, + data: { + options: ['one', 'two', 'three'] + } + }).$mount() + + vm.$children[0].typeAheadPointer = 1 + spyOn(vm.$children[0], 'maybeAdjustScroll') + trigger(vm.$children[0].$refs.search, 'keydown', (e) => e.keyCode = 38) + expect(vm.$children[0].maybeAdjustScroll).toHaveBeenCalled() + }) + + it('should check if the scroll position needs to be adjusted on down arrow keyDown', () => { + const vm = new Vue({ + template: '
', + components: {vSelect}, + data: { + options: ['one', 'two', 'three'] + } + }).$mount() + + spyOn(vm.$children[0], 'maybeAdjustScroll') + trigger(vm.$children[0].$refs.search, 'keydown', (e) => e.keyCode = 40) + expect(vm.$children[0].maybeAdjustScroll).toHaveBeenCalled() + }) + + it('should check if the scroll position needs to be adjusted when filtered options changes', (done) => { + const vm = new Vue({ + template: '
', + components: {vSelect}, + data: { + options: ['one', 'two', 'three'] + } + }).$mount() + + spyOn(vm.$children[0], 'maybeAdjustScroll') + vm.$children[0].search = 'two' + + Vue.nextTick(() => { + expect(vm.$children[0].maybeAdjustScroll).toHaveBeenCalled() + done() + }) + }) + + it('should scroll up if the pointer is above the current viewport bounds', () => { + let methods = Object.assign(pointerScroll.methods, { + pixelsToPointerTop() { + return 1 + }, + viewport() { + return {top: 2, bottom: 0} + } + }) + const vm = new Vue({ + template: '
', + components: { + 'v-select': Mock({ + '../mixins/pointerScroll': {methods} + }) + }, + }).$mount() + + spyOn(vm.$children[0], 'scrollTo') + vm.$children[0].maybeAdjustScroll() + expect(vm.$children[0].scrollTo).toHaveBeenCalledWith(1) + }) + + /** + * @link https://github.com/vuejs/vue-loader/issues/434 + * @todo vue-loader/inject-loader fails when used twice in the same file, + * so the mock here is abastracted to a separate file. + */ + xit('should scroll down if the pointer is below the current viewport bounds', () => { + let methods = Object.assign(pointerScroll.methods, { + pixelsToPointerBottom() { + return 2 + }, + viewport() { + return {top: 0, bottom: 1} + } + }) + const vm = new Vue({ + template: `
`, + components: { + 'v-select': Mock({ + '../mixins/pointerScroll': {methods} + }) + }, + }).$mount() + + spyOn(vm.$children[0], 'scrollTo') + vm.$children[0].maybeAdjustScroll() + expect(vm.$children[0].scrollTo).toHaveBeenCalledWith(vm.$children[0].viewport().top + vm.$children[0].pointerHeight()) + }) + }) + + describe('Measuring pixel distances', () => { + it('should calculate pointerHeight as the offsetHeight of the pointer element if it exists', () => { + const vm = new Vue({ + template: `
`, + }).$mount() + + // dropdown must be open for $refs to exist + vm.$children[0].open = true + + Vue.nextTick(() => { + // Fresh instances start with the pointer at -1 + vm.$children[0].typeAheadPointer = -1 + expect(vm.$children[0].pointerHeight()).toEqual(0) + + vm.$children[0].typeAheadPointer = 100 + expect(vm.$children[0].pointerHeight()).toEqual(0) + + vm.$children[0].typeAheadPointer = 1 + expect(vm.$children[0].pointerHeight()).toEqual(vm.$children[0].$refs.dropdownMenu.children[1].offsetHeight) + }) + }) + }) + }) + + describe('Removing values', () => { + it('can remove the given tag when its close icon is clicked', (done) => { + const vm = new Vue({ + template: '
', + components: {vSelect}, + data: { + value: ['one'], + options: ['one', 'two', 'three'] + } + }).$mount() + vm.$children[0].$refs.toggle.querySelector('.close').click() + Vue.nextTick(() => { + expect(vm.$children[0].mutableValue).toEqual([]) + done() + }) + }) + + it('should remove the last item in the value array on delete keypress when multiple is true', () => { + + const vm = new Vue({ + template: '
', + components: {vSelect}, + data: { + value: ['one', 'two'], + options: ['one', 'two', 'three'] + } + }).$mount() + vm.$children[0].maybeDeleteValue() + Vue.nextTick(() => { + expect(vm.$children[0].mutableValue).toEqual(['one']) + }) + }) + + it('should set value to null on delete keypress when multiple is false', () => { + const vm = new Vue({ + template: '
', + components: {vSelect}, + data: { + value: 'one', + options: ['one', 'two', 'three'] + } + }).$mount() + vm.$children[0].maybeDeleteValue() + Vue.nextTick(() => { + expect(vm.$children[0].mutableValue).toEqual(null) + }) + }) + }) + + describe('Labels', () => { + it('can generate labels using a custom label key', () => { + const vm = new Vue({ + template: '
', + components: {vSelect}, + data: { + value: [{name: 'Baz'}], + options: [{name: 'Foo'}, {name: 'Baz'}] + } + }).$mount() + expect(vm.$children[0].$refs.toggle.querySelector('.selected-tag').textContent).toContain('Baz') + }) + + it('will console.warn when options contain objects without a valid label key', (done) => { + spyOn(console, 'warn') + const vm = new Vue({ + template: '
', + }).$mount() + Vue.nextTick(() => { + expect(console.warn).toHaveBeenCalledWith( + '[vue-select warn]: Label key "option.label" does not exist in options object.' + + '\nhttp://sagalbot.github.io/vue-select/#ex-labels' + ) + done() + }) + }) + + it('should display a placeholder if the value is empty', (done) => { + const vm = new Vue({ + template: '
', + components: {vSelect}, + data: { + options: [{label: 'one'}] + } + }).$mount() + + expect(vm.$children[0].searchPlaceholder).toEqual('foo') + vm.$children[0].mutableValue = {label: 'one'} + Vue.nextTick(() => { + expect(vm.$children[0].searchPlaceholder).not.toBeDefined() + done() + }) + }) + }) + + describe('When Tagging Is Enabled', () => { + it('can determine if a given option string already exists', () => { + const vm = new Vue({ + template: '
', + components: {vSelect}, + data: { + options: ['one', 'two'] + } + }).$mount() + + expect(vm.$refs.select.optionExists('one')).toEqual(true) + expect(vm.$refs.select.optionExists('three')).toEqual(false) + }) + + it('can determine if a given option object already exists', () => { + const vm = new Vue({ + template: '
', + components: {vSelect}, + data: { + options: [{label: 'one'}, {label: 'two'}] + } + }).$mount() + + expect(vm.$refs.select.optionExists('one')).toEqual(true) + expect(vm.$refs.select.optionExists('three')).toEqual(false) + }) + + it('can determine if a given option object already exists when using custom labels', () => { + const vm = new Vue({ + template: '
', + components: {vSelect}, + data: { + options: [{foo: 'one'}, {foo: 'two'}] + } + }).$mount() + + expect(vm.$refs.select.optionExists('one')).toEqual(true) + expect(vm.$refs.select.optionExists('three')).toEqual(false) + }) + + it('can add the current search text as the first item in the options list', () => { + const vm = new Vue({ + template: '
', + components: {vSelect}, + data: { + value: ['one'], + options: ['one', 'two'] + } + }).$mount() + + vm.$children[0].search = 'three' + expect(vm.$children[0].filteredOptions).toEqual(['three']) + }) + + it('can select the current search text as a string', (done) => { + const vm = new Vue({ + template: '
', + components: {vSelect}, + data: { + value: ['one'], + options: ['one', 'two'] + } + }).$mount() + + searchSubmit(vm, 'three') + Vue.nextTick(() => { + expect(vm.$children[0].mutableValue).toEqual(['one', 'three']) + done() + }) + }) + + it('can select the current search text as an object', (done) => { + const vm = new Vue({ + template: '
', + components: {vSelect}, + data: { + value: [{label: 'one'}], + options: [{label: 'one'}] + } + }).$mount() + + searchSubmit(vm, 'two') + Vue.nextTick(() => { + expect(vm.$children[0].mutableValue).toEqual([{label: 'one'}, {label: 'two'}]) + done() + }) + }) + + it('should add a freshly created option/tag to the options list when pushTags is true', () => { + const vm = new Vue({ + template: '
', + components: {vSelect}, + data: { + value: ['one'], + options: ['one', 'two'] + } + }).$mount() + + searchSubmit(vm, 'three') + expect(vm.$children[0].mutableOptions).toEqual(['one', 'two', 'three']) + }) + + it('wont add a freshly created option/tag to the options list when pushTags is false', () => { + const vm = new Vue({ + template: '
', + components: {vSelect}, + data: { + value: ['one'], + options: ['one', 'two'] + } + }).$mount() + + searchSubmit(vm, 'three') + expect(vm.$children[0].mutableOptions).toEqual(['one', 'two']) + }) + + it('should select an existing option if the search string matches a string from options', (done) => { + let two = 'two' + const vm = new Vue({ + template: '
', + data: { + value: null, + options: ['one', two] + } + }).$mount() + vm.$children[0].search = 'two' + + searchSubmit(vm) + + Vue.nextTick(() => { + expect(vm.$children[0].mutableValue[0]).toBe(two) + done() + }) + }) + + it('should select an existing option if the search string matches an objects label from options', (done) => { + let two = {label: 'two'} + const vm = new Vue({ + template: '
', + data: { + options: [{label: 'one'}, two] + } + }).$mount() + + vm.$children[0].search = 'two' + + Vue.nextTick(() => { + searchSubmit(vm) + // This needs to be wrapped in nextTick() twice so that filteredOptions can + // calculate after setting the search text, and move the typeAheadPointer index to 0. + Vue.nextTick(() => { + expect(vm.$children[0].mutableValue.label).toBe(two.label) + done() + }) + }) + }) + + it('should not reset the selected value when the options property changes', (done) => { + const vm = new Vue({ + template: '
', + components: {vSelect}, + data: { + value: [{label: 'one'}], + options: [{label: 'one'}] + } + }).$mount() + vm.$children[0].mutableOptions = [{label: 'two'}] + Vue.nextTick(() => { + expect(vm.$children[0].mutableValue).toEqual([{label: 'one'}]) + done() + }) + }) + + it('should not allow duplicate tags when using string options', (done) => { + const vm = new Vue({ + template: `
`, + }).$mount() + vm.$refs.select.search = 'one' + searchSubmit(vm) + Vue.nextTick(() => { + expect(vm.$refs.select.mutableValue).toEqual(['one']) + expect(vm.$refs.select.search).toEqual('') + vm.$refs.select.search = 'one' + searchSubmit(vm) + Vue.nextTick(() => { + expect(vm.$refs.select.mutableValue).toEqual([]) + expect(vm.$refs.select.search).toEqual('') + done() + }) + }) + }) + + it('should not allow duplicate tags when using object options', (done) => { + const vm = new Vue({ + template: `
`, + }).$mount() + vm.$refs.select.search = 'one' + searchSubmit(vm) + Vue.nextTick(() => { + expect(vm.$refs.select.mutableValue).toEqual(['one']) + expect(vm.$refs.select.search).toEqual('') + vm.$refs.select.search = 'one' + searchSubmit(vm) + Vue.nextTick(() => { + expect(vm.$refs.select.mutableValue).toEqual([]) + expect(vm.$refs.select.search).toEqual('') + done() + }) + }) + + }) + }) + + describe('Asynchronous Loading', () => { + it('can toggle the loading class', () => { + const vm = new Vue({ + template: '
', + }).$mount() + + vm.$refs.select.toggleLoading() + expect(vm.$refs.select.mutableLoading).toEqual(true) + + vm.$refs.select.toggleLoading(true) + expect(vm.$refs.select.mutableLoading).toEqual(true) + }) + + it('should trigger the onSearch callback when the search text changes', (done) => { + const vm = new Vue({ + template: '
', + data: { + called: false + }, + methods: { + foo(val) { + this.called = val + } + } + }).$mount() + + vm.$refs.select.search = 'foo' + + Vue.nextTick(() => { + expect(vm.called).toEqual('foo') + done() + }) + }) + + it('should not trigger the onSearch callback if the search text is empty', (done) => { + const vm = new Vue({ + template: '
', + data: { called: false }, + methods: { + foo(val) { + this.called = ! this.called + } + } + }).$mount() + + vm.$refs.select.search = 'foo' + Vue.nextTick(() => { + expect(vm.called).toBe(true) + vm.$refs.select.search = '' + Vue.nextTick(() => { + expect(vm.called).toBe(true) + done() + }) + }) + }) + + it('should trigger the search event when the search text changes', (done) => { + const vm = new Vue({ + template: '
', + data: { + called: false + }, + methods: { + foo(val) { + this.called = val + } + } + }).$mount() + + vm.$refs.select.search = 'foo' + + Vue.nextTick(() => { + expect(vm.called).toEqual('foo') + done() + }) + }) + + it('should not trigger the search event if the search text is empty', (done) => { + const vm = new Vue({ + template: '
', + data: { called: false }, + methods: { + foo(val) { + this.called = ! this.called + } + } + }).$mount() + + vm.$refs.select.search = 'foo' + Vue.nextTick(() => { + expect(vm.called).toBe(true) + vm.$refs.select.search = '' + Vue.nextTick(() => { + expect(vm.called).toBe(true) + done() + }) + }) + }) + + it('can set loading to false from the onSearch callback', (done) => { + const vm = new Vue({ + template: '
', + methods: { + foo(search, loading) { + loading(false) + } + } + }).$mount() + + vm.$refs.select.search = 'foo' + Vue.nextTick(() => { + expect(vm.$refs.select.mutableLoading).toEqual(false) + done() + }) + }) + + it('can set loading to true from the onSearch callback', (done) => { + const vm = new Vue({ + template: '
', + methods: { + foo(search, loading) { + loading(true) + } + } + }).$mount() + + let select = vm.$refs.select + select.onSearch(select.search, select.toggleLoading) + + Vue.nextTick(() => { + expect(vm.$refs.select.mutableLoading).toEqual(true) + done() + }) + }) + + it('will sync mutable loading with the loading prop', (done) => { + const vm = new Vue({ + template: '
', + data: {loading:false} + }).$mount() + vm.loading = true + Vue.nextTick(() => { + expect(vm.$refs.select.mutableLoading).toEqual(true) + done() + }) + }) + }) + + describe('Reset on options change', () => { + it('should not reset the selected value by default when the options property changes', (done) => { + const vm = new Vue({ + template: '
', + data: { + value: 'one', + options: ['one', 'two', 'three'] + } + }).$mount() + vm.$children[0].mutableOptions = ['four', 'five', 'six'] + Vue.nextTick(() => { + expect(vm.$children[0].mutableValue).toEqual('one') + done() + }) + }) + + it('should reset the selected value when the options property changes', (done) => { + const vm = new Vue({ + template: '
', + components: {vSelect}, + data: { + value: 'one', + options: ['one', 'two', 'three'] + } + }).$mount() + vm.$children[0].mutableOptions = ['four', 'five', 'six'] + Vue.nextTick(() => { + expect(vm.$children[0].mutableValue).toEqual(null) + done() + }) + }) + }) + + describe('Single value options', () => { + it('should reset the search input on focus lost', (done) => { + const vm = new Vue({ + template: '
', + data: { + value: 'one', + options: ['one', 'two', 'three'] + } + }).$mount() + + vm.$children[0].open = true + vm.$refs.select.search = "t" + expect(vm.$refs.select.search).toEqual('t') + + vm.$children[0].onSearchBlur() + Vue.nextTick(() => { + expect(vm.$refs.select.search).toEqual('') + done() + }) + }) + + it ('should not reset the search input on focus lost when clearSearchOnSelect is false', (done) => { + const vm = new Vue({ + template: '
', + data: { + value: 'one', + options: ['one', 'two', 'three'] + } + }).$mount() + expect(vm.$refs.select.clearSearchOnSelect).toEqual(false) + + vm.$children[0].open = true + vm.$refs.select.search = "t" + expect(vm.$refs.select.search).toEqual('t') + + vm.$children[0].onSearchBlur() + Vue.nextTick(() => { + expect(vm.$refs.select.search).toEqual('t') + done() + }) + }) + }) +}) diff --git a/docs-old/Docs.vue b/docs-old/Docs.vue new file mode 100644 index 0000000..0ca815c --- /dev/null +++ b/docs-old/Docs.vue @@ -0,0 +1,54 @@ + + + + + diff --git a/docs-old/assets/fonts/octicons.eot b/docs-old/assets/fonts/octicons.eot new file mode 100644 index 0000000000000000000000000000000000000000..c1d2f2927173e6085a6dc6ef6b290f4a78288bc7 GIT binary patch literal 30848 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 literal 0 HcmV?d00001 diff --git a/docs-old/assets/fonts/octicons.scss b/docs-old/assets/fonts/octicons.scss new file mode 100644 index 0000000..1c51540 --- /dev/null +++ b/docs-old/assets/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/docs-old/assets/fonts/octicons.svg b/docs-old/assets/fonts/octicons.svg new file mode 100644 index 0000000..0908706 --- /dev/null +++ b/docs-old/assets/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/docs-old/assets/fonts/octicons.ttf b/docs-old/assets/fonts/octicons.ttf new file mode 100644 index 0000000000000000000000000000000000000000..3dab5b6698d2675745b2101db73a07f08c6bcdb1 GIT binary patch literal 30680 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 DY{4$w literal 0 HcmV?d00001 diff --git a/docs-old/assets/fonts/octicons.woff b/docs-old/assets/fonts/octicons.woff new file mode 100644 index 0000000000000000000000000000000000000000..0cd624c86d776330a49fe3df86289ad9865a6e26 GIT binary patch literal 17052 zcmV)_K!3k?Pew)n0RR91079Gq3IG5A0C(5`0RR91000000000000000000000000_ zQ!g?A008s=002Y)0035e+*4X(ZDDW#00B4v009&L00N5acpHFcYjO7@{-~odCOwlW_*QNICakH+Wbx(V~o$_y3{y!8YgU%lg))r$nK!2 zHGWfUjMwVTQ9yta%BiG^IvQxAg%Is@(oG-z3^L3JV~jJ&G&9Vzz!EF0vPP6`_BbHU zDJkw>dNY~di&@v;$EA!4JgTXuk)Un^hV=f>Ez?hy&j zNax&SB-!lxT*o!~)|Wo@p?AIMRp?nydenpNbgLU(>q==|Dy0jZ>qH5~b*w|}Yez9{ zX;T|oS2R$Q`%gZ~Dax1pf9eMz8!hdRN`Yx##@Pt0a)5`Q08#Hl($Z1gfMZ zBFRLhtgFT95NO3pG7a%GRHp!UbzWA-6UoY0ath)JRZBy%6{yr=iE1TMElNy!-u|f~ zTMtCr;HnLBv;gUDrMRrHr`;0{?7Q0osSec}UAJlKol~3EMZIcA3Ow)K+ZqFCi#}k< ziv3gBz~cG8uuoUyaLa+V8LdA9Nk6CqautFdIlp@4iN19y|Hg{!8xDtueR5@^Keev! z#Fc7bxcBasuv`JpUpx<43FhbLEg6_8rLb*99c!v;MI9SLTZv>s>BWZWMV&n}dg0Ja z$0&ob_I0ECFJll+RUr*M)l?h67&BIRAm26N^-gr_Y{2vQfy&%$%33x&@L2Cg6r`;B_*;&cf?r(x^0n*NVQwUp!l$a(X$cYE->= zew=E`tBc3S(k$Kzki}C&0JW3f^uV&@^n?!#-^6rs8F;>VetUFzzYi?%^)HXM$Fm@x zx@Gc>JNh7NUkXNW&*bDD*^nQ*bLdd<%F8N-QMv5O;-R5CAG3Rxr&sT(D5|Pd_N-1X z@7n#j|1j2gz{$m;}8k+p5*fR4?Er!}WCCG%Yad7Blcd)3EU0tV?)- ziPzypvcxa0Uttj5zHlu@jM=k$S7+ zMZH`VXO$rsuZ$&PYV?c^CRH~=zS}gr^RThXx2+|c_NL6hfH5#IyJ#g#cv0_)@D9`5 z5nj=Ymy7+Q*3q-=ehcU(W1xQA*j~nxnZ2*lxZ;E$4jswFX!Id)r z4n1(bp-O&9mxiU1RFx*NX1oT;0=^qcXQPE=JYPmKh&vRo; zhoB2VA+}3JSUWsmQKii@$RuT&yx#OYx`d{oT`l7p1}T>r7on0326=XJo2)NitHgrMG_et(t5&E zP4ptIgId(bE7eK@NuPK+@{(4F(cXBm(Abhc;|rwWnxi9E9K2%W=rxcI`1An}wEz6) z(CHbl2TuLSlgo@heEH=Mk7sh8AK72Z_V;IT0V=YYfqvH4cHK^;b#u_`4Q_5#c3#)k zcg^Zwe^OOH`Rmo!)aTVr_Z8N5_4_;?Uw_xy!hM@y12ZmJ4Y2wWgEh8jj1-#FoaR%= zX{MwN(soHIjGqJ8{rR$%ESHdy!cCJ|b7w3xW_$B#8Z)^Saz(mGZp>~=KDxy~;^`@6MN;S-DkQ^rlPi`N)=|GSZ(3#SZ&TO;h{R?nM4pW3t;9Hcx$c zD7>Qnka!M@HfFn!Cuf(*Bn(gjbD8lc%H)eTs!BTC7D}g=Yk#s(ZXN3gj>RvB^}ai8npd9mcurc#Fs$?keV&t7%E#V+ zoxD@IAlkZD-MRiCQ};*CmB%lb?av>)DQC2WImjS|4seC;`IaLkE|fF zVavw3{YTd^A#uUCgomZ19x0F9m^kq?QqKlyi?mJJDeac_O9!OOgxpX_N;?Z+OA5FU z7pA4^aAG0F7nrt2Yz~hTrzW`*Mea!V@n<>0zaQeIEN-F<;oKQn7IIt@8Jme{$lW%G z8zaXC68@(h<}Q=uKW)mytPOsJ0Vc`9R`_T{!4? zt!dbnxLy1S-f77M#}w>2>N5!^i(VZDEm_s8;0h|I531Dmx!Ku~BS%i~(tgC1NAwn| zIy39oG=6eKTr$F(+SHxe;7EBKo+e2_DI&E?X+n#x;3h#W8(Kz$6ebw|W;@kFq_DB{Gf8_C(Y+B>| z?#7P6dX@8pRL&d$Y$y(apeIqFd?2ugRDG7wFgUTge*^^$14RJc+AQa&-X!U&9K9~8 zZy_tx70!G#5bS*lb%C6Y0=-(92El{Is#NWq#)X1jDdtPbCAG)ylKfHC?+Yhu{@_#= zQUlXn=Uh9*w!qExSyhRp24>QU)Ie>x|DsH*KQh=^=u5m|ARseOHu*7YN$Y0iXuNoM z)yz{7Pj?CmhsM3W_D=Ta_DxJp^j;tE`T}7k-XXK=T7sacGe@^ygtfCAdbmZN!5IxJSu)UMK4(#LRY;4hOaGY_uY$J&$d&e&KCiqUAjkcO50 z5B8!JFB-`1(bq{7%ChfOIqfo>P2h)8I_OFDreUtrN_Ge~;zsn|nf0ECI zN`6s~4?zLv1V^K*ZL5jopw}+g$X1xaftgFBjDuu{uh4V7Qh-w*K0C~xnAOCDTX<2) zzk_M-oUFQbO%OQg8I6j5U!xE z5|9l`=YapWY3smf^%82|^^&ckWVX8=OiLpydHV!Zr{fH%CP zx*~*kDuh)=$onL*bBQi4?LLep(?nT(mqWU$Wn#64dftqnh^EWZ$e8?z7q z?vIbujopJD1J+%9@jBUHQD14;Ubw}|*j6S32ChJQ_ML}1ip7pY_J0TJbTd7~2)wgC z!lV)F#FirpJGSMH?aL2jjOM#I?coH#fksZ)%_*Py8pWpos-?2h)Z^^0leh2Re|z%j zr=7KJtlGxdwpFXP18fKL{Hqze`h0iwjC*3$s%=d=aoI)B3&1$eEg|7%&3FMT7wPqt zQibqkehP4oQAdwgqD=tXLC>a(i`mw(ZKKUF*%{BQ+NrkpUcR-sj6phYO9Jd>#0qK- z_LUltI6AhKK^KfP!{jE=Jf8O?JT0EB`jw@~idP)OeEJv82Fy2M=ml9jhFEBwbS}0Z z^`bHd(E8b1P8I=9GUYUsIIe~>G=`?e_pXSPuIVeRjwU+K)D%|l=sP$RaVl;n7HbVK z=d8_q8X%MD-nBeZO23Yp@Qby}V+h34;?eePOB4os!A>AIbn+JDYY4S{4BHm=K^Qf= z0%9~J4B=836x7c(l>2&Bp0g2PwMJkL<|0EV)o60!geK@jfYh?^J%jf5eI4O?jVrdZ z;g0(IpWVLwS+dXAbC8*rY66P8_=ae%#lfPIBdr8YyG(^Fi#Qp{JOS1N-}ZRE{eURH zQdgAvS9p0VnIza}8mAuk_HOqSmS03jXEwc$uuZqX>S2ywvw7#WP06k3jlwilnleN-)d+~MZ`Sg~nADudQ`b9i;a?he;$hr($GHa{10M;wp)04$o z!Jc#JgmmW7d50D~E(QxCK9>sE`Y6`5swF|!pfTsGO}w|N5zpmyLp+B(-kO(0XY9SN zG&%Ly)s61DB==-~Dd;n=ed49O9E;Er+E2Z_B@HfA{1`7! z!JGpJve~Gy$*8Z;CY_v{a|CDoNm2_I=ByacG{lDgNTd~s+(cb}%h4~t4#A-UU%Px-#+vbqBdrtWa5ybcArxYm;Y zOP)qv9;Y5D05`sX8bbz>9h-vj0=JGLO}=Dr_N8-apS{@|?vBWZBHdwoGYxHq&4$I`_}Vk`(XNKhVzs;&(~ zK7{m|3_-kyl%*ahO#|sn%~DG?-`YK~@%ov8gUdGDuyJMgTbg$#)Akpe1V4lhE}vO+ z(W2eUnvjKrs7lPE0i-`2XZr@!Y zFmq2Z8yFlM90+DR0@+L^8-UutB*5eVFX6k5;~m-Hz~G=gysYr_fhtIq15fuZ;~KHC zH4tbEH9Zo(5X=U%yK;eCN1%IV^ZM=p91R49kKKH1IM9&`=FZ=HK9=@3+?Pc2p(xjowR0=|ZQ6Cc{9$NRH*L9lCP^GsJjlIMTNX>B!f?Hso* zCwg$St9mh68Dccrx=L~pHB*P`^r#L=2tjfhaNX0^lk1&0l!ydFUAvD=yft&nTS8s^ zLpQ=dp8RbHdn=Sq@BFYmw!(gKdT;W*8Hi87;kImVVdb%S#J}?Tecd7RZQ0{1t{)su zz41P~4gWG1WZ5S^X6GmEpXcsrziNG3QMZG($|gLWY1ZxQk~U7%WD7ESv;YjFd)^G?9N@o_vKBikzJU78>x z0&iN0cn{~;@oKqR5tccRR2*Hm#e3zNb-(FIYt_T$+{y$BR5LmNhWG9P(>ixBU*6f1 zo01K9*OlI_YsaF|-*%jn@7Y<-@6B4~z};R02BKIktCY@`k5sg@;5k?+M0Ut615!+q zN_j*pay%g=OH5KYs2@W1SKWC0HCV42n*9O$AvxE| zw0tWF!?-~zi%E94`Yiuri!>-p;3i9`*bD&(cMhS(zI?8_JG{iDboIsMIcY66dsb4eFfHWbkm#&j;l-?n|hvOogNG{CORfn32 z4F+GBf|5YqdZk&)aUfb9L#~F06e4&U@&#S)EL*goNJI^kU`iG#2z`JY=u75IwoNCz7Gr@W;~lgiy+MEw#H~pSfV4On}U=UDJnS z3i#Lj@bJv=@IToSDcDQQnWu+^Ch)enW;3Z^cx$lm9 z?Pi;{5!xfi!$QmpsvN74CCbODNsuKQ>AE%xvxq1O(&84kQ*pi3#J-9k+UX?iwF4IV zikPqBgLn|}0R0a(8BMs+NS?N-|MA(zT&*_8Z5(IxX^PlH&9X99t%ilQgg50-?)OQ9 zuHQL{Gj+j^SeXW*^-`7dqIfb9gaTqwtVltDAjgCjH=H#5n$UR#Zl3$tW9Q<|6`l3f zTv$lhbM_p=Yi$cl)N#1Y`9S?=PE~ud(TxQnIU=sY#wc<#$kegcHZCx`(65|NtJtql zB922$kU|2;(lalvSb80~$m8yLswz^gb;fnXzw$m*4)7#z5ARkY?j_fieJCWu+>}lx z7mK%v+aZAW>vM7kQoaQ7q=KBf2YirBRI24DF%BJysN`Z#yqXAwo+cLlbhv<%w}iX) zOW^{0wPaY>!%vf8$mH5}1Z7VzzHcoK7%l>Jz^C)C@f#@mBIV3EKVUQ#-`LcO6(Tk45G zghB908VNx*v}FkMUt3Sh>S81av9_L}p`NyQFj8FI($hxF#yr(B$*RDpQ3vv{P_5=SiVVi>Y@ z8s{|Did+z23Ed7zM`JXf#n2-a<66vN$7d96Xy|8H|An_F?8tsuB6)mvZ;kNS2#jTr zbAFKn=EsDp$W62010eqAMbwhvJ^=p4((CDPOtLtaGmY2L*pQv^Zoc;QR5ZEa$CL4` zL7HFTlHy}oA95>A=CctQ5HUGMBAt60fOv#u5>E%IUUQ~1x6@;1e*MRcUV~@S0z%~1>zmq8t`qsA)wM&bi zM^e(2nmDqz8GJ;IS$rTqHq~*wu)l=Q#3z^b7mjzN?*7Tt+7(Y6#mC~qk3O+t?bJ{1 z#>Xm({Yt~Oj$PlukycSO7&%Od`UC%~3F?~#f4yAZc>z zj&2nINw?V_*Yi|cSxph?Fa~>z)=lGoWbTyxX{FyN^;YBeqjKt)L z6P9)2*`)z7Mk5{ucqEKKeCF>7hrzeIx=9<-H=&6P>g_9~HPVc%9?uZOZGEQc0dbb=D!sB}QnALd?ndBL8# zt2^KnCTcf@6BH@mjVR$h1$(s!4w`pDPn>2tku=}o2iL@Ei4Q$OniMP;k+EJk*H0iTEBbX^88$AtmrxZqUX8?wchWppTU+ zi6r)l5EmEzdQAPry=>N=v*#@NmXH4US8WciKz@Y%D}~+8#GY*G2V}(y-Pgb@bPx7O zfgm)E77nH(@5FeKx3(yH$x-1KgK&ii>U9PX=Yqshv8!Ql*+iPg!(1w54jgCf_yJz7 zX8YEy+s8!dPWWcpOZ6T{Y2aRtOmJG^TGOkQu^vdo zP%}mmMYf!KcUn7RW3hu#gO1g4s<0>?ibfB{#$0>qZ5)Gn8+}|9OgEQwq!tOQNzz60 za+B9TJyO<@8xE869Fs<37pK!?%rgIc2$Dyw9rQvv($cH8c7ZQY#71eh{YL+*wAbe~N zU!vg>?ac~0v?obFm^~?L7I(^Aiu<>5RFoWkGTyd}cf8fW9IJP=(<2W!J2hpch zX}z>ll1d2`6%*#d3SuQ#^4!^!L!cXlAIVJ=ER^ZmnzaW>8K=S z8Z3LSz6LAyRf9S@SP>iuHQA(+7lnC{FTw>Ye}R~+aK1umPZS|Xeta-LzX(+2c!Li zg?u0u=mhBK(K{d(PIdHjpR;@dQopCyOrOuw_nvCieiG!=bWd?G7BBchZQ+hJ%L@~~ zW|2a!0GZ`}e=-;vX=@DxAlaXXVsCre^`BVsX7(a#a(PbO@k(+m;d&(_RppE$aOd^M zLc!?+40dnae;GXVVdh(U;LV%<^0)`KZ8>ibz+LbBD`?qw!x=|7-*4DzqEePyo0eF% zDAJ64Yhl4NQJ`y!_9*tn5s_lOpR2(fAoBf(8(TaktXbIEI8C|U=iEKbqx1+}BT`Oq zTEm&o^{D$76gpp3}T_mNq%Cnp=mO7G=r)AA3xej7Y25 z8nJlU2<3A_`%tl_&>L#5uxg5*Ej8`@p?zl6$lX{I<)Vl|#BCsy5!(%4TnHvRbBl)E zjrSwW)rEX@xilz^;#{UaX$IvBfvahXJ`$Rz!j%y*kx3$Q8@#I=83Ng1uEH#Osq^@F_1C6;Vza z7LT-D6q-gCoPLr{(kW}nyOL*rm&|QPXL|>?1-#x1{`j^uW9GBI2fK2?+j;i)nN6CT&LZqVDpodtkGXJImPLI0xM z7FqI*eX0vK@7}!`yb=5Pf9l)O?n6Y(tgd_=lFJh;G0`R1A^Cbt!x`5(juUxb>Q$IS z82IwbHEKOULy67L&l~JEc{OT2-5k}b@o+(*$R#bA7zRz92EACChEfkD)A^gh|xns02mF_KnOTz3{_sF({*EI&~rS@AX3I>~L41rEoYq{0LR z9OWC9l5w3$BAV1;>CDR5HLbI!$ynGK^~`R>_EvK3c zGi#Cmnw&b;iDzrio^Znm+<0*&4x_?K&;FA9&+KoU*iYos!`zD@+*Xx@qHDUwA790h zVAYP7oX49lbyVSB*4=um`(t<4ugWG9FFAbdr9|>So6b5q^(*W`%ZLX^_pra&)DVdE89D|$3?aG@6b zXTIX_=CADBV*jdm{tXbnW>rkOWI!v#Svj|?ZX0Jjk^lZyk} z@FoM3Et=A2LazRvuO0npK-J36ELS_ZjIiVzxoq>H)a;;$vO+Rj)l1c^mX(n>vQa&$ zmBuR5P$?EPQOQZr#cUp#+s-)?*^j~e+Sd&8+lidot9I5O`dVivZsZc*HfNEGTb%D% z_Om0Vm5RTwb6{e`JJ9*Qc*+vzlM603TbSnWgRS=Go8kwx1*8XIT4XJ&hY1{%gcG3QVx=$-ltpuMfGZBQ zW$sE9C+%5&Vy?#HO$Beb3!hKgibVNO<*LqOip%3gy~+^)jWV$)uJqz;<|qcIG-tro za49Uufs;cvQ7KnNB05JCJW0JAMh1Wvo_&uW z*ukCa_TwWIZ5O@?4o0ZgZ5Lk-%3F^0_JQ7ATmhi}&q^g0D5MYiRnI}+ zoxaUp@NZCVSd|(HfFFJX{u}&oucqwz(1-RZ(5m8djw&9to2egr<>mKjo>31d436Ln zM!;|X52#ej`U*wGn@8+tX^(x=4{eTn?4SMMRqQ^$=JUcoLyP?oi?duWjL>!V7p~gO z!v;6SG8ITNKTw4kG=Qd9PDyX>6jbOE1X?t$vAU!)+r@1oTup&b=DO8 zOwmHk`ly?JW^sN=@hrr9TquqFBXg$5i1SMFZyG!zun|Kp_>wM_DM6fKS<4ihm8n#D zu7u7fcy+XKY&6jg&S6K3ZUtdJ7s;PwrG#MaDQJ5t7X%S$tICQvpvY&3T}1 ze;Mjwk(xrq4TbJFuF!-ZB%3v(| z#6q|D?1JUwGR?jIR~X3K2=7~z5B4VU!37p{Kbi8eKl~8}Ntv(X5QMR9-O@6o#y!#z z@)%-eolJgIZ$u;M!x_lNQTs=H6H8RfxnemwPPqbzXrTGxytp`xb4k@uDT?!WUcFM( z3n<~VxQJw{;={^n9-k5}!Qh9x_6^*85Rt;ot1eoRK6u{4w=?Fjyz9J?QQcPG31=-JZPGdP~?qANap%H`7wIlI}{ z%i4`+-B*^Cv*z!f{#ULvnBuh*fqF(J?`lf#;x9IZ-g2DlEi3ugIJlHYvet+qa2LYzJtfIyf ztw7LSFH%Y2n)JafRV&irR&K<>hYV4$2X#+EO^&76l$@5i(t%36tnn;&g8ukw#^>A= zs`qk{=etkwJFzwuJeQW$s`xlc5$oV_%@RX>Ugis=I#d1(uyz?(8)7eir(bLFdUGR* z0I*09(R2uyU-Nhh?TXx{c|D46KxQNDiCnK5XblBo%Y$;DE794Ga@f1W$5rQ9B{c+(=vnMd~2lN@AZSHTN{k!yqT%qD0l-ag6ed{T(bA@AS6zw4^+qUA_TtDxqECyqv~)9;^?9LWyfb{(M(YFwo;I{OX~v)a^@TrPBi%YbTA!12-_H;J>N_16l>Jo-N>$ zWi=G=%W}6CXR^0d^(oQLgs|&>Nw(PENC7wZk8*8vo^M5-{{<^%QiRzk8c*Hg-z^Hk z!Zx#(<@;0VbgDnU%zmlag2q@CF6*CKzkaHJX4|&efx)q{!GZC~NtiBQ*xR3)*)fCn zTnHR!wpE~uWQ+U%8KlnndfAG!kdhFGREHm1a7r!D1Np&`+1W>bEX(%KUj5#4V2oEco1SF)$vj6E^B=)6 z_$kk3?B?D>se@E-B~dMq-j8EZC~62Mp%7LIRYe0OT&0{R9d|ktFx%D!vx&~mgk5WE zvulY?`ep!Oi&;umm=zuv8xhMa8@6+aoO;;fIjrUq@DtjWW!$bmbPzswB*)jN>yZ!fwS5i6aMJSCkJQW>Gx3xi6PLh$ z^z_+az2z+&tlG6X5$Ej0?14!&2*26wfCq4K=Tow5(p@ zVP#2;o4fMWY%>LKp?bXs& zX|Is>Zsiv07L60EC%YP@SvPOfw-9u0?BsS1GK_G}#ba1VI~WzJnri^Tj(z-&J07Q$ zYR_}s0(giY_haGVf!iOveE@oYyyMpH?pq(CV#ghy_lUb>p0jw0nrBT&U-C_h#$kK;_k=|_^dGOjDGG6Ao>#%+hMwFIK7W+&U)4!1^p zUhp3AVi{?L6`BhFhQc@^s{EU+vm^L7yH%FqgN)s;b!++SyxqO6t&xX2J0Fg;w)S>= zFS-SN#X=`DDLrbLMMd?c- zG6@+j{--#RimxwH+-Oq9$$|R*-mY>qrv+R3hF15P*3BJ7@IJPFO}0DRBQ@u*i}s*=)UvryBX*8*=}31?3S_E}jnb+@@vU*; zX(#4K(59LlLoF_<%JWmfTUOeKqM-}lB-&y2tsd%Y32M1$xohu1Z0v0l>rr<#a~US@ z=mh-+g4A2uPU0d8HUG)E?z&{m+TDu`<7`~w?bXton5p3 zF)tK5w%m%1qJYAlEZF9B!;eTfq{uBe`0pdjVVFZdmv1_N%mqv2R3rvPhPTtElekSZ zv8!eM43lQox4P!zGFZ3d^YO z;>+pNU*RN2ry`b(=Yh%h|A_L3eiY32veUi!`j+irY=5>P;Sa(K6oWA@*_~Ogv}_Pq zQaFf#f5etG@`>YQeJP+&5MP4h5x2<-4pkxvVxm!^-f%w9J@RybOWwdUquqhLeKk%1 z?2nE3#)7`}laJmblLVFTdGwQ8b^FK8x40JKv=ts9!_juQq&OZ<9(Lu#)4N&p+&r0YlK%p? z)vd=`;%cOv5%?ohj;QgL$9SK7m5s2k@x1XYLQneoC%z)iqf_!(lx+HVQOn1pW0f*F zDC4i)@&PtcTKxu)Pu*t!*S~My1Y5RTe(Zw%`*s~;7VNre;=-t>b^m!s55w1C#n{9M zeBb`Ww6SX9)rRfMb1UM6R-RiXDS16ho@V5#r4*F7`Bg5+dD(O8iF54J=bRY$-r!x| zpS|k~AGPD2RV~U!cJC#gn(^$jCr`42_SI~p{@=kL6zt!vh5h!!POLIq#bb#=6xk=| zqe3C&+Uw_!A2aWQ;X+qGz({X*AEQXcU*(4(mnjTF&dudvI0h6y?!+4}%0p=0$rq|g zNctA%Cdkj*0Vk~cH+*eh=j>iD)~Ad64uZPRo`s@wMasFODM_Ib=dSKN2tmBqeqtfY zz4`kgRp}gxLEuWkFyM;E@)6?UE0Vnl3W4CO#Mm_Osl`{7aS8^6r2OLgupICV=dSIJ z?@Fyn?TU9@n;Z57JmK~6_>xnJRO3{ARv7Hzt<6W5-tfB5vVY2Nzf9!eIp6x~k_Mzz z{JW7&Id3R$b3<%=ijAciifA5UBs`TQh6_vflN{Wm;KCU!z80)N_W9=_t0?wQ_pSQK zqYvJ^cJ0j%KKhZH)~>Cefc|VTgVfNUDQ5ezTbg(0i;q70Xi-hYSuvgwUkz@0-0APG zYCPvAd@8)N=|PJh3;qAG|MJWC$NCuSYyP%bRoWoE<^N;!-01Ofp4Jhs(j6MI2ZjX# z>`HZtRi|W}w)q^-MT_Uh=@=!T#}j|zs3X^DHG)0OUZd zEf5T79UZ=Ct18Q;Uki;G#lAIz9q^};$-MK;t4Qnb+FDx_Z>ZJR7V#^xH>`Ri-5mj6 zYb@gLXjcPXk5>)12Rd`1aAqVEcjYVcnk9b9#R8Q_Oj~Y3_!&|(MVa9|A@NM%S$`7W z@&5oM8V|Lgzu+*-`;KrROZ6G#*Q zQ!NZ(0001ZoMT{QU|@Fm@4yhl?ZCkB|0TB;15gA7tN;LPRRr;PoOMz`4uCKSV@SOC zsXdLSYn(_ecxVO;N?|h**)FKB6Kw;qAF&pmQ1FpAVn+D}_uNmNxWlF%2;>@Gxud?s zWocKTTwgq!&<G@FiF&hoQH3099Aa|c>+s_#`zAN|aYCr!5 zX1M3|d>h6I7Eve_00000003?Pq5!r56aiuZ(gGX;dIH=7OasaUIs}RY+y#0CwgvD8 zG6rM@zy~@9dIzQl@CZr>xCrbCYzgKHCJJ5(vI_bO77IoTo(s$j3=CEc0u5FTkPX-l z0uFQzt`B|>v=9Ig6cA7ltPsEu)DY+p{1Ge>#1ZHb_7XG_ZW5FeC=*~4q!btwWE83t z{1p@xE)_f#mKDYo?iNB8P!?Vmz82UQ9v3_pf*1lAtQhJUI2q^~JQ{Kuq8i>C5*tPv zSQ~^J;2bg>L>zh?+#N_Ah#j^a>>dUlLLOiqpdRucG#_RkmLK>bDj|R&<|2S1vLfUo zEF+F1o+Gd$!Xwlp<|Ftd1|)PP93@mGkR|*lL?@sq1}Ii2lqk$82q_dPU@4+0^eTEP zzAFMNG%LI;6fB4=@GV#^oGsig5H4UYnl92W0xu#jb}!s8R51uKJOBWAoMT{QU|?9m zaGODl0R)(Um^Syg&EJ{&NjhOT7j`dA8Fec@+RtvUG3rvlxT3w68MBZTPd20># zv`q>1h-pB3)W^E((LT5_6=dj$8k!+9q$|ovP>D!G8nKcxVB^^5*-VlYq6&FC*v(vq zMyz(oAi|Vll`ix4pE``SL1c~`>CP6=WBAXJZK%R-NHPAItIu71gzgkAz&`rvxn4%V zCGwai$WL5f8tV|uIUR##Iz^WK_My{%c2;|mMqQ2S3Y+N|5$f=y~ z)^*$e)OFv^q4knF1)F0%9)h2{nXGy|fyax#cuKHWu213gpVmE{##3H{S-7di|KV2o zo2r-mDkvJKtDNo`czb6OmGw$=d4K5??F5y3VRq(wD_LXb*=A0`3rxqptvmO&ZgASb z%_4QqYS$}2+_dm-jnSKpU4yae(b5FdrF=iNKY|)02mku%I|7(A% zg&k-kKnGo{AVd#+3^2q9W9-B#c40U6;4mDHy*L6#;wT)AV{j~v!|^x)C*mZWj8kwb zPQ&Rq183qaoQ-pEE+U+V^Kk(##6`Fmm*7%dhRbmUuEbTi8rR@jT!-s%18&4kxEZ(L zR@{c$aR=_iUAP z_!ytyQ+$Tc@ddubSNIy=;9Go$@9_hE#83Dczu;H=hTriA{={GS8~@;6?C<0xjB9U- zs$a+~cTrpyabT#@1AmJq+Ds|!HE~tjd@Cx7Al7;s>cr`ZNN6>au33%@t<_}RpcG~r z@oHYj%xXsW-8LP>l&R*$+eBO-K3CJHD77Aq#A0I2_-j$|K=#Ab(t^_I_CbmwVLQ6 z?IbxR)1VZx==mEL$&d1^_7}0|U>O!PaqUVf27cl?nGsb!az+Z3F?@b= zkQfG?;bL|=+%Esf)bYF*8|Ez$*0q_tom(>D(!4HB6Qk*54o6B;V@I;Eo~VJXUqJg}v>{B&oojoj4A2}XjIx@*CUErqv{ zFTYnZ)z&eVy@qICO|PVksp7Q}udN%c7H326M{l~&l5%j%NE_vVSsvXzapwO9K zx_r?1E|yA|d6)_(Vqu9rU>LAP->hoQIEGZP%&oM2r6WZ%E{Zz*0qw>IBT!eX2dAFE zLl(S5`&$sy)o?5H2e*?($J-)cODz3gv9fy0;;q}Y7#Z`j!N(_i4_VosEg@@?2Lu(J ztkAJ{p~rB=i<>2}Qi)_LGFoAW%((H8aV{B;BJ{j83iOl&jdP`n^+xCnFC;>Rm5|DD z(3uph4fdF%344sZT(gm zluQsa`kk3@N#3=&q$1@(UZg!gX(KB)sViBJG6|iqjo!T88|`+jSL3{2tF4vs(u~Vr LwOaoHQYeW8y;gUU literal 0 HcmV?d00001 diff --git a/docs-old/assets/scss/_cyan_theme.scss b/docs-old/assets/scss/_cyan_theme.scss new file mode 100644 index 0000000..0e7c989 --- /dev/null +++ b/docs-old/assets/scss/_cyan_theme.scss @@ -0,0 +1,33 @@ +@import 'variables'; + +#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; + } +} \ No newline at end of file diff --git a/docs-old/assets/scss/_demo.scss b/docs-old/assets/scss/_demo.scss new file mode 100644 index 0000000..510504c --- /dev/null +++ b/docs-old/assets/scss/_demo.scss @@ -0,0 +1,120 @@ +@import 'variables'; + +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; + line-height: 1.3333333; + border-radius: 6px; + border: 2px solid #91ddec; + color: #147688; + + &.btn-lg { + border-width: 3px; + } + + &: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: 0.7em; + opacity: 0.4; + } +} + +.selected-tag .close { + font-family: "Helvetica Neue", "Helvetica"; + font-weight: 400; +} + +.accolades a { + margin-left: 0; + margin-right: 5px; +} + +.doc-row { + padding: 2em 0; +} + +#docs { + height: 100vh; + padding-top: 3em; + + article h2:first-child { + margin-top: 0; + } + + + + a { + color: $green; + + &:hover { + text-decoration: none; + border-bottom: 2px solid $green; + } + } +} diff --git a/docs-old/assets/scss/_octicons.scss b/docs-old/assets/scss/_octicons.scss new file mode 100644 index 0000000..8cc4f84 --- /dev/null +++ b/docs-old/assets/scss/_octicons.scss @@ -0,0 +1,227 @@ +@font-face { + font-family: 'octicons'; + src: url('~assets/fonts/octicons.eot?#iefix') format('embedded-opentype'), + url('~assets/fonts/octicons.woff') format('woff'), + url('~assets/fonts/octicons.ttf') format('truetype'), + url('~assets/fonts/octicons.svg#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'} /* ⚡ */ \ No newline at end of file diff --git a/docs-old/assets/scss/_prism.scss b/docs-old/assets/scss/_prism.scss new file mode 100644 index 0000000..63e3b20 --- /dev/null +++ b/docs-old/assets/scss/_prism.scss @@ -0,0 +1,155 @@ +/* + +Name: Base16 Atelier Sulphurpool Light +Author: Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/sulphurpool) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 1em; + line-height: 1.375; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + font-weight: 500; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: $code-white; + color: #5e6687; + border-radius: 0; + border: none; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #dfe2f1; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #dfe2f1; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #898ea4; +} + +.token.punctuation { + color: #5e6687; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #c76b29; +} + +.token.property { + color: #c08b30; +} + +.token.tag { + color: #3d8fd1; +} + +.token.string { + color: #22a2c9; +} + +.token.selector { + color: #6679cc; +} + +.token.attr-name { + color: #c76b29; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #22a2c9; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #ac9739; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #22a2c9; +} + +.token.placeholder, +.token.variable { + color: #3d8fd1; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #202746; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #c94922; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #c94922; + outline-offset: .4em; +} diff --git a/docs-old/assets/scss/_variables.scss b/docs-old/assets/scss/_variables.scss new file mode 100644 index 0000000..a04e13c --- /dev/null +++ b/docs-old/assets/scss/_variables.scss @@ -0,0 +1,15 @@ +$orange: #e96900; +$yellow: #FFC65D; +$green: #42b983; +$blue: #4CC3D9; +$purple: #93648D; +$black: #34495e; +$red: #ff6666; + +// Code +$code-blue: #66d9ef; +$code-purple: #ae81ff; +$code-black: #272822; +$code-white: #f8f8f8; +$code-grey: #708090; +$code-green: #a6e22e; diff --git a/docs-old/components/Code.vue b/docs-old/components/Code.vue new file mode 100644 index 0000000..c5e2732 --- /dev/null +++ b/docs-old/components/Code.vue @@ -0,0 +1,20 @@ + + + diff --git a/docs-old/components/Examples.vue b/docs-old/components/Examples.vue new file mode 100644 index 0000000..c3208d5 --- /dev/null +++ b/docs-old/components/Examples.vue @@ -0,0 +1,192 @@ + + + diff --git a/docs-old/components/GithubSearch.vue b/docs-old/components/GithubSearch.vue new file mode 100644 index 0000000..e2cc340 --- /dev/null +++ b/docs-old/components/GithubSearch.vue @@ -0,0 +1,122 @@ + + + + + diff --git a/docs-old/components/GithubSearchBasic.vue b/docs-old/components/GithubSearchBasic.vue new file mode 100644 index 0000000..ec67693 --- /dev/null +++ b/docs-old/components/GithubSearchBasic.vue @@ -0,0 +1,38 @@ + + + \ No newline at end of file diff --git a/docs-old/components/Params.vue b/docs-old/components/Params.vue new file mode 100644 index 0000000..60048f2 --- /dev/null +++ b/docs-old/components/Params.vue @@ -0,0 +1,130 @@ + + + diff --git a/docs-old/components/snippets/Ajax.vue b/docs-old/components/snippets/Ajax.vue new file mode 100644 index 0000000..bb8c66b --- /dev/null +++ b/docs-old/components/snippets/Ajax.vue @@ -0,0 +1,131 @@ + + + + + diff --git a/docs-old/components/snippets/AjaxExample.vue b/docs-old/components/snippets/AjaxExample.vue new file mode 100644 index 0000000..00318bd --- /dev/null +++ b/docs-old/components/snippets/AjaxExample.vue @@ -0,0 +1,31 @@ + + + \ No newline at end of file diff --git a/docs-old/components/snippets/AjaxProps.vue b/docs-old/components/snippets/AjaxProps.vue new file mode 100644 index 0000000..be20eff --- /dev/null +++ b/docs-old/components/snippets/AjaxProps.vue @@ -0,0 +1,28 @@ + + + \ No newline at end of file diff --git a/docs-old/components/snippets/InstallSnippet.vue b/docs-old/components/snippets/InstallSnippet.vue new file mode 100644 index 0000000..945dfd2 --- /dev/null +++ b/docs-old/components/snippets/InstallSnippet.vue @@ -0,0 +1,41 @@ + + diff --git a/docs-old/data/advanced.js b/docs-old/data/advanced.js new file mode 100644 index 0000000..9c17d19 --- /dev/null +++ b/docs-old/data/advanced.js @@ -0,0 +1,246 @@ +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/docs-old/data/simple.js b/docs-old/data/simple.js new file mode 100644 index 0000000..cdab338 --- /dev/null +++ b/docs-old/data/simple.js @@ -0,0 +1 @@ +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/docs-old/docs.html b/docs-old/docs.html new file mode 100644 index 0000000..bf4be88 --- /dev/null +++ b/docs-old/docs.html @@ -0,0 +1,92 @@ + + + + + Vue Select | VueJS Select2 Component + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +

Vue Select

+ +

+ Build Status + Code Coverage + No Dependencies + MIT License + Current Release +

+ +

A 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
  • +
+
+
+
    +
  • +95% Test Coverage
  • +
  • Select Single/Multiple
  • +
  • Typeahead Suggestions
  • +
  • Bootstrap Friendly Markup
  • +
+
+
+ + View on GitHub +
+
+ + Install, Examples & Documentation + + +
+ +
+ + + diff --git a/docs-old/docs.js b/docs-old/docs.js new file mode 100644 index 0000000..8481633 --- /dev/null +++ b/docs-old/docs.js @@ -0,0 +1,36 @@ +import 'prismjs' +import Vue from 'vue' +import Docs from './Docs.vue' +import store from './vuex/store' +import Resource from 'vue-resource' +import vSelect from '../src/components/Select.vue' +import vCode from './components/Code.vue' +import countries from './data/advanced' + +Vue.use(Resource) + +Vue.component('v-select', vSelect) +Vue.component('v-code', vCode) + +Vue.filter('score', function (value) { + return Math.round(value) +}) + +Vue.config.debug = true +Vue.config.devtools = true + +import { setSelected, toggleMultiple, setPlaceholder, toggleOptionType } from './vuex/actions' + + +/* eslint-disable no-new */ +new Vue({ + el: '#app', + store, + components: { Docs }, + data () { + return { + options: countries, + placeholder: 'Choose a country..', + } + } +}) diff --git a/docs/Ajax.md b/docs/Ajax.md new file mode 100644 index 0000000..0cef7f5 --- /dev/null +++ b/docs/Ajax.md @@ -0,0 +1,31 @@ +## AJAX Remote Option Loading + + +The `onSearch` prop allows you to load options via ajax in a parent component when the search text is updated. It is invoked with two parameters, `search` & `loading`. + +#### onSearch Callback Parameters search, loading + +`search` is a string containing the current search text. `loading` is a function that accepts a boolean value, and is used to toggle the 'loading' class on the top-level vue-select wrapper. + +#### Loading Spinner + +Vue Select includes a default loading spinner that appears when the loading class is present. The `spinner` slot allows you to implement your own spinner. + +
+ +
Loading...
+ +#### Debounce Input + +Vue Select also accepts a `debounce` prop that can be used to prevent `onSearch` from being called until input has completed. + +#### Library Agnostic + +Since Vue.js does not ship with ajax functionality as part of the core library, it's up to you to process the ajax requests in your parent component. + + +#### Example GitHub API + +In this example, [Vue Resource](https://github.com/vuejs/vue-resource) is used to access the [GitHub API](https://developer.github.com/v3/). + +
diff --git a/docs/AjaxExample.md b/docs/AjaxExample.md new file mode 100644 index 0000000..27ceaab --- /dev/null +++ b/docs/AjaxExample.md @@ -0,0 +1,28 @@ +```html + + +``` +```js +data() { + return { + options: null + } +}, +methods: { + getOptions(search, loading) { + loading(true) + this.$http.get('https://api.github.com/search/repositories', { + q: search + }).then(resp => { + this.options = resp.data.items + loading(false) + }) + } +} +``` diff --git a/docs/AjaxProps.md b/docs/AjaxProps.md new file mode 100644 index 0000000..7e1aa61 --- /dev/null +++ b/docs/AjaxProps.md @@ -0,0 +1,24 @@ +```js +/** +* Accept a callback function that will be run +* when the search text changes. The callback +* will be invoked with these parameters: + +* @param {search} String Current search text +* @param {loading} Function(bool) Toggle loading class +*/ +onSearch: { + type: Function, + default: false +}, + +/** +* Milliseconds to wait before invoking this.onSearch(). +* Used to prevent sending an AJAX request until input +* has completed. +*/ +debounce: { + type: Number, + default: 0 +} +``` diff --git a/docs/CustomLabels.md b/docs/CustomLabels.md new file mode 100644 index 0000000..709a53c --- /dev/null +++ b/docs/CustomLabels.md @@ -0,0 +1,9 @@ +### Custom Labels + +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. + +`` + + diff --git a/docs/Examples.md b/docs/Examples.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/Install.md b/docs/Install.md new file mode 100644 index 0000000..4d870f8 --- /dev/null +++ b/docs/Install.md @@ -0,0 +1,45 @@ +## NPM Based WorkFlows +``` bash +$ npm install vue-select +``` + +```html + + + +``` + +## Browser Globals + +`v1.3.0+` no longer requires any toolchain to use the component: + +Just include `vue` & `vue-select.js` - I recommend using [unpkg.com](https://unpkg.com/#/). + +```html + + + + +``` +Then register the component in your javascript: + +```js +Vue.component('v-select', VueSelect.VueSelect); +``` + +From there you can use as normal. Here's an [example on JSBin](http://jsbin.com/saxaru/5/edit?html,js,output). diff --git a/docs/OnChange.md b/docs/OnChange.md new file mode 100644 index 0000000..4b3ad49 --- /dev/null +++ b/docs/OnChange.md @@ -0,0 +1,26 @@ +### Change Event Vuex Compatibility + +vue-select provides a `change` event. 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. + +
+
+
+
+ +```html + +``` + +```js +methods: { + consoleCallback(val) { + console.dir(JSON.stringify(val)) + }, + + alertCallback(val) { + alert(JSON.stringify(val)) + } +} +``` diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 0000000..3d07efe --- /dev/null +++ b/docs/README.md @@ -0,0 +1,2 @@ +# Introduction + diff --git a/docs/ReactiveOptions.md b/docs/ReactiveOptions.md new file mode 100644 index 0000000..0f13ab0 --- /dev/null +++ b/docs/ReactiveOptions.md @@ -0,0 +1,19 @@ +### Reactive Options + +When the list of options provided by the parent changes, vue-select will react as you'd expect. + +
+ +
+ +
+ +
+ + diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md new file mode 100644 index 0000000..263112f --- /dev/null +++ b/docs/SUMMARY.md @@ -0,0 +1,4 @@ +# Summary + +* [Introduction](README.md) + diff --git a/docs/SingleMultiple.md b/docs/SingleMultiple.md new file mode 100644 index 0000000..4257901 --- /dev/null +++ b/docs/SingleMultiple.md @@ -0,0 +1,29 @@ +
+ +### Single/Multiple Selection + +
+ +
+ +#### Single Option Select + +```html + +``` + +
+ +
+ +#### Multiple Option Select + +```html + +``` + +
+ +
+ +
diff --git a/docs/VModel.md b/docs/VModel.md new file mode 100644 index 0000000..e0af80a --- /dev/null +++ b/docs/VModel.md @@ -0,0 +1,15 @@ +### Two-Way Value Syncing + +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 }} + +
+`` +
+
+ +
+ +
+ + +