2
0
mirror of https://github.com/tenrok/vue-select.git synced 2026-05-17 02:29:37 +03:00

docs(api): pull doc generator into it's own repo/package

This commit is contained in:
Jeff
2019-11-29 09:32:27 -08:00
parent 5eb753d442
commit 3a17e63df8
23 changed files with 95 additions and 1190 deletions
+16 -6
View File
@@ -1,3 +1,5 @@
const path = require('path');
const isDeployPreview = process.env.hasOwnProperty('DEPLOY_PREVIEW');
const meta = {
@@ -6,6 +8,17 @@ const meta = {
url: 'https://vue-select.org',
};
const pluginConfig = {
analytics: {ga: isDeployPreview ? '' : 'UA-12818324-8'},
pwa: {
serviceWorker: false,
updatePopup: true,
},
vuesource: {
src: path.resolve(__dirname, '../../src/components/Select.vue')
},
};
let head = [
[
'link',
@@ -64,12 +77,9 @@ module.exports = {
description: meta.description,
head,
plugins: [
require('generateApiDocs'),
['@vuepress/google-analytics',{ga: isDeployPreview ? '' : 'UA-12818324-8',}],
['@vuepress/pwa', {
serviceWorker: false,
updatePopup: true,
}],
[require('@vuesource/vuepress'), pluginConfig.vuesource],
['@vuepress/google-analytics', pluginConfig.analytics],
['@vuepress/pwa', pluginConfig.pwa],
'@vuepress/plugin-register-components',
'@vuepress/plugin-active-header-links',
'@vuepress/plugin-search',
@@ -1,50 +0,0 @@
h2 {
margin-top: -3.1rem;
padding-top: 4.6rem;
display: flex;
align-items: center;
}
h2 small {
margin-left: .5rem;
}
h2 .header-anchor {
margin-top: 0;
float: none;
padding-right: 0;
margin-right: .25em;
}
h2 div {
display: flex;
align-items: center;
}
h2 > a {
display: flex;
}
h2 code {
display: inline-flex;
font-size: 1rem;
line-height: 1;
border-radius: 3px;
padding: .25rem;
margin-right: 1rem;
margin-left: .5rem;
}
ul {
list-style: none;
padding: 0;
margin: 0;
}
.search-box {
width: 100%;
}
.search-box [type=search] {
width: 100%;
}
@@ -1,23 +0,0 @@
const generator = require('./node/generator');
const {green} = require('chalk');
/**
* Dynamically generates all API documentation with vue-docgen-api.
* The resulting object can be imported and used client-side via:
*
* import documentation from '@dynamic/api'
*
* @return {Promise<{name: string, content: string}>}
*/
async function clientDynamicModules (sourceDir) {
const docs = await generator(sourceDir);
console.log(green('✅ Generated API documentation for Select.vue'));
return {
name: 'api.js',
content: `export default ${JSON.stringify(docs)}`,
};
}
module.exports = clientDynamicModules;
@@ -1,89 +0,0 @@
<template>
<div>
<h1>Vue Select Events</h1>
<div class="search-box">
<input id="props-search" type="search" v-model="query" placeholder="Search for events...">
</div>
<ul>
<li v-for="event in filtered">
<h2 :id="event.name">
<a :href="`#${event.name}`" aria-hidden="true" class="header-anchor">#</a>
{{ event.name }}
<template v-if="event.since && event.since.hasOwnProperty('version')">
<a :href="event.since.link">
<Badge :text="`+${event.since.version}`" />
</a>
</template>
</h2>
<div v-html="markdown(event.description)"></div>
<ul v-if="event.see">
<li v-for="see in event.see"><a :href="see">{{ see }}</a></li>
</ul>
<pre><code v-html="event.rendered"></code></pre>
<Content :slot-key="event.name"></Content>
</li>
</ul>
</div>
</template>
<script>
import documentation from '@dynamic/api'
import formatTag from '../utils/formatTag';
import getSince from '../utils/getSince';
import getSee from '../utils/getSee';
import markdown from '../utils/markdown';
import highlight from '../utils/highlight';
export default {
name: "ApiEvents",
data () {
return {
query: ''
}
},
methods: {
highlight,
markdown,
getRenderedEvent (event) {
let rendered = '';
event.tags = event.tags || [];
event.properties = event.properties || [];
if (event.tags.length) {
rendered += '/* \n';
event.tags.forEach(tag => rendered += ` * ${formatTag(tag)} \n`);
rendered += ' */ \n';
}
rendered += `$emit('${event.name}'`;
if (event.properties.length) {
rendered += ', ';
rendered += event.properties.map(({name}) => name).join(', ');
}
rendered += ');';
return this.highlight(rendered);
},
},
computed: {
filtered () {
return this.events.filter(
event => this.query.length ? event.name.includes(this.query) : true);
},
events () {
return documentation.events.map(event => ({
...event,
rendered: this.getRenderedEvent(event),
since: getSince(event.tags || []),
see: getSee(event.tags || []),
})).sort((a, b) => a.name > b.name);
},
},
}
</script>
<style scoped src="../assets/listing.css"></style>
@@ -1,125 +0,0 @@
<template>
<div>
<h1>Vue Select Props</h1>
<div class="search-box">
<input id="props-search" type="search" v-model="query" placeholder="Search for props...">
</div>
<ul>
<li v-for="prop in filtered">
<h2 :id="prop.name">
<div>
<a :href="`#${prop.name}`" aria-hidden="true" class="header-anchor">#</a>
{{ prop.name }} <code>{{ prop.type }}</code>
</div>
<template v-if="prop.since.hasOwnProperty('version')">
<a :href="prop.since.link">
<Badge :text="`+${prop.since.version}`" vertical="middle" />
</a>
</template>
</h2>
<div v-html="markdown(prop.description)"></div>
<ul v-if="prop.see">
<li v-for="see in prop.see"><a :href="see">{{ see }}</a></li>
</ul>
<pre><code v-html="prop.defaultRendered"></code></pre>
<Content :slot-key="prop.name"></Content>
</li>
</ul>
</div>
</template>
<script>
import documentation from '@dynamic/api'
import getSee from '../utils/getSee';
import getSince from '../utils/getSince';
import markdown from '../utils/markdown';
import formatTag from '../utils/formatTag';
import highlight from '../utils/highlight';
export default {
name: "ApiProps",
methods: {
markdown,
highlight,
formatTag,
getSince,
getSee,
getParams (tags) {
const params = [];
if (tags.hasOwnProperty('params')) {
tags.params.forEach((tag) => params.push(this.formatTag(tag)));
}
return params;
},
getType (prop) {
if (prop.hasOwnProperty('type')) {
let type = prop.type.name;
if (type === 'func') {
type = 'function';
}
return type.charAt(0).toUpperCase() + type.slice(1)
}
return 'mixed';
},
getDefaultVal (prop, params) {
let declaration = '';
let returnDeclaration = '';
if (prop.tags.hasOwnProperty('return')) {
console.log(prop.tags);
returnDeclaration = prop.tags.return[0];
}
if (params.length || returnDeclaration.length) {
declaration += '/*\n';
params.forEach(param => declaration += ' * ' + param + '\n');
declaration += ` * @return ${returnDeclaration}\n`;
declaration += ' */ \n';
}
if (prop.hasOwnProperty('defaultValue')) {
declaration += 'default: ' + prop.defaultValue.value;
}
return this.highlight(declaration);
}
},
data () {
return {
query: ''
}
},
computed: {
filtered () {
return this.props.filter(prop => this.query.length ? prop.name.includes(this.query) : true);
},
props () {
return documentation.props.map(prop => {
const since = this.getSince(prop.tags);
const see = this.getSee(prop.tags);
const params = this.getParams(prop.tags);
const type = this.getType(prop);
const defaultRendered = this.getDefaultVal(prop, params);
return {
...prop,
since,
see,
params,
type,
defaultRendered,
}
}).sort((a, b) => a.name > b.name);
},
},
}
</script>
<style scoped src="../assets/listing.css"></style>
@@ -1,47 +0,0 @@
<template>
<div>
<ul>
<li v-for="slot in slots">
<h2 :id="slot.name">
<a :href="`#${slot.name}`" aria-hidden="true" class="header-anchor">#</a>
{{ slot.name }}
</h2>
<ul v-if="slot.bindings">
<li>
<h4>Bindings</h4>
</li>
<li v-for="(key, value) in slot.bindings">
<code>{{value}}: {{key}}</code>
</li>
</ul>
<pre><code v-html="slot.rendered"></code></pre>
<Content :slot-key="slot.name"></Content>
</li>
</ul>
</div>
</template>
<script>
import docs from "@dynamic/api";
import markdown from "../utils/markdown";
import highlight from "../utils/highlight";
export default {
name: "ApiSlots",
methods: {
markdown
},
computed: {
slots() {
return docs.slots
.map(slot => ({
...slot,
rendered: highlight(slot.content, "html"),
}))
.sort((a, b) => a.name > b.name);
}
}
};
</script>
<style scoped src="../assets/listing.css"></style>
@@ -1,10 +0,0 @@
// import docs from '@dynamic/api.js';
import ApiProps from './components/ApiProps';
import ApiEvents from './components/ApiEvents';
import ApiSlots from './components/ApiSlots';
export default ({Vue, options, router, siteData}) => {
Vue.component('api-props', ApiProps);
Vue.component('api-slots', ApiSlots);
Vue.component('api-events', ApiEvents);
}
@@ -1,39 +0,0 @@
const generator = require('./node/generator');
module.exports = async function (page) {
const section = ['props', 'events', 'slots', 'methods'].find(
section => page.frontmatter['api'] === section,
);
if (section) {
const docs = await generator(process.cwd());
if (typeof docs[section] === 'undefined') {
return;
}
if (typeof page.title === 'undefined') {
page.title = section.charAt(0).toUpperCase() + section.slice(1);
}
if (!page.hasOwnProperty('headers')) {
page.headers = [];
}
const headers = docs[section].map(({name}) => ({
level: 2,
slug: name,
title: name,
})).sort((a, b) => {
if (a.title < b.title) {
return -1;
}
if (a.title > b.title) {
return 1;
}
return 0;
});
page.headers.push(...headers);
}
};
-34
View File
@@ -1,34 +0,0 @@
const path = require('path');
const extendPageData = require('./extendPageData');
const clientDynamicModules = require('./clientDynamicModules');
/**
* @param options
* @param sourceDir
* @return {{clientDynamicModules(): Promise<{name: string, content: string}>}}
*/
module.exports = (options, {sourceDir}) => ({
name: 'vuepress-docgen',
/**
* Generates API documentation for use on the client side.
*
* @see https://vuepress.vuejs.org/plugin/option-api.html#clientdynamicmodules
* @return {Promise<{name: string, content: string}>}
*/
clientDynamicModules: async () => await clientDynamicModules(sourceDir),
/**
* @see https://vuepress.vuejs.org/plugin/option-api.html#enhanceappfiles
*/
enhanceAppFiles: path.resolve(__dirname, 'enhanceApp.js'),
/**
* This function is responsible for adding documentation headers
* to the `headers Array` of each API page. These headers are
* then picked up by the search API, and displayed in the sidebar.
*
* @see https://vuepress.vuejs.org/plugin/option-api.html#extendpagedata
*/
extendPageData,
});
@@ -1,29 +0,0 @@
module.exports = class Slots {
constructor (slots = {}) {
this.slots = slots;
}
add (name, slot) {
this.slots[name] = slot;
return this;
}
get definitions () {
return this.slots;
}
/**
* @return {*[]}
*/
get bindings () {
const normalizeBindings = bindings => {
return Object.values(bindings)
.map(binding => binding.replace(/ *\([^)]*\) */g, ''));
};
return Object
.values(this.slots)
.map(({bindings}) => normalizeBindings(bindings))
.reduce((store, bindings) => [...store, ...bindings], []);
}
};
@@ -1,10 +0,0 @@
const getSlotDefinitions = require('./getAdditionalSlotProperties');
const generator = require('./generator');
(async () => {
const component = await generator('/Users/sagalbot/Sites/vue-select/docs');
debugger;
})();
@@ -1,50 +0,0 @@
const path = require('path');
const bt = require('@babel/types');
const docs = require('vue-docgen-api');
const {NodePath} = require('ast-types');
const {Documentation, ParseOptions, ComponentDoc} = require('vue-docgen-api');
const additionalSlotProperties = require('./getAdditionalSlotProperties');
/**
* Generate an object of API documentation.
* @param documentationRootDir
* @return {Promise<ComponentDoc>}
*/
module.exports = async (documentationRootDir) => {
const file = path.resolve(
documentationRootDir,
'../src/components/Select.vue',
);
const documentation = await docs.parse(file, {
jsx: false,
addScriptHandlers: [
/**
* @param {Documentation} docs
* @param {NodePath} path
* @param {bt.File} astPath
* @param {ParseOptions} options
* @return {Promise<void>}
*/
function (docs, path, astPath, options) {
},
],
addTemplateHandlers: [
/**
* @param {Documentation} docs
* @param {ASTElement} templateAst
* @param {TemplateParserOptions} options
*/
function (docs, templateAst, options) {
},
],
});
const definitions = additionalSlotProperties(file);
documentation.slots = documentation.slots.map(slot => ({ ...slot, ...definitions[slot.name] }));
return documentation;
};
@@ -1,82 +0,0 @@
const fs = require('fs');
const path = require('path');
const cheerio = require('cheerio');
const pick = require('lodash/pick');
const prettier = require('prettier');
const compiler = require('vue-template-compiler');
const Slots = require('./Slots');
const t = require('@babel/types');
const {parse} = require('@babel/parser');
const traverse = require('@babel/traverse');
function pickBindingsFromElement ({attribs}) {
return pick(
attribs,
Object.keys(attribs)
.filter(attr => attr.indexOf(':') === 0 || attr === 'v-bind'),
);
}
function parseDocBlock(comment) {
}
function findDocBlockForExpression(path, comments) {
const methodLocationStart = path.node.loc.start;
return comments.find(({loc}) => {
return methodLocationStart.line - 1 === loc.end.line;
}).value || '';
}
/**
* @param {Slots} slots
* @param content
*/
function getSlotBindingComments (slots, {content}) {
const ast = parse(content, {sourceType: 'module'});
/**
* TODO:
* - [ ] this traversal currently includes watchers, need to limit to
* props, methods, computed, maybe data too?
* - [ ] attach the comments to the bindings
*/
traverse.default(ast, {
enter (path) {
if (path.node.key && slots.bindings.includes(path.node.key.name)) {
const comments = findDocBlockForExpression(path, ast.comments);
}
},
});
}
/**
* @param pathToComponent
* @return {Object}
*/
function getAdditionalSlotProperties (pathToComponent) {
const slots = new Slots();
const file = fs.readFileSync(path.resolve(pathToComponent)).toString();
const {template, script} = compiler.parseComponent(file);
const $ = cheerio.load(template.content);
$('slot').each(function (index, element) {
const bindings = pickBindingsFromElement(element) || {};
const slotName = element.attribs.name || 'default';
const content = prettier.format($.html(element), {parser: 'html'});
slots.add(slotName, {
content,
bindings,
});
});
getSlotBindingComments(slots, script);
return slots.definitions;
}
module.exports = getAdditionalSlotProperties;
@@ -1,12 +0,0 @@
/**
* Get all of the component mixin paths.
* @param directory
* @return {string[]}
*/
function getMixins (directory) {
return fs.readdirSync(directory)
.filter(file => file !== 'index.js')
.map(file => path.resolve(directory, file));
}
module.exports = getMixins;
@@ -1,19 +0,0 @@
{
"name": "generateapidocs",
"version": "0.1.0",
"description": "Generates API documentation for Vue components.",
"main": "index.js",
"module": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [
"Vue",
"DocGen",
"JSDoc",
"Component",
"Documentation"
],
"author": "Jeff Sagal",
"license": "MIT"
}
@@ -1,24 +0,0 @@
/**
* @param tag
* @return {String}
*/
export default function (tag) {
let rendered = `@${tag.title}`;
if (tag.hasOwnProperty('type')) {
if (tag.type.name === 'union') {
rendered += ` {${tag.type.elements.map(({name}) => name).join('|')}}`;
} else {
rendered += ' {' + tag.type.name + '}';
}
}
if (tag.hasOwnProperty('name')) {
rendered += ` ${tag.name}`;
}
if (tag.hasOwnProperty('description')) {
rendered += ` ${tag.description}`;
}
return rendered;
};
@@ -1,11 +0,0 @@
/**
* @param {Array} tags
* @return {[]}
*/
export default function (tags) {
const since = [];
if (tags.hasOwnProperty('see')) {
tags.see.forEach(({description}) => since.push(description));
}
return since;
};
@@ -1,13 +0,0 @@
/**
* @param {Array} tags
* @return {Object|false}
*/
export default function (tags) {
if (tags.hasOwnProperty('since')) {
const since = {};
since.version = tags.since[0].description;
since.link = `https://github.com/sagalbot/vue-select/releases/tag/v${tags.since[0].description}`;
return since;
}
return false;
}
@@ -1,11 +0,0 @@
import { highlight, languages } from 'prismjs';
/**
* Returns code block with prism markup.
* @param {String} snippet
* @param {String} language
* @return {*}
*/
export default (snippet, language = 'javascript') => {
return highlight(snippet, languages[language], language);
}
@@ -1,8 +0,0 @@
import Markdown from 'markdown-it';
const md = new Markdown();
/**
* @param {String} text
* @return {*}
*/
export default text => md.render(text);
+2 -11
View File
@@ -5,33 +5,24 @@
"scripts": {
"serve": "vuepress dev",
"build": "vuepress build",
"build:preview": "cross-env DEPLOY_PREVIEW=true vuepress build",
"debug": "node --inspect-brk ./node_modules/.bin/vuepress dev"
"build:preview": "cross-env DEPLOY_PREVIEW=true vuepress build"
},
"devDependencies": {
"@babel/types": "^7.7.2",
"@vuepress/plugin-active-header-links": "^1.2.0",
"@vuepress/plugin-google-analytics": "^1.2.0",
"@vuepress/plugin-nprogress": "^1.2.0",
"@vuepress/plugin-pwa": "^1.2.0",
"@vuepress/plugin-register-components": "^1.2.0",
"@vuepress/plugin-search": "^1.2.0",
"ast-types": "^0.13.2",
"chalk": "^3.0.0",
"cheerio": "^1.0.0-rc.3",
"@vuesource/vuepress": "^0.1.0",
"cross-env": "^5.2.0",
"fuse.js": "^3.4.4",
"generateapidocs": "/Users/sagalbot/Sites/vue-select/docs/.vuepress/generateApiDocs",
"gh-pages": "^0.11.0",
"lodash": "^4.17.15",
"markdown-it": "^10.0.0",
"node-sass": "^4.12.0",
"prettier": "^1.19.1",
"prismjs": "^1.17.1",
"sass-loader": "^7.1.0",
"vue": "^2.6.10",
"vue-docgen-api": "^4.0.4",
"vue-template-compiler": "^2.6.10",
"vuepress": "^1.2.0",
"vuex": "^3.1.0"
}
+21 -455
View File
@@ -225,11 +225,6 @@
esutils "^2.0.2"
js-tokens "^4.0.0"
"@babel/parser@^7.2.3":
version "7.7.3"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.7.3.tgz#5fad457c2529de476a248f75b0f090b3060af043"
integrity sha512-bqv+iCo9i+uLVbI0ILzKkvMorqxouI+GbV13ivcARXn9NNEabi2IEz912IgNpT/60BNXac5dgcfjb94NjsF33A==
"@babel/parser@^7.4.4", "@babel/parser@^7.5.5":
version "7.5.5"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.5.5.tgz#02f077ac8817d3df4a832ef59de67565e71cca4b"
@@ -675,15 +670,6 @@
lodash "^4.17.13"
to-fast-properties "^2.0.0"
"@babel/types@^7.7.2":
version "7.7.2"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.7.2.tgz#550b82e5571dcd174af576e23f0adba7ffc683f7"
integrity sha512-YTf6PXoh3+eZgRCBzzP25Bugd2ngmpQVrk7kXX0i5N9BO7TFBtIgZYs7WtxtOGs8e6A4ZI7ECkbBCEHeXocvOA==
dependencies:
esutils "^2.0.2"
lodash "^4.17.13"
to-fast-properties "^2.0.0"
"@hapi/address@2.x.x":
version "2.1.0"
resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.1.0.tgz#d86223d40c73942cc6151838d9f264997e6673f9"
@@ -729,23 +715,6 @@
resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b"
integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==
"@types/babel-types@*", "@types/babel-types@^7.0.0":
version "7.0.7"
resolved "https://registry.yarnpkg.com/@types/babel-types/-/babel-types-7.0.7.tgz#667eb1640e8039436028055737d2b9986ee336e3"
integrity sha512-dBtBbrc+qTHy1WdfHYjBwRln4+LWqASWakLHsWHR2NWHIFkv4W3O070IGoGLEBrJBvct3r0L1BUPuvURi7kYUQ==
"@types/babylon@^6.16.2":
version "6.16.5"
resolved "https://registry.yarnpkg.com/@types/babylon/-/babylon-6.16.5.tgz#1c5641db69eb8cdf378edd25b4be7754beeb48b4"
integrity sha512-xH2e58elpj1X4ynnKp9qSnWlsRTIs6n3tgLGNfwAGHwePw0mulHQllV34n0T25uYSu1k0hRKkWXF890B1yS47w==
dependencies:
"@types/babel-types" "*"
"@types/color-name@^1.1.1":
version "1.1.1"
resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0"
integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==
"@types/events@*":
version "3.0.0"
resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7"
@@ -1015,6 +984,11 @@
vuepress-plugin-container "^2.0.2"
vuepress-plugin-smooth-scroll "^0.0.3"
"@vuesource/vuepress@^0.1.0":
version "0.1.0"
resolved "https://registry.yarnpkg.com/@vuesource/vuepress/-/vuepress-0.1.0.tgz#fcfe4609b96138c8d1b44e2dd7ab7d2395a5ac60"
integrity sha512-xNAIKiqFhdXUCmKBt9uykqWXDDPc4WotUWDigl3oNjHwBIxpwbHyVV7ctF158tOZM33VmcyFA06RnQz2VxO84w==
"@webassemblyjs/ast@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.8.5.tgz#51b1c5fe6576a34953bf4b253df9f0d490d9e359"
@@ -1184,23 +1158,6 @@ accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7:
mime-types "~2.1.24"
negotiator "0.6.2"
acorn-globals@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-3.1.0.tgz#fd8270f71fbb4996b004fa880ee5d46573a731bf"
integrity sha1-/YJw9x+7SZawBPqIDuXUZXOnMb8=
dependencies:
acorn "^4.0.4"
acorn@^3.1.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a"
integrity sha1-ReN/s56No/JbruP/U2niu18iAXo=
acorn@^4.0.4, acorn@~4.0.2:
version "4.0.13"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787"
integrity sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=
acorn@^6.2.1:
version "6.3.0"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.3.0.tgz#0087509119ffa4fc0a0041d1e93a417e68cb856e"
@@ -1252,15 +1209,6 @@ algoliasearch@^3.24.5:
semver "^5.1.0"
tunnel-agent "^0.6.0"
align-text@^0.1.1, align-text@^0.1.3:
version "0.1.4"
resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117"
integrity sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=
dependencies:
kind-of "^3.0.2"
longest "^1.0.1"
repeat-string "^1.5.2"
alphanum-sort@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3"
@@ -1315,14 +1263,6 @@ ansi-styles@^3.2.0, ansi-styles@^3.2.1:
dependencies:
color-convert "^1.9.0"
ansi-styles@^4.1.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.0.tgz#5681f0dcf7ae5880a7841d8831c4724ed9cc0172"
integrity sha512-7kFQgnEaMdRtwf6uSfUnVr9gSGC7faurn+J/Mv90/W+iTtN0405/nLdopfMWwchyxhbGYl6TC4Sccn9TUkGAgg==
dependencies:
"@types/color-name" "^1.1.1"
color-convert "^2.0.1"
anymatch@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb"
@@ -1403,11 +1343,6 @@ arrify@^1.0.0:
resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=
asap@~2.0.3:
version "2.0.6"
resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46"
integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=
asn1.js@^4.0.0:
version "4.10.1"
resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0"
@@ -1442,16 +1377,6 @@ assign-symbols@^1.0.0:
resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"
integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=
ast-types@0.12.4, ast-types@^0.12.2:
version "0.12.4"
resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.12.4.tgz#71ce6383800f24efc9a1a3308f3a6e420a0974d1"
integrity sha512-ky/YVYCbtVAS8TdMIaTiPFHwEpRB5z1hctepJplTr3UW5q8TDrpIMCILyk8pmLxGtn2KCtC/lSn7zOsaI7nzDw==
ast-types@^0.13.2:
version "0.13.2"
resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.13.2.tgz#df39b677a911a83f3a049644fb74fdded23cea48"
integrity sha512-uWMHxJxtfj/1oZClOxDEV1sQ1HCDkA4MG8Gr69KKeBjEVH0R84WlejZ0y2DcwyBlpAEMltmVYkVgqfLFb2oyiA==
async-each@^1.0.1:
version "1.0.3"
resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf"
@@ -1568,16 +1493,6 @@ babel-runtime@^6.26.0:
core-js "^2.4.0"
regenerator-runtime "^0.11.0"
babel-types@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497"
integrity sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=
dependencies:
babel-runtime "^6.26.0"
esutils "^2.0.2"
lodash "^4.17.4"
to-fast-properties "^1.0.3"
babylon@^6.18.0:
version "6.18.0"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3"
@@ -1937,11 +1852,6 @@ camelcase-keys@^2.0.0:
camelcase "^2.0.0"
map-obj "^1.0.0"
camelcase@^1.0.2:
version "1.2.1"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39"
integrity sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=
camelcase@^2.0.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f"
@@ -1977,14 +1887,6 @@ caseless@~0.12.0:
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=
center-align@^0.1.1:
version "0.1.3"
resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad"
integrity sha1-qg0yYptu6XIgBBHL1EYckHvCt60=
dependencies:
align-text "^0.1.3"
lazy-cache "^1.0.3"
chalk@^1.1.1, chalk@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
@@ -2005,33 +1907,6 @@ chalk@^2.0.0, chalk@^2.3.2, chalk@^2.4.1, chalk@^2.4.2:
escape-string-regexp "^1.0.5"
supports-color "^5.3.0"
chalk@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4"
integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==
dependencies:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
character-parser@^2.1.1:
version "2.2.0"
resolved "https://registry.yarnpkg.com/character-parser/-/character-parser-2.2.0.tgz#c7ce28f36d4bcd9744e5ffc2c5fcde1c73261fc0"
integrity sha1-x84o821LzZdE5f/CxfzeHHMmH8A=
dependencies:
is-regex "^1.0.3"
cheerio@^1.0.0-rc.3:
version "1.0.0-rc.3"
resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.3.tgz#094636d425b2e9c0f4eb91a46c05630c9a1a8bf6"
integrity sha512-0td5ijfUPuubwLUu0OBoe98gZj8C/AA+RW3v67GPlGOrvxWjZmBXiBCRU+I8VEiNyJzjth40POfHiz2RB3gImA==
dependencies:
css-select "~1.2.0"
dom-serializer "~0.1.1"
entities "~1.1.1"
htmlparser2 "^3.9.1"
lodash "^4.15.0"
parse5 "^3.0.1"
chokidar@^2.0.2, chokidar@^2.0.3, chokidar@^2.1.6:
version "2.1.8"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917"
@@ -2086,7 +1961,7 @@ class-utils@^0.3.5:
isobject "^3.0.0"
static-extend "^0.1.1"
clean-css@4.2.x, clean-css@^4.1.11:
clean-css@4.2.x:
version "4.2.1"
resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.1.tgz#2d411ef76b8569b6d0c84068dabe85b0aa5e5c17"
integrity sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==
@@ -2102,15 +1977,6 @@ clipboard@^2.0.0:
select "^1.1.2"
tiny-emitter "^2.0.0"
cliui@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1"
integrity sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=
dependencies:
center-align "^0.1.1"
right-align "^0.1.1"
wordwrap "0.0.2"
cliui@^3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d"
@@ -2174,19 +2040,12 @@ color-convert@^1.9.0, color-convert@^1.9.1:
dependencies:
color-name "1.1.3"
color-convert@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
dependencies:
color-name "~1.1.4"
color-name@1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
color-name@^1.0.0, color-name@~1.1.4:
color-name@^1.0.0:
version "1.1.4"
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
@@ -2315,16 +2174,6 @@ consolidate@^0.15.1:
dependencies:
bluebird "^3.1.1"
constantinople@^3.0.1, constantinople@^3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/constantinople/-/constantinople-3.1.2.tgz#d45ed724f57d3d10500017a7d3a889c1381ae647"
integrity sha512-yePcBqEFhLOqSBtwYOGGS1exHo/s1xjekXiinh4itpNQGCu4KA1euPh1fg07N2wMITZXQkBz75Ntdt1ctGZouw==
dependencies:
"@types/babel-types" "^7.0.0"
"@types/babylon" "^6.16.2"
babel-types "^6.26.0"
babylon "^6.18.0"
constants-browserify@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
@@ -2530,7 +2379,7 @@ css-select-base-adapter@^0.1.1:
resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7"
integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==
css-select@^1.1.0, css-select@~1.2.0:
css-select@^1.1.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858"
integrity sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=
@@ -2728,7 +2577,7 @@ debug@~3.1.0:
dependencies:
ms "2.0.0"
decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2, decamelize@^1.2.0:
decamelize@^1.1.1, decamelize@^1.1.2, decamelize@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
@@ -2907,11 +2756,6 @@ docsearch.js@^2.5.2:
to-factory "^1.0.0"
zepto "^1.2.0"
doctypes@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/doctypes/-/doctypes-1.1.0.tgz#ea80b106a87538774e8a3a4a5afe293de489e0a9"
integrity sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk=
dom-converter@^0.2:
version "0.2.0"
resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768"
@@ -2927,14 +2771,6 @@ dom-serializer@0:
domelementtype "^2.0.1"
entities "^2.0.0"
dom-serializer@~0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.1.tgz#1ec4059e284babed36eec2941d4a970a189ce7c0"
integrity sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==
dependencies:
domelementtype "^1.3.0"
entities "^1.1.1"
dom-walk@^0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.1.tgz#672226dc74c8f799ad35307df936aba11acd6018"
@@ -2945,7 +2781,7 @@ domain-browser@^1.1.1:
resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda"
integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==
domelementtype@1, domelementtype@^1.3.0, domelementtype@^1.3.1:
domelementtype@1, domelementtype@^1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f"
integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==
@@ -3142,7 +2978,7 @@ eslint-scope@^4.0.3:
esrecurse "^4.1.0"
estraverse "^4.1.1"
esprima@^4.0.0, esprima@~4.0.0:
esprima@^4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
@@ -3576,9 +3412,6 @@ gaze@^1.0.0:
dependencies:
globule "^1.0.0"
generateapidocs@/Users/sagalbot/Sites/vue-select/docs/.vuepress/generateApiDocs:
version "0.1.0"
get-caller-file@^1.0.1:
version "1.0.3"
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a"
@@ -3795,11 +3628,6 @@ has-flag@^3.0.0:
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
has-flag@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
has-symbols@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44"
@@ -3949,7 +3777,7 @@ html-tags@^2.0.0:
resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-2.0.0.tgz#10b30a386085f43cede353cc8fa7cb0deeea668b"
integrity sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=
htmlparser2@^3.3.0, htmlparser2@^3.9.1:
htmlparser2@^3.3.0:
version "3.10.1"
resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f"
integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==
@@ -4327,14 +4155,6 @@ is-directory@^0.3.1:
resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1"
integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=
is-expression@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/is-expression/-/is-expression-3.0.0.tgz#39acaa6be7fd1f3471dc42c7416e61c24317ac9f"
integrity sha1-Oayqa+f9HzRx3ELHQW5hwkMXrJ8=
dependencies:
acorn "~4.0.2"
object-assign "^4.0.1"
is-extendable@^0.1.0, is-extendable@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
@@ -4428,12 +4248,7 @@ is-plain-object@^2.0.3, is-plain-object@^2.0.4:
dependencies:
isobject "^3.0.1"
is-promise@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"
integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=
is-regex@^1.0.3, is-regex@^1.0.4:
is-regex@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491"
integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=
@@ -4536,11 +4351,6 @@ js-levenshtein@^1.1.3:
resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d"
integrity sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==
js-stringify@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/js-stringify/-/js-stringify-1.0.2.tgz#1736fddfd9724f28a3682adc6230ae7e4e9679db"
integrity sha1-Fzb939lyTyijaCrcYjCufk6Weds=
"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
@@ -4630,14 +4440,6 @@ jsprim@^1.2.2:
json-schema "0.2.3"
verror "1.10.0"
jstransformer@1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/jstransformer/-/jstransformer-1.0.0.tgz#ed8bf0921e2f3f1ed4d5c1a44f68709ed24722c3"
integrity sha1-7Yvwkh4vPx7U1cGkT2hwntJHIsM=
dependencies:
is-promise "^2.0.0"
promise "^7.0.1"
killable@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892"
@@ -4675,11 +4477,6 @@ last-call-webpack-plugin@^3.0.0:
lodash "^4.17.5"
webpack-sources "^1.1.0"
lazy-cache@^1.0.3:
version "1.0.4"
resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e"
integrity sha1-odePw6UEdMuAhF07O24dpJpEbo4=
lcid@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835"
@@ -4802,7 +4599,7 @@ lodash.uniq@^4.5.0:
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=
lodash@^4.0.0, lodash@^4.15.0, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.15, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@~4.17.10:
lodash@^4.0.0, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.15, lodash@^4.17.3, lodash@^4.17.5, lodash@~4.17.10:
version "4.17.15"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
@@ -4812,11 +4609,6 @@ loglevel@^1.6.3:
resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.3.tgz#77f2eb64be55a404c9fd04ad16d57c1d6d6b1280"
integrity sha512-LoEDv5pgpvWgPF4kNYuIp0qqSJVWak/dML0RY74xlzMZiT9w77teNAwKYKWBTYjlokMirg+o3jBwp+vlLrcfAA==
longest@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
integrity sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=
loose-envify@^1.0.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
@@ -4837,7 +4629,7 @@ lower-case@^1.1.1:
resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac"
integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw=
lru-cache@^4.0.1, lru-cache@^4.1.2, lru-cache@^4.1.5:
lru-cache@^4.0.1, lru-cache@^4.1.2:
version "4.1.5"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd"
integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==
@@ -5766,13 +5558,6 @@ parse-json@^4.0.0:
error-ex "^1.3.1"
json-parse-better-errors "^1.0.1"
parse5@^3.0.1:
version "3.0.3"
resolved "https://registry.yarnpkg.com/parse5/-/parse5-3.0.3.tgz#042f792ffdd36851551cf4e9e066b3874ab45b5c"
integrity sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==
dependencies:
"@types/node" "*"
parseurl@~1.3.2, parseurl@~1.3.3:
version "1.3.3"
resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
@@ -6278,11 +6063,6 @@ prettier@1.16.3:
resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.16.3.tgz#8c62168453badef702f34b45b6ee899574a6a65d"
integrity sha512-kn/GU6SMRYPxUakNXhpP0EedT/KmaPzr0H5lIsDogrykbaxOpOfAFfk5XA7DZrJyMAv1wlMV3CPcZruGXVVUZw==
prettier@^1.19.1:
version "1.19.1"
resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb"
integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==
pretty-bytes@^5.1.0:
version "5.3.0"
resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.3.0.tgz#f2849e27db79fb4d6cfe24764fc4134f165989f2"
@@ -6301,14 +6081,14 @@ pretty-time@^1.1.0:
resolved "https://registry.yarnpkg.com/pretty-time/-/pretty-time-1.1.0.tgz#ffb7429afabb8535c346a34e41873adf3d74dd0e"
integrity sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==
prismjs@^1.13.0, prismjs@^1.17.1:
prismjs@^1.13.0:
version "1.17.1"
resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.17.1.tgz#e669fcbd4cdd873c35102881c33b14d0d68519be"
integrity sha512-PrEDJAFdUGbOP6xK/UsfkC5ghJsPJviKgnQOoxaDbBjwc8op68Quupwt1DeAFoG8GImPhiKXAvvsH7wDSLsu1Q==
optionalDependencies:
clipboard "^2.0.0"
private@^0.1.6, private@^0.1.8:
private@^0.1.6:
version "0.1.8"
resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff"
integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==
@@ -6328,13 +6108,6 @@ promise-inflight@^1.0.1:
resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3"
integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM=
promise@^7.0.1:
version "7.3.1"
resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf"
integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==
dependencies:
asap "~2.0.3"
proxy-addr@~2.0.5:
version "2.0.5"
resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.5.tgz#34cbd64a2d81f4b1fd21e76f9f06c8a45299ee34"
@@ -6370,111 +6143,6 @@ public-encrypt@^4.0.0:
randombytes "^2.0.1"
safe-buffer "^5.1.2"
pug-attrs@^2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/pug-attrs/-/pug-attrs-2.0.4.tgz#b2f44c439e4eb4ad5d4ef25cac20d18ad28cc336"
integrity sha512-TaZ4Z2TWUPDJcV3wjU3RtUXMrd3kM4Wzjbe3EWnSsZPsJ3LDI0F3yCnf2/W7PPFF+edUFQ0HgDL1IoxSz5K8EQ==
dependencies:
constantinople "^3.0.1"
js-stringify "^1.0.1"
pug-runtime "^2.0.5"
pug-code-gen@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/pug-code-gen/-/pug-code-gen-2.0.2.tgz#ad0967162aea077dcf787838d94ed14acb0217c2"
integrity sha512-kROFWv/AHx/9CRgoGJeRSm+4mLWchbgpRzTEn8XCiwwOy6Vh0gAClS8Vh5TEJ9DBjaP8wCjS3J6HKsEsYdvaCw==
dependencies:
constantinople "^3.1.2"
doctypes "^1.1.0"
js-stringify "^1.0.1"
pug-attrs "^2.0.4"
pug-error "^1.3.3"
pug-runtime "^2.0.5"
void-elements "^2.0.1"
with "^5.0.0"
pug-error@^1.3.3:
version "1.3.3"
resolved "https://registry.yarnpkg.com/pug-error/-/pug-error-1.3.3.tgz#f342fb008752d58034c185de03602dd9ffe15fa6"
integrity sha512-qE3YhESP2mRAWMFJgKdtT5D7ckThRScXRwkfo+Erqga7dyJdY3ZquspprMCj/9sJ2ijm5hXFWQE/A3l4poMWiQ==
pug-filters@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/pug-filters/-/pug-filters-3.1.1.tgz#ab2cc82db9eeccf578bda89130e252a0db026aa7"
integrity sha512-lFfjNyGEyVWC4BwX0WyvkoWLapI5xHSM3xZJFUhx4JM4XyyRdO8Aucc6pCygnqV2uSgJFaJWW3Ft1wCWSoQkQg==
dependencies:
clean-css "^4.1.11"
constantinople "^3.0.1"
jstransformer "1.0.0"
pug-error "^1.3.3"
pug-walk "^1.1.8"
resolve "^1.1.6"
uglify-js "^2.6.1"
pug-lexer@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/pug-lexer/-/pug-lexer-4.1.0.tgz#531cde48c7c0b1fcbbc2b85485c8665e31489cfd"
integrity sha512-i55yzEBtjm0mlplW4LoANq7k3S8gDdfC6+LThGEvsK4FuobcKfDAwt6V4jKPH9RtiE3a2Akfg5UpafZ1OksaPA==
dependencies:
character-parser "^2.1.1"
is-expression "^3.0.0"
pug-error "^1.3.3"
pug-linker@^3.0.6:
version "3.0.6"
resolved "https://registry.yarnpkg.com/pug-linker/-/pug-linker-3.0.6.tgz#f5bf218b0efd65ce6670f7afc51658d0f82989fb"
integrity sha512-bagfuHttfQOpANGy1Y6NJ+0mNb7dD2MswFG2ZKj22s8g0wVsojpRlqveEQHmgXXcfROB2RT6oqbPYr9EN2ZWzg==
dependencies:
pug-error "^1.3.3"
pug-walk "^1.1.8"
pug-load@^2.0.12:
version "2.0.12"
resolved "https://registry.yarnpkg.com/pug-load/-/pug-load-2.0.12.tgz#d38c85eb85f6e2f704dea14dcca94144d35d3e7b"
integrity sha512-UqpgGpyyXRYgJs/X60sE6SIf8UBsmcHYKNaOccyVLEuT6OPBIMo6xMPhoJnqtB3Q3BbO4Z3Bjz5qDsUWh4rXsg==
dependencies:
object-assign "^4.1.0"
pug-walk "^1.1.8"
pug-parser@^5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/pug-parser/-/pug-parser-5.0.1.tgz#03e7ada48b6840bd3822f867d7d90f842d0ffdc9"
integrity sha512-nGHqK+w07p5/PsPIyzkTQfzlYfuqoiGjaoqHv1LjOv2ZLXmGX1O+4Vcvps+P4LhxZ3drYSljjq4b+Naid126wA==
dependencies:
pug-error "^1.3.3"
token-stream "0.0.1"
pug-runtime@^2.0.5:
version "2.0.5"
resolved "https://registry.yarnpkg.com/pug-runtime/-/pug-runtime-2.0.5.tgz#6da7976c36bf22f68e733c359240d8ae7a32953a"
integrity sha512-P+rXKn9un4fQY77wtpcuFyvFaBww7/91f3jHa154qU26qFAnOe6SW1CbIDcxiG5lLK9HazYrMCCuDvNgDQNptw==
pug-strip-comments@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/pug-strip-comments/-/pug-strip-comments-1.0.4.tgz#cc1b6de1f6e8f5931cf02ec66cdffd3f50eaf8a8"
integrity sha512-i5j/9CS4yFhSxHp5iKPHwigaig/VV9g+FgReLJWWHEHbvKsbqL0oP/K5ubuLco6Wu3Kan5p7u7qk8A4oLLh6vw==
dependencies:
pug-error "^1.3.3"
pug-walk@^1.1.8:
version "1.1.8"
resolved "https://registry.yarnpkg.com/pug-walk/-/pug-walk-1.1.8.tgz#b408f67f27912f8c21da2f45b7230c4bd2a5ea7a"
integrity sha512-GMu3M5nUL3fju4/egXwZO0XLi6fW/K3T3VTgFQ14GxNi8btlxgT5qZL//JwZFm/2Fa64J/PNS8AZeys3wiMkVA==
pug@^2.0.3:
version "2.0.4"
resolved "https://registry.yarnpkg.com/pug/-/pug-2.0.4.tgz#ee7682ec0a60494b38d48a88f05f3b0ac931377d"
integrity sha512-XhoaDlvi6NIzL49nu094R2NA6P37ijtgMDuWE+ofekDChvfKnzFal60bhSdiy8y2PBO6fmz3oMEIcfpBVRUdvw==
dependencies:
pug-code-gen "^2.0.2"
pug-filters "^3.1.1"
pug-lexer "^4.1.0"
pug-linker "^3.0.6"
pug-load "^2.0.12"
pug-parser "^5.0.1"
pug-runtime "^2.0.5"
pug-strip-comments "^1.0.4"
pump@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909"
@@ -6664,16 +6332,6 @@ readdirp@^2.2.1:
micromatch "^3.1.10"
readable-stream "^2.0.2"
recast@^0.17.3:
version "0.17.6"
resolved "https://registry.yarnpkg.com/recast/-/recast-0.17.6.tgz#64ae98d0d2dfb10ff92ff5fb9ffb7371823b69fa"
integrity sha512-yoQRMRrK1lszNtbkGyM4kN45AwylV5hMiuEveUBlxytUViWevjvX6w+tzJt1LH4cfUhWt4NZvy3ThIhu6+m5wQ==
dependencies:
ast-types "0.12.4"
esprima "~4.0.0"
private "^0.1.8"
source-map "~0.6.1"
redent@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde"
@@ -6793,7 +6451,7 @@ repeat-element@^1.1.2:
resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce"
integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==
repeat-string@^1.5.2, repeat-string@^1.6.1:
repeat-string@^1.6.1:
version "1.6.1"
resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc=
@@ -6868,7 +6526,7 @@ resolve-url@^0.2.1:
resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
resolve@^1.1.6, resolve@^1.10.0, resolve@^1.2.0, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.8.1:
resolve@^1.10.0, resolve@^1.2.0, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.8.1:
version "1.12.0"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6"
integrity sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==
@@ -6895,13 +6553,6 @@ rgba-regex@^1.0.0:
resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3"
integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=
right-align@^0.1.1:
version "0.1.3"
resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef"
integrity sha1-YTObci/mo1FWiSENJOFMlhSGE+8=
dependencies:
align-text "^0.1.1"
rimraf@2, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3:
version "2.7.1"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
@@ -7258,7 +6909,7 @@ source-map@^0.4.2:
dependencies:
amdefine ">=0.0.4"
source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1:
source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6:
version "0.5.7"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
@@ -7604,13 +7255,6 @@ supports-color@^6.1.0:
dependencies:
has-flag "^3.0.0"
supports-color@^7.1.0:
version "7.1.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1"
integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==
dependencies:
has-flag "^4.0.0"
svg-tags@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/svg-tags/-/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764"
@@ -7736,11 +7380,6 @@ to-factory@^1.0.0:
resolved "https://registry.yarnpkg.com/to-factory/-/to-factory-1.0.0.tgz#8738af8bd97120ad1d4047972ada5563bf9479b1"
integrity sha1-hzivi9lxIK0dQEeXKtpVY7+UebE=
to-fast-properties@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47"
integrity sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=
to-fast-properties@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
@@ -7776,11 +7415,6 @@ toidentifier@1.0.0:
resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553"
integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==
token-stream@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/token-stream/-/token-stream-0.0.1.tgz#ceeefc717a76c4316f126d0b9dbaa55d7e7df01a"
integrity sha1-zu78cXp2xDFvEm0LnbqlXX598Bo=
toml@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/toml/-/toml-3.0.0.tgz#342160f1af1904ec9d204d03a5d61222d762c5ee"
@@ -7816,11 +7450,6 @@ trim-right@^1.0.1:
dependencies:
glob "^7.1.2"
ts-map@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/ts-map/-/ts-map-1.0.3.tgz#1c4d218dec813d2103b7e04e4bcf348e1471c1ff"
integrity sha512-vDWbsl26LIcPGmDpoVzjEP6+hvHZkBkLW7JpvwbCv/5IYPJlsbzCVXY3wsCeAxAUeTclNOUZxnLdGh3VBD/J6w==
tslib@^1.9.0:
version "1.10.0"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a"
@@ -7874,21 +7503,6 @@ uglify-js@3.4.x:
commander "~2.19.0"
source-map "~0.6.1"
uglify-js@^2.6.1:
version "2.8.29"
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd"
integrity sha1-KcVzMUgFe7Th913zW3qcty5qWd0=
dependencies:
source-map "~0.5.1"
yargs "~3.10.0"
optionalDependencies:
uglify-to-browserify "~1.0.0"
uglify-to-browserify@~1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7"
integrity sha1-bgkk1r2mta/jSeOabWMoUKD4grc=
unicode-canonical-property-names-ecmascript@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818"
@@ -8100,26 +7714,6 @@ vm-browserify@^1.0.1:
resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.0.tgz#bd76d6a23323e2ca8ffa12028dc04559c75f9019"
integrity sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw==
void-elements@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec"
integrity sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=
vue-docgen-api@^4.0.4:
version "4.0.4"
resolved "https://registry.yarnpkg.com/vue-docgen-api/-/vue-docgen-api-4.0.4.tgz#b7a3bad9f733794a5fd6defcc7f7f6d49424b68d"
integrity sha512-0Hbp1RloerjilDxPoSsFOceyz+hbnaJjEVaeO+VqnJdYcdac9qDa5dXtLUYt/xZ7MgsTvXStZiVPN1eq94TMhg==
dependencies:
"@babel/parser" "^7.2.3"
"@babel/types" "^7.0.0"
ast-types "^0.12.2"
hash-sum "^1.0.2"
lru-cache "^4.1.5"
pug "^2.0.3"
recast "^0.17.3"
ts-map "^1.0.3"
vue-template-compiler "^2.0.0"
vue-hot-reload-api@^2.3.0:
version "2.3.3"
resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.3.tgz#2756f46cb3258054c5f4723de8ae7e87302a1ccf"
@@ -8163,7 +7757,7 @@ vue-style-loader@^4.1.0:
hash-sum "^1.0.2"
loader-utils "^1.0.2"
vue-template-compiler@^2.0.0, vue-template-compiler@^2.6.10:
vue-template-compiler@^2.6.10:
version "2.6.10"
resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.6.10.tgz#323b4f3495f04faa3503337a82f5d6507799c9cc"
integrity sha512-jVZkw4/I/HT5ZMvRnhv78okGusqe0+qH2A0Em0Cp8aq78+NK9TII263CDVz2QXZsIT+yyV/gZc/j/vlwa+Epyg==
@@ -8412,24 +8006,6 @@ wide-align@^1.1.0:
dependencies:
string-width "^1.0.2 || 2"
window-size@0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d"
integrity sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=
with@^5.0.0:
version "5.1.1"
resolved "https://registry.yarnpkg.com/with/-/with-5.1.1.tgz#fa4daa92daf32c4ea94ed453c81f04686b575dfe"
integrity sha1-+k2qktrzLE6pTtRTyB8EaGtXXf4=
dependencies:
acorn "^3.1.0"
acorn-globals "^3.0.0"
wordwrap@0.0.2:
version "0.0.2"
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f"
integrity sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=
workbox-background-sync@^4.3.1:
version "4.3.1"
resolved "https://registry.yarnpkg.com/workbox-background-sync/-/workbox-background-sync-4.3.1.tgz#26821b9bf16e9e37fd1d640289edddc08afd1950"
@@ -8674,16 +8250,6 @@ yargs@^7.0.0:
y18n "^3.2.1"
yargs-parser "^5.0.0"
yargs@~3.10.0:
version "3.10.0"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1"
integrity sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=
dependencies:
camelcase "^1.0.2"
cliui "^2.1.0"
decamelize "^1.0.0"
window-size "0.1.0"
zepto@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/zepto/-/zepto-1.2.0.tgz#e127bd9e66fd846be5eab48c1394882f7c0e4f98"
+56 -32
View File
@@ -74,7 +74,7 @@
</div>
</template>
<script type="text/babel">
<script>
import pointerScroll from '../mixins/pointerScroll'
import typeAheadPointer from '../mixins/typeAheadPointer'
import ajax from '../mixins/ajax'
@@ -90,10 +90,8 @@
props: {
/**
* Contains the currently selected value. Very similar to a
* `value` attribute on an <input>. You can listen for changes
* using 'change' event using v-on
* @type {Object||String||null}
* Contains the currently selected value.
* @see https://vue-select.org/guide/values.html
*/
value: {},
@@ -101,8 +99,8 @@
* An object with any custom components that you'd like to overwrite
* the default implementation of in your app. The keys in this object
* will be merged with the defaults.
* @since 3.1.0
* @see https://vue-select.org/guide/components.html
* @type {Function}
*/
components: {
type: Object,
@@ -209,7 +207,8 @@
/**
* Value of the 'autocomplete' field of the input
* element.
* @type {String}
*
* @see https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete
*/
autocomplete: {
type: String,
@@ -220,8 +219,11 @@
* When working with objects, the reduce
* prop allows you to transform a given
* object to only the information you
* want passed to a v-model binding
* or @input event.
* want passed to a `v-model` binding
* or `@input` event.
*
* @param {mixed} option
* @return {mixed} option
*/
reduce: {
type: Function,
@@ -232,13 +234,14 @@
* Decides whether an option is selectable or not. Not selectable options
* are displayed but disabled and cannot be selected.
*
* @type {Function}
* @since 3.3.0
* @param {Object|String} option
* @return {Boolean}
*/
selectable: {
type: Function,
/**
* @param {Object|String} option
* @return {Boolean}
*/
default: option => true,
},
@@ -328,7 +331,7 @@
/**
* Set the tabindex for the input field.
* @type {Number}
* @see https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex
*/
tabindex: {
type: Number,
@@ -360,10 +363,10 @@
* Callback to determine if the provided option should
* match the current search text. Used to determine
* if the option should be displayed.
* @type {Function}
* @param {Object || String} option
* @param {String} label
* @param {String} search
* @type {Function}
* @param {Object|String} option
* @param {String} label
* @param {String} search
* @return {Boolean}
*/
filterBy: {
@@ -379,9 +382,9 @@
* each option, and returns the result of
* this.filterBy.
* @type {Function}
* @param {Array} list of options
* @param {String} search text
* @param {Object} vSelect instance
* @param {Array} options list of options
* @param {String} search search text
* @param {Object} vm vSelect instance
* @return {Boolean}
*/
filter: {
@@ -399,10 +402,12 @@
/**
* User defined function for adding Options
* @type {Function}
*/
createOption: {
type: Function,
/**
* @param {Object|String}
*/
default (option) {
return (typeof this.optionList[0] === 'object') ? {[this.label]: option} : option;
},
@@ -410,7 +415,6 @@
/**
* When false, updating the options will not reset the select value
* @type {Boolean}
*/
resetOnOptionsChange: {
type: Boolean,
@@ -419,7 +423,6 @@
/**
* Disable the dropdown entirely.
* @type {Boolean}
*/
noDrop: {
type: Boolean,
@@ -428,18 +431,15 @@
/**
* Sets the id of the input element.
* @type {String}
* @default {null}
*/
inputId: {
type: String
type: String,
default: null,
},
/**
* Sets RTL support. Accepts 'ltr', 'rtl', 'auto'.
* @see https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/dir
* @type {String}
* @default 'auto'
*/
dir: {
type: String,
@@ -571,13 +571,19 @@
/**
* Select a given option.
* @param {Object|String} option
* @emits option:created
* @param {Object|String} option
* @return {void}
*/
select(option) {
if (!this.isOptionSelected(option)) {
if (this.taggable && !this.optionExists(option)) {
option = this.createOption(option);
/**
* Triggered when taggable is true and a new option has been created.
* @param {Object|String} option - freshly created option
*/
this.$emit('option:created', option);
}
if (this.multiple) {
@@ -646,6 +652,14 @@
}
}
/**
* Triggered any time the selected value changes.
* This event, along with the `value` prop, enable
* the v-model syntax for the component.
*
* @event input
* @param {Object|String} value - selected option
*/
this.$emit('input', value);
},
@@ -732,7 +746,12 @@
* @returns {void}
*/
closeSearchOptions(){
this.open = false
this.open = false;
/**
* Triggered when the text input loses focus.
* The dropdown will close immediately before this event is triggered.
*/
this.$emit('search:blur')
},
@@ -829,11 +848,16 @@
/**
* Open the dropdown on focus.
* @emits {search:focus}
* @emits {search:focus}
* @return {void}
*/
onSearchFocus() {
this.open = true
this.open = true;
/**
* Triggered when the text input gains focus.
* The dropdown will open immediately before this event is triggered.
*/
this.$emit('search:focus')
},