From b2f67390743664608cf814bb1d3944abba8e87de Mon Sep 17 00:00:00 2001 From: Devon Rueckner Date: Tue, 20 Apr 2021 08:32:32 -0700 Subject: [PATCH 01/26] removing disabled non-component ToC items --- docs/tableOfContents.js | 131 ---------------------------------------- 1 file changed, 131 deletions(-) diff --git a/docs/tableOfContents.js b/docs/tableOfContents.js index bc004159f..9409affd9 100644 --- a/docs/tableOfContents.js +++ b/docs/tableOfContents.js @@ -98,16 +98,6 @@ export default [ path: '/layout', title: 'Layout', }), - new Page({ - path: '/motion', - title: 'Motion', - disabled: true, - }), - new Page({ - path: '/typography', - title: 'Typography', - disabled: true, - }), new Page({ path: '/writing', title: 'Writing', @@ -122,60 +112,13 @@ export default [ title: 'Patterns', autoSort: true, pages: [ - new Page({ - path: '/autosave', - title: 'Auto-save', - disabled: true, - }), - new Page({ - path: '/renderers', - title: 'Content renderers', - disabled: true, - }), - new Page({ - path: '/dragdrop', - title: 'Drag and drop', - disabled: true, - }), new Page({ path: '/filters', title: 'Filters', - disabled: false, - }), - new Page({ - path: '/fileuploader', - title: 'File uploaders', - disabled: true, - }), - new Page({ - path: '/forms', - title: 'Forms', - disabled: true, - }), - new Page({ - path: '/pagination', - title: 'Pagination', - disabled: true, }), new Page({ path: '/pageheader', title: 'Page headers', - disabled: false, - }), - new Page({ - path: '/tables', - title: 'Tables', - disabled: true, - }), - new Page({ - path: '/time', - title: 'Time', - disabled: true, - }), - new Page({ - path: '/toolbar', - title: 'Toolbars', - disabled: true, }), ], }), @@ -183,43 +126,14 @@ export default [ title: 'Components', autoSort: true, pages: [ - new Page({ - path: '/alerts', - title: 'Alerts', - disabled: true, - }), new Page({ path: '/appbars', title: 'App bars', }), - new Page({ - path: '/badges', - title: 'Badges', - disabled: true, - }), - new Page({ - path: '/banners', - title: 'Banners', - disabled: true, - }), new Page({ path: '/buttons', title: 'Buttons and links', }), - new Page({ - path: '/cards', - title: 'Cards', - disabled: true, - }), - new Page({ - path: '/filters', - title: 'Filters', - disabled: true, - }), - new Page({ - path: '/loaders', - title: 'Loaders', - }), new Page({ path: '/menus', title: 'Menus', @@ -232,54 +146,10 @@ export default [ path: '/snackbars', title: 'Snackbars', }), - new Page({ - path: '/tabs', - title: 'Tabs', - disabled: true, - }), new Page({ path: '/textfields', title: 'Text fields', }), - new Page({ - path: '/tooltips', - title: 'Tooltips', - disabled: true, - }), - ], - }), - new Section({ - title: 'Code library docs', - autoSort: true, - pages: [ - new Page({ - path: '/library', - title: 'Getting started', - }), - ], - }), - new Section({ - title: 'Code library utilities', - autoSort: true, - pages: [ - new Page({ - path: '/kthemeplugin', - title: 'KThemePlugin', - isCode: true, - disabled: true, - }), - new Page({ - path: '/kresponsivewindowmixin', - title: 'KResponsiveWindowMixin', - isCode: true, - disabled: true, - }), - new Page({ - path: '/kresponsiveelementmixin', - title: 'KResponsiveElementMixin', - isCode: true, - disabled: true, - }), ], }), new Section({ @@ -328,7 +198,6 @@ export default [ path: '/ktooltip', title: 'KTooltip', isCode: true, - disabled: true, }), new Page({ path: '/kpagecontainer', From f55184216272d6bda6f214ba66dd4805bfd41b5c Mon Sep 17 00:00:00 2001 From: Devon Rueckner Date: Tue, 20 Apr 2021 08:39:18 -0700 Subject: [PATCH 02/26] clean up --- docs/common/DocsPageTemplate/index.vue | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/common/DocsPageTemplate/index.vue b/docs/common/DocsPageTemplate/index.vue index b53057bd8..8a929b286 100644 --- a/docs/common/DocsPageTemplate/index.vue +++ b/docs/common/DocsPageTemplate/index.vue @@ -70,7 +70,7 @@ if (path !== '/') { path = path.replace(/\/$/, ''); } - // Search for page + // search for page for (const section of tableOfContents) { for (const page of section.pages) { if (path === page.path) { @@ -78,8 +78,8 @@ } } } - // Page not found - consola.error(`'${path}' not found in pages.js`); + // page not found + consola.error(`'${path}' not found`); return undefined; }, pageSections() { From 735cd3bea8f29a65161a0ed3938a5595219863af Mon Sep 17 00:00:00 2001 From: Devon Rueckner Date: Tue, 20 Apr 2021 08:47:09 -0700 Subject: [PATCH 03/26] update section extraction to allow for api-only --- docs/common/DocsPageTemplate/index.vue | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/docs/common/DocsPageTemplate/index.vue b/docs/common/DocsPageTemplate/index.vue index 8a929b286..888766327 100644 --- a/docs/common/DocsPageTemplate/index.vue +++ b/docs/common/DocsPageTemplate/index.vue @@ -47,6 +47,20 @@ import jsdocs from '~/jsdocs.js'; import tableOfContents from '~/tableOfContents.js'; + function sectionsForDefaultSlot(children) { + if (children === undefined) { + return []; + } + return children + .filter( + node => + node.componentOptions && + node.componentOptions.tag === DocsPageSection.name && + node.componentOptions.propsData.anchor + ) + .map(node => node.componentOptions.propsData); + } + export default { name: 'DocsPageTemplate', components: { @@ -84,14 +98,7 @@ }, pageSections() { // look at children for sections and extract links - const pageSections = this.$slots.default - .filter( - node => - node.componentOptions && - node.componentOptions.tag === DocsPageSection.name && - node.componentOptions.propsData.anchor - ) - .map(node => node.componentOptions.propsData); + const pageSections = sectionsForDefaultSlot(this.$slots.default); // add any applicable API sections this.apiSections.forEach(section => pageSections.push(section)); return pageSections; From f561505e4e3f1b7433ebfd231e430f822dbedcd0 Mon Sep 17 00:00:00 2001 From: Devon Rueckner Date: Tue, 20 Apr 2021 10:08:59 -0700 Subject: [PATCH 04/26] refactor pre-generation and extraction fixes hot reload of API edits, broken in b00c62a1ab31510a9df3754e74dfa6e2cc037be0 --- package.json | 4 +- utils/extractApi.js | 48 ++++++++++ utils/extractEnvironment.js | 64 +++++++++++++ utils/extractRstIcons.js | 90 ++++++++++++++++++ utils/pregenerate.js | 182 ++---------------------------------- 5 files changed, 210 insertions(+), 178 deletions(-) create mode 100644 utils/extractApi.js create mode 100644 utils/extractEnvironment.js create mode 100644 utils/extractRstIcons.js diff --git a/package.json b/package.json index c5b5974ff..637348b67 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "license": "MIT", "author": "Learning Equality", "scripts": { - "dev": "npm-run-all --parallel _dev-only _lint-watch-fix _pregenerate-watch pregenerate", + "dev": "npm-run-all --parallel _dev-only _lint-watch-fix _api-watch pregenerate", "generate": "yarn run pregenerate && nuxt generate", "lint": "kolibri-tools lint '**/*.{js,vue,scss,less,css}' -i ,'**/node_modules/**','**/.nuxt/**','**/dist/**','**/lib/KIcon/precompiled-icons/**','**/lib/keen/**','**/docs/environment.js','**/docs/jsdocs.js'", "lint-fix": "yarn lint -w", @@ -16,7 +16,7 @@ "precompile-svgs": "rm -rf lib/KIcon/precompiled-icons && node utils/precompileSvgs.js", "_lint-watch-fix": "yarn lint -w -m", "_test": "jest", - "_pregenerate-watch": "chokidar \"**/K*.vue\" -c \"node utils/pregenerate.js\"" + "_api-watch": "chokidar \"**/lib/**\" -c \"node utils/extractApi.js\"" }, "files": [ "lib" diff --git a/utils/extractApi.js b/utils/extractApi.js new file mode 100644 index 000000000..a5f0bb178 --- /dev/null +++ b/utils/extractApi.js @@ -0,0 +1,48 @@ +const path = require('path'); +const fs = require('fs'); +const docGenAPI = require('vue-docgen-api'); +const globby = require('globby'); +const consola = require('consola'); + +/***********************************/ +/* Extract component API */ + +const docsOutputString = ` +/* + This file is auto-generated and ignored by git. + See the jsdocs-related scripts in package.json and pregenerate.js +*/ + +export default `; + +async function writeApi() { + const componentFolder = path.resolve('./lib/'); + const simpleFiles = await globby('**/K*.vue', { cwd: componentFolder }); + const output = {}; + + for (const filename of simpleFiles) { + const filepath = path.resolve(componentFolder, filename); + const val = await docGenAPI.parse(filepath); + output[val.displayName] = val; + } + + const complexFiles = await globby('**/K*/index.vue', { cwd: componentFolder }); + + for (const filename of complexFiles) { + const filepath = path.resolve(componentFolder, filename); + const val = await docGenAPI.parse(filepath); + output[val.displayName] = val; + } + + const outputPath = path.resolve('./docs/jsdocs.js'); + fs.writeFile(outputPath, docsOutputString + JSON.stringify(output, null, 2), () => + consola.info('Wrote jsdocs to', outputPath) + ); +} + +exports.writeApi = writeApi; + +// https://stackoverflow.com/a/6398335 +if (require.main === module) { + writeApi(); +} diff --git a/utils/extractEnvironment.js b/utils/extractEnvironment.js new file mode 100644 index 000000000..d18eeb76e --- /dev/null +++ b/utils/extractEnvironment.js @@ -0,0 +1,64 @@ +const path = require('path'); +const fs = require('fs'); +const consola = require('consola'); + +/***********************************/ +/* Extract env info */ + +// https://docs.netlify.com/configure-builds/environment-variables/#netlify-configuration-variables +function getEnvironmentInfo() { + // debug info + const info = ` Netlify environment variables: + NETLIFY: ${process.env.NETLIFY} + BRANCH: ${process.env.BRANCH} + PULL_REQUEST: ${process.env.PULL_REQUEST} + REPOSITORY_URL: ${process.env.REPOSITORY_URL}`; + consola.info(info); + + // probably running local dev environment + if (!process.env.NETLIFY) { + return { local: true }; + } + const env = { + local: false, + branch: process.env.BRANCH, + }; + + // BRANCH is something like `v0.2.x` or `develop` + if (!process.env.PULL_REQUEST || process.env.PULL_REQUEST === 'false') { + env.url = process.env.REPOSITORY_URL + '/tree/' + env.branch; + return env; + } + + // BRANCH might be something like `pull/79/head` + const reMatch = /^(pull\/\d+)\/head$/.exec(process.env.BRANCH); + if (reMatch) { + env.branch = reMatch[1]; // strip off the '/head' part + } + env.url = process.env.REPOSITORY_URL + '/' + env.branch; + return env; +} + +const gitOutputString = ` +/* + This file is auto-generated and ignored by git in order to + provide back-links to GitHub source. See pregenerate.js +*/ + +export default `; + +function writeEnvironment() { + const environmentInfo = getEnvironmentInfo(); + const outputPath = path.resolve('./docs/environment.js'); + const env = JSON.stringify(environmentInfo, null, 2); + fs.writeFile(outputPath, gitOutputString + env + ';\n', () => + consola.info(`Wrote environment to ${outputPath}`) + ); +} + +exports.writeEnvironment = writeEnvironment; + +// https://stackoverflow.com/a/6398335 +if (require.main === module) { + writeEnvironment(); +} diff --git a/utils/extractRstIcons.js b/utils/extractRstIcons.js new file mode 100644 index 000000000..b9c211759 --- /dev/null +++ b/utils/extractRstIcons.js @@ -0,0 +1,90 @@ +const path = require('path'); +const fs = require('fs'); +const consola = require('consola'); + +/*****************************************************/ +/* Extract icon svgs from vue files for rst docs + + This command generates sphinx restructured text replacements for use in docs, + specifically for the `rst_prolog` variable [1]. This allows a design-system alias + enclosed in pipe characters (like ``|close|``) used in reStructuredText documents + to be replaced with an inline SVG + + CSS classes referenced below correspond to styles in theme_overrides.css in the user + docs, and allow the icons to be set to their default colors. + + The logic in this command is somewhat brittle as it's based on regex. This was the + most straightforward way to implement the logic, but it also means that subsequent + changes to the implementation of iconDefinitions.js and KIcon might break this. + + A slightly preferable implementation might be to extract this information during the + precompileSvgs.js process, importing iconDefinitions.js directly, and parsing the + information as real javascript. However this would require webpack tooling which + is – at present – unavailable to this pre-processing script. We also might want to + consider a different source of truth besides iconDefinitions.js, but this was deemed + useful in order to avoid making the `require` statements inside dynamic [2]. + + True, parsing arbitrary HTML and js with regex is horrible [3], but parsing files with + known and predictable structures might be forgiven [4]. + + [1] https://www.sphinx-doc.org/en/master/usage/configuration.html#confval-rst_prolog + [2] https://webpack.js.org/guides/code-splitting/#dynamic-imports + [3] https://stackoverflow.com/a/1732454/3341621 + [4] https://stackoverflow.com/a/1733489/3341621 + */ + +// Within iconDefinitions.js, match the main object: `const KolibriIcons = {...}` +const MAIN_OBJECT_PATTERN = /const KolibriIcons = {(.*?\n)}/s; + +// Within the main object, match all individual definition objects: ` someIconName: { icon: require('./some/icon/path'), ...}` +const ICON_DEFINITION_PATTERN = /\n {2}(\w+): {.*?\s+icon:\s+require\('(.+?)'\).*?},/gs; + +// Within a definition object, match a defaultColor attribute: `defaultColor: themeTokens().someColor` +const ICON_DEFINITION_COLOR_PATTERN = /defaultColor:\s+themeTokens\(\)\.(\w+)/s; + +// Within an icon file, match just the SVG tag +const TEMPLATE_PATTERN = /<\/svg>/; + +function writeRstIcons() { + // Load iconDefinitions.js as a simple text file + fs.readFile('./lib/KIcon/iconDefinitions.js', 'utf8', (err, iconDefinitions) => { + if (err) throw err; + + // extract the content of the main definition object + const mainObjectBody = iconDefinitions.match(MAIN_OBJECT_PATTERN)[1]; + + // process all icon definitions + const output = []; + let iconDefinitionMatch; + while ((iconDefinitionMatch = ICON_DEFINITION_PATTERN.exec(mainObjectBody)) !== null) { + // where is the vue file and what's in it? + const vueFilePath = path.resolve(path.join('./lib/KIcon/', iconDefinitionMatch[2])); + const vueFileContent = fs.readFileSync(vueFilePath, 'utf8'); + const svgContent = vueFileContent.match(TEMPLATE_PATTERN)[0]; + const aliasName = iconDefinitionMatch[1]; + + // does it have a default color? + const colorMatch = iconDefinitionMatch[0].match(ICON_DEFINITION_COLOR_PATTERN); + + // what to dump into icon-replacements.txt? (used in rst_prolog) + const wrapperSpanColorClass = colorMatch ? ` design-system-icon-color-${colorMatch[1]}` : ''; + output.push( + `.. |${aliasName}| replace:: :raw-html:\`${svgContent}\`` + ); + } + + // create file + output.sort(); + const outputPath = path.resolve('./docs/rstIconReplacements.txt'); + fs.writeFile(outputPath, output.join('\n') + '\n', () => + consola.info(`Wrote rst icon replacement strings to ${outputPath}`) + ); + }); +} + +exports.writeRstIcons = writeRstIcons; + +// https://stackoverflow.com/a/6398335 +if (require.main === module) { + writeRstIcons(); +} diff --git a/utils/pregenerate.js b/utils/pregenerate.js index e5d0a5086..b8369cf25 100644 --- a/utils/pregenerate.js +++ b/utils/pregenerate.js @@ -1,177 +1,7 @@ -const path = require('path'); -const fs = require('fs'); -const docGenAPI = require('vue-docgen-api'); -const globby = require('globby'); -const consola = require('consola'); +const extractApi = require('./extractApi'); +const extractEnvironment = require('./extractEnvironment'); +const extractRstIcons = require('./extractRstIcons'); -/***********************************/ -/* Extract component API */ - -const docsOutputString = ` -/* - This file is auto-generated and ignored by git. - See the jsdocs-related scripts in package.json and pregenerate.js -*/ - -export default `; - -async function writeApi() { - const componentFolder = path.resolve('./lib/'); - const simpleFiles = await globby('**/K*.vue', { cwd: componentFolder }); - const output = {}; - - for (const filename of simpleFiles) { - const filepath = path.resolve(componentFolder, filename); - const val = await docGenAPI.parse(filepath); - output[val.displayName] = val; - } - - const complexFiles = await globby('**/K*/index.vue', { cwd: componentFolder }); - - for (const filename of complexFiles) { - const filepath = path.resolve(componentFolder, filename); - const val = await docGenAPI.parse(filepath); - output[val.displayName] = val; - } - - const outputPath = path.resolve('./docs/jsdocs.js'); - fs.writeFile(outputPath, docsOutputString + JSON.stringify(output, null, 2), () => - consola.info('Wrote jsdocs to', outputPath) - ); -} - -writeApi(); - -/***********************************/ -/* Extract env info from Netlify */ - -// https://docs.netlify.com/configure-builds/environment-variables/#netlify-configuration-variables -function getEnvironmentInfo() { - // debug info - const info = ` Netlify environment variables: - NETLIFY: ${process.env.NETLIFY} - BRANCH: ${process.env.BRANCH} - PULL_REQUEST: ${process.env.PULL_REQUEST} - REPOSITORY_URL: ${process.env.REPOSITORY_URL}`; - consola.info(info); - - // probably running local dev environment - if (!process.env.NETLIFY) { - return { local: true }; - } - const env = { - local: false, - branch: process.env.BRANCH, - }; - - // BRANCH is something like `v0.2.x` or `develop` - if (!process.env.PULL_REQUEST || process.env.PULL_REQUEST === 'false') { - env.url = process.env.REPOSITORY_URL + '/tree/' + env.branch; - return env; - } - - // BRANCH might be something like `pull/79/head` - const reMatch = /^(pull\/\d+)\/head$/.exec(process.env.BRANCH); - if (reMatch) { - env.branch = reMatch[1]; // strip off the '/head' part - } - env.url = process.env.REPOSITORY_URL + '/' + env.branch; - return env; -} - -const gitOutputString = ` -/* - This file is auto-generated and ignored by git in order to - provide back-links to GitHub source. See pregenerate.js -*/ - -export default `; - -function writeGit() { - const environmentInfo = getEnvironmentInfo(); - const outputPath = path.resolve('./docs/environment.js'); - const env = JSON.stringify(environmentInfo, null, 2); - fs.writeFile(outputPath, gitOutputString + env + ';\n', () => - consola.info(`Wrote environment to ${outputPath}`) - ); -} - -writeGit(); - -/*****************************************************/ -/* Extract icon svgs from vue files for rst docs - - This command generates sphinx restructured text replacements for use in docs, - specifically for the `rst_prolog` variable [1]. This allows a design-system alias - enclosed in pipe characters (like ``|close|``) used in reStructuredText documents - to be replaced with an inline SVG - - CSS classes referenced below correspond to styles in theme_overrides.css in the user - docs, and allow the icons to be set to their default colors. - - The logic in this command is somewhat brittle as it's based on regex. This was the - most straightforward way to implement the logic, but it also means that subsequent - changes to the implementation of iconDefinitions.js and KIcon might break this. - - A slightly preferable implementation might be to extract this information during the - precompileSvgs.js process, importing iconDefinitions.js directly, and parsing the - information as real javascript. However this would require webpack tooling which - is – at present – unavailable to this pre-processing script. We also might want to - consider a different source of truth besides iconDefinitions.js, but this was deemed - useful in order to avoid making the `require` statements inside dynamic [2]. - - True, parsing arbitrary HTML and js with regex is horrible [3], but parsing files with - known and predictable structures might be forgiven [4]. - - [1] https://www.sphinx-doc.org/en/master/usage/configuration.html#confval-rst_prolog - [2] https://webpack.js.org/guides/code-splitting/#dynamic-imports - [3] https://stackoverflow.com/a/1732454/3341621 - [4] https://stackoverflow.com/a/1733489/3341621 - */ - -// Within iconDefinitions.js, match the main object: `const KolibriIcons = {...}` -const MAIN_OBJECT_PATTERN = /const KolibriIcons = {(.*?\n)}/s; - -// Within the main object, match all individual definition objects: ` someIconName: { icon: require('./some/icon/path'), ...}` -const ICON_DEFINITION_PATTERN = /\n {2}(\w+): {.*?\s+icon:\s+require\('(.+?)'\).*?},/gs; - -// Within a definition object, match a defaultColor attribute: `defaultColor: themeTokens().someColor` -const ICON_DEFINITION_COLOR_PATTERN = /defaultColor:\s+themeTokens\(\)\.(\w+)/s; - -// Within an icon file, match just the SVG tag -const TEMPLATE_PATTERN = /<\/svg>/; - -// Load iconDefinitions.js as a simple text file -fs.readFile('./lib/KIcon/iconDefinitions.js', 'utf8', (err, iconDefinitions) => { - if (err) throw err; - - // extract the content of the main definition object - const mainObjectBody = iconDefinitions.match(MAIN_OBJECT_PATTERN)[1]; - - // process all icon definitions - const output = []; - let iconDefinitionMatch; - while ((iconDefinitionMatch = ICON_DEFINITION_PATTERN.exec(mainObjectBody)) !== null) { - // where is the vue file and what's in it? - const vueFilePath = path.resolve(path.join('./lib/KIcon/', iconDefinitionMatch[2])); - const vueFileContent = fs.readFileSync(vueFilePath, 'utf8'); - const svgContent = vueFileContent.match(TEMPLATE_PATTERN)[0]; - const aliasName = iconDefinitionMatch[1]; - - // does it have a default color? - const colorMatch = iconDefinitionMatch[0].match(ICON_DEFINITION_COLOR_PATTERN); - - // what to dump into icon-replacements.txt? (used in rst_prolog) - const wrapperSpanColorClass = colorMatch ? ` design-system-icon-color-${colorMatch[1]}` : ''; - output.push( - `.. |${aliasName}| replace:: :raw-html:\`${svgContent}\`` - ); - } - - // create file - output.sort(); - const outputPath = path.resolve('./docs/rstIconReplacements.txt'); - fs.writeFile(outputPath, output.join('\n') + '\n', () => - consola.info(`Wrote rst icon replacement strings to ${outputPath}`) - ); -}); +extractApi.writeApi(); +extractEnvironment.writeEnvironment(); +extractRstIcons.writeRstIcons(); From 16546706061b5e8b818bdf25f2cf85b7f660677b Mon Sep 17 00:00:00 2001 From: Devon Rueckner Date: Tue, 20 Apr 2021 10:20:18 -0700 Subject: [PATCH 05/26] ktooltip docs --- docs/pages/ktooltip.vue | 15 +++++++++++++++ lib/KTooltip/index.vue | 11 ++++++----- 2 files changed, 21 insertions(+), 5 deletions(-) create mode 100644 docs/pages/ktooltip.vue diff --git a/docs/pages/ktooltip.vue b/docs/pages/ktooltip.vue new file mode 100644 index 000000000..725f39656 --- /dev/null +++ b/docs/pages/ktooltip.vue @@ -0,0 +1,15 @@ + + + + + + + diff --git a/lib/KTooltip/index.vue b/lib/KTooltip/index.vue index 23312b4b7..71368c70f 100644 --- a/lib/KTooltip/index.vue +++ b/lib/KTooltip/index.vue @@ -13,7 +13,7 @@ class="k-tooltip" :style="{ backgroundColor: $themeTokens.text, color: $themeTokens.textInverted }" > - + @@ -36,18 +36,19 @@ }, props: { /** - * String of ref which tooltip will be positioned relative to. + * Name of `ref` element within the parent's `$refs` object. Tooltip will be + * positioned relative to this element. */ reference: { type: String, required: true, }, /** - * Parent's refs object which should contain the reference. + * Parent's `$refs` object which should contain the named `reference`. */ refs: { type: Object, - default: () => {}, + required: true, }, /** * Whether or not tooltip is disabled @@ -57,7 +58,7 @@ default: false, }, /** - * Placement of tooltip relative to reference element. Supports any popper.js placement string + * Placement of tooltip relative to `reference`. Supports any _popper.js_ placement string */ placement: { type: String, From 2708fe42f2fb62fb82ff18dc67f31cc8d2676050 Mon Sep 17 00:00:00 2001 From: Devon Rueckner Date: Tue, 20 Apr 2021 11:22:31 -0700 Subject: [PATCH 06/26] upgrade vue-docgen-api package --- package.json | 4 +- yarn.lock | 680 ++++++++++++++++++++++++++++++--------------------- 2 files changed, 407 insertions(+), 277 deletions(-) diff --git a/package.json b/package.json index 637348b67..d086d2f15 100644 --- a/package.json +++ b/package.json @@ -57,9 +57,9 @@ "prismjs": "^1.15.0", "raw-loader": "0.5.1", "sass-loader": "^8.0.2", - "svgo": "^1.3.2", "svg-icon-inline-loader": "^3.1.0", - "vue-docgen-api": "^4.15.1", + "svgo": "^1.3.2", + "vue-docgen-api": "^4.38.1", "vue-jest": "^4.0.0-0", "vue-meta": "^2.3.2", "vue-prism-component": "^1.1.1", diff --git a/yarn.lock b/yarn.lock index 73556159f..ca6d304bd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -318,10 +318,10 @@ dependencies: "@babel/types" "^7.8.3" -"@babel/helper-validator-identifier@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.0.tgz#ad53562a7fc29b3b9a91bbf7d10397fd146346ed" - integrity sha512-6G8bQKjOh+of4PV/ThDm/rRqlU7+IGoJuofpagU5GlEl29Vv0RGqqt86ZGRV8ZuSOY3o+8yXl5y782SMcG7SHw== +"@babel/helper-validator-identifier@^7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed" + integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== "@babel/helper-validator-identifier@^7.9.5": version "7.9.5" @@ -370,10 +370,10 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.8.4.tgz#d1dbe64691d60358a974295fa53da074dd2ce8e8" integrity sha512-0fKu/QqildpXmPVaRBoXOlyBb3MC+J0A66x97qEfLOMkn3u6nfY5esWogQwi/K0BjASYy4DbnsEWnpNL6qT5Mw== -"@babel/parser@^7.6.0": - version "7.9.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.9.4.tgz#68a35e6b0319bbc014465be43828300113f2f2e8" - integrity sha512-bC49otXX6N0/VYhgOMh4gnP26E9xnDZK3TmbNpxYzzz9BQLBosQwfyOe9/cXUU3txYhTzLCbcqd5c8y/OmCjHA== +"@babel/parser@^7.12.0", "@babel/parser@^7.13.12", "@babel/parser@^7.13.9", "@babel/parser@^7.6.0": + version "7.13.16" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.13.16.tgz#0f18179b0448e6939b1f3f5c4c355a3a9bcdfd37" + integrity sha512-6bAg36mCwuqLO0hbR+z7PHuqWiCeP7Dzg73OpQwsAB1Eb8HnGEz5xYBzCfbu+YjoaJsJs+qheDxVAuqbt3ILEw== "@babel/parser@^7.8.6", "@babel/parser@^7.9.6": version "7.9.6" @@ -1118,6 +1118,14 @@ lodash "^4.17.13" to-fast-properties "^2.0.0" +"@babel/types@^7.12.0", "@babel/types@^7.13.0", "@babel/types@^7.13.12", "@babel/types@^7.6.1": + version "7.13.16" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.13.16.tgz#916120b858aa5655cfba84bd0f6021ff5bdb4e65" + integrity sha512-7enM8Wxhrl1hB1+k6+xO6RmxpNkaveRWkdpyii8DkrLWRgr0l3x29/SEuhTIkP+ynHsU/Hpjn8Evd/axv/ll6Q== + dependencies: + "@babel/helper-validator-identifier" "^7.12.11" + to-fast-properties "^2.0.0" + "@babel/types@^7.4.4", "@babel/types@^7.8.6", "@babel/types@^7.9.0", "@babel/types@^7.9.5", "@babel/types@^7.9.6": version "7.9.6" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.9.6.tgz#2c5502b427251e9de1bd2dff95add646d95cc9f7" @@ -1127,15 +1135,6 @@ lodash "^4.17.13" to-fast-properties "^2.0.0" -"@babel/types@^7.6.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.9.0.tgz#00b064c3df83ad32b2dbf5ff07312b15c7f1efb5" - integrity sha512-BS9JKfXkzzJl8RluW4JGknzpiUV7ZrvTayM6yfqLTVBEnFtyowVIOu6rqxRd5cVO6yGoWf4T8u8dgK9oB+GCng== - dependencies: - "@babel/helper-validator-identifier" "^7.9.0" - lodash "^4.17.13" - to-fast-properties "^2.0.0" - "@cnakazawa/watch@^1.0.3": version "1.0.4" resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" @@ -1595,11 +1594,6 @@ resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.7.0.tgz#9a06f4f137ee84d7df0460c1fdb1135ffa6c50fd" integrity sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow== -"@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/babel__core@^7.1.0": version "7.1.3" resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.3.tgz#e441ea7df63cd080dfcd02ab199e6d16a735fc30" @@ -1633,13 +1627,6 @@ dependencies: "@babel/types" "^7.3.0" -"@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" @@ -1806,6 +1793,55 @@ "@vue/babel-plugin-transform-vue-jsx" "^1.1.2" camelcase "^5.0.0" +"@vue/compiler-core@3.0.11": + version "3.0.11" + resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.0.11.tgz#5ef579e46d7b336b8735228758d1c2c505aae69a" + integrity sha512-6sFj6TBac1y2cWCvYCA8YzHJEbsVkX7zdRs/3yK/n1ilvRqcn983XvpBbnN3v4mZ1UiQycTvOiajJmOgN9EVgw== + dependencies: + "@babel/parser" "^7.12.0" + "@babel/types" "^7.12.0" + "@vue/shared" "3.0.11" + estree-walker "^2.0.1" + source-map "^0.6.1" + +"@vue/compiler-dom@3.0.11", "@vue/compiler-dom@^3.0.7": + version "3.0.11" + resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.0.11.tgz#b15fc1c909371fd671746020ba55b5dab4a730ee" + integrity sha512-+3xB50uGeY5Fv9eMKVJs2WSRULfgwaTJsy23OIltKgMrynnIj8hTYY2UL97HCoz78aDw1VDXdrBQ4qepWjnQcw== + dependencies: + "@vue/compiler-core" "3.0.11" + "@vue/shared" "3.0.11" + +"@vue/compiler-sfc@^3.0.7": + version "3.0.11" + resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.0.11.tgz#cd8ca2154b88967b521f5ad3b10f5f8b6b665679" + integrity sha512-7fNiZuCecRleiyVGUWNa6pn8fB2fnuJU+3AGjbjl7r1P5wBivfl02H4pG+2aJP5gh2u+0wXov1W38tfWOphsXw== + dependencies: + "@babel/parser" "^7.13.9" + "@babel/types" "^7.13.0" + "@vue/compiler-core" "3.0.11" + "@vue/compiler-dom" "3.0.11" + "@vue/compiler-ssr" "3.0.11" + "@vue/shared" "3.0.11" + consolidate "^0.16.0" + estree-walker "^2.0.1" + hash-sum "^2.0.0" + lru-cache "^5.1.1" + magic-string "^0.25.7" + merge-source-map "^1.1.0" + postcss "^8.1.10" + postcss-modules "^4.0.0" + postcss-selector-parser "^6.0.4" + source-map "^0.6.1" + +"@vue/compiler-ssr@3.0.11": + version "3.0.11" + resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.0.11.tgz#ac5a05fd1257412fa66079c823d8203b6a889a13" + integrity sha512-66yUGI8SGOpNvOcrQybRIhl2M03PJ+OrDPm78i7tvVln86MHTKhM3ERbALK26F7tXl0RkjX4sZpucCpiKs3MnA== + dependencies: + "@vue/compiler-dom" "3.0.11" + "@vue/shared" "3.0.11" + "@vue/component-compiler-utils@^2.4.0": version "2.6.0" resolved "https://registry.yarnpkg.com/@vue/component-compiler-utils/-/component-compiler-utils-2.6.0.tgz#aa46d2a6f7647440b0b8932434d22f12371e543b" @@ -1836,6 +1872,11 @@ source-map "~0.6.1" vue-template-es2015-compiler "^1.9.0" +"@vue/shared@3.0.11": + version "3.0.11" + resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.0.11.tgz#20d22dd0da7d358bb21c17f9bde8628152642c77" + integrity sha512-b+zB8A2so8eCE0JsxjL24J7vdGl8rzPQ09hZNhystm+KqSbKcAej1A+Hbva1rCMmTTqA+hFnUSDc5kouEo0JzA== + "@vue/test-utils@1.0.0-beta.25": version "1.0.0-beta.25" resolved "https://registry.yarnpkg.com/@vue/test-utils/-/test-utils-1.0.0-beta.25.tgz#4703076de3076bac42cdd242cd53e6fb8752ed8c" @@ -2040,13 +2081,6 @@ acorn-dynamic-import@^4.0.0: resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz#482210140582a36b83c3e342e1cfebcaa9240948" integrity sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw== -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-globals@^4.1.0: version "4.3.4" resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.4.tgz#9fa1926addc11c97308c4e66d7add0d40c3272e7" @@ -2072,16 +2106,11 @@ acorn-walk@^6.0.1, acorn-walk@^6.1.1: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" integrity sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA== -acorn@^3.0.4, acorn@^3.1.0: +acorn@^3.0.4: 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@^5.5.0, acorn@^5.5.3: version "5.7.3" resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" @@ -2092,6 +2121,11 @@ acorn@^6.0.1, acorn@^6.0.2, acorn@^6.0.7, acorn@^6.1.1, acorn@^6.2.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.0.tgz#b659d2ffbafa24baf5db1cdbb2c94a983ecd2784" integrity sha512-gac8OEcQ2Li1dxIEWGZzsp2BitJxwkwcOm0zHAJLcPJaVvm58FRnk6RkuLRpU1EujipU2ZFODv2P9DLMfnV8mw== +acorn@^7.1.1: + version "7.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + aggregate-error@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.0.1.tgz#db2fe7246e536f40d9b5442a39e117d7dd6a24e0" @@ -2120,15 +2154,6 @@ ajv@^6.1.0, ajv@^6.10.2, ajv@^6.5.5, ajv@^6.9.1: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -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, alphanum-sort@^1.0.1, alphanum-sort@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" @@ -2384,6 +2409,11 @@ asn1@~0.2.3: dependencies: safer-buffer "~2.1.0" +assert-never@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/assert-never/-/assert-never-1.2.1.tgz#11f0e363bf146205fb08193b5c7b90f4d1cf44fe" + integrity sha512-TaTivMB6pYI1kXwrFlEhLeGfOqoDNdTxjCdwRfFFkEA30Eu+k48W34nlok2EYWJfFFzqaEmichdNM7th6M5HNw== + assert-plus@1.0.0, assert-plus@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" @@ -2427,10 +2457,10 @@ ast-types@0.11.5: resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.11.5.tgz#9890825d660c03c28339f315e9fa0a360e31ec28" integrity sha512-oJjo+5e7/vEc2FBK8gUalV0pba4L3VdBIs2EKhOLHLcOd2FgQIVQN9xb0eZ9IjEWyAL7vq6fGJxOvVvdCHNyMw== -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.3: + version "0.13.3" + resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.13.3.tgz#50da3f28d17bdbc7969a3a2d83a0e4a72ae755a7" + integrity sha512-XTZ7xGML849LkQP86sWdQzfhwbt3YwIO6MqbX9mUNYY98VKaaVZP7YNNm70IpwecbkkxmfC5IYAzOQ/2p29zRA== astral-regex@^1.0.0: version "1.0.0" @@ -3319,6 +3349,13 @@ babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26 lodash "^4.17.4" to-fast-properties "^1.0.3" +babel-walk@3.0.0-canary-5: + version "3.0.0-canary-5" + resolved "https://registry.yarnpkg.com/babel-walk/-/babel-walk-3.0.0-canary-5.tgz#f66ecd7298357aee44955f235a6ef54219104b11" + integrity sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw== + dependencies: + "@babel/types" "^7.9.6" + babylon@^6.17.3, babylon@^6.18.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" @@ -3423,7 +3460,7 @@ block-stream@*: dependencies: inherits "~2.0.0" -bluebird@^3.1.1, bluebird@^3.5.5: +bluebird@^3.1.1, bluebird@^3.5.5, bluebird@^3.7.2: version "3.7.2" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== @@ -3826,6 +3863,14 @@ cacheable-request@^2.1.1: normalize-url "2.0.1" responselike "1.0.2" +call-bind@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + call-me-maybe@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" @@ -3880,11 +3925,6 @@ camelcase-keys@^4.0.0: map-obj "^2.0.0" quick-lru "^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" @@ -3952,14 +3992,6 @@ ccount@^1.0.0: resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.0.5.tgz#ac82a944905a65ce204eb03023157edf29425c17" integrity sha512-MOli1W+nfbPLlKEhInaxhRdp7KVLFxLN5ykwzHgLsLI3H3gs5jjFAK4Eoj3OzzcxCtumDaI8onoVDeQyWaNTkw== -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.0.0, chalk@^1.1.1, chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" @@ -4012,7 +4044,7 @@ character-entities@^1.0.0: resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.4.tgz#e12c3939b7eaf4e5b15e7ad4c5e28e1d48c5b16b" integrity sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw== -character-parser@^2.1.1: +character-parser@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/character-parser/-/character-parser-2.2.0.tgz#c7ce28f36d4bcd9744e5ffc2c5fcde1c73261fc0" integrity sha1-x84o821LzZdE5f/CxfzeHHMmH8A= @@ -4155,7 +4187,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.1: +clean-css@4.2.x, clean-css@^4.2.1: version "4.2.3" resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78" integrity sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA== @@ -4216,15 +4248,6 @@ clipboard@^2.0.0, clipboard@^2.0.1: 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" @@ -4405,6 +4428,11 @@ color@^3.0.0: color-convert "^1.9.1" color-string "^1.5.2" +colorette@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" + integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== + colormin@^1.0.5: version "1.1.2" resolved "https://registry.yarnpkg.com/colormin/-/colormin-1.1.2.tgz#ea2f7420a72b96881a38aae59ec124a6f7298133" @@ -4577,15 +4605,20 @@ 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== +consolidate@^0.16.0: + version "0.16.0" + resolved "https://registry.yarnpkg.com/consolidate/-/consolidate-0.16.0.tgz#a11864768930f2f19431660a65906668f5fbdc16" + integrity sha512-Nhl1wzCslqXYTJVDyJCu3ODohy9OfBMB5uD2BiBTzd7w+QY0lBzafkR8y8755yMYHAaMD4NuzbAw03/xzfw+eQ== dependencies: - "@types/babel-types" "^7.0.0" - "@types/babylon" "^6.16.2" - babel-types "^6.26.0" - babylon "^6.18.0" + bluebird "^3.7.2" + +constantinople@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/constantinople/-/constantinople-4.0.1.tgz#0def113fa0e4dc8de83331a5cf79c8b325213151" + integrity sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw== + dependencies: + "@babel/parser" "^7.6.0" + "@babel/types" "^7.6.1" constants-browserify@^1.0.0: version "1.0.0" @@ -4656,7 +4689,12 @@ core-js-compat@^3.6.2: browserslist "^4.8.3" semver "7.0.0" -core-js@^2.4.0, core-js@^2.4.1, core-js@^2.5.0, core-js@^2.6.5: +core-js@^2.4.0: + version "2.6.12" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" + integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== + +core-js@^2.4.1, core-js@^2.5.0, core-js@^2.6.5: version "2.6.11" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c" integrity sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg== @@ -5170,7 +5208,7 @@ decamelize-keys@^1.0.0: decamelize "^1.1.0" map-obj "^1.0.0" -decamelize@^1.0.0, decamelize@^1.1.0, decamelize@^1.1.1, decamelize@^1.1.2, decamelize@^1.2.0: +decamelize@^1.1.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= @@ -5940,6 +5978,11 @@ estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== +estree-walker@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" + integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== + esutils@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" @@ -6622,6 +6665,13 @@ gaze@^1.0.0: dependencies: globule "^1.0.0" +generic-names@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/generic-names/-/generic-names-2.0.1.tgz#f8a378ead2ccaa7a34f0317b05554832ae41b872" + integrity sha512-kPCHWa1m9wGG/OwQpeweTwM/PYiQLrUIxXbt/P4Nic3LbGjCP0YwrALHW1uNLKZ0LIMg+RF+XRlj2ekT9ZlZAQ== + dependencies: + loader-utils "^1.1.0" + gensync@^1.0.0-beta.1: version "1.0.0-beta.1" resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" @@ -6637,6 +6687,15 @@ get-caller-file@^2.0.1: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== +get-intrinsic@^1.0.2: + version "1.1.1" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" + integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + get-stdin@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" @@ -7418,6 +7477,11 @@ icss-utils@^4.0.0, icss-utils@^4.1.1: dependencies: postcss "^7.0.14" +icss-utils@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" + integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== + ieee754@^1.1.4: version "1.1.13" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" @@ -7814,6 +7878,13 @@ is-color-stop@^1.0.0: rgb-regex "^1.0.1" rgba-regex "^1.0.0" +is-core-module@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a" + integrity sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ== + dependencies: + has "^1.0.3" + is-data-descriptor@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" @@ -7873,13 +7944,13 @@ is-equal-shallow@^0.1.3: dependencies: is-primitive "^2.0.0" -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= +is-expression@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-expression/-/is-expression-4.0.0.tgz#c33155962abf21d0afd2552514d67d2ec16fd2ab" + integrity sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A== dependencies: - acorn "~4.0.2" - object-assign "^4.0.1" + acorn "^7.1.1" + object-assign "^4.1.1" is-extendable@^0.1.0, is-extendable@^0.1.1: version "0.1.1" @@ -8050,12 +8121,25 @@ is-primitive@^2.0.0: resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" integrity sha1-IHurkWOEmcB7Kt8kCkGochADRXU= -is-promise@^2.0.0, is-promise@^2.1.0: +is-promise@^2.0.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" + integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== + +is-promise@^2.1.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.5: +is-regex@^1.0.3: + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.2.tgz#81c8ebde4db142f2cf1c53fc86d6a45788266251" + integrity sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg== + dependencies: + call-bind "^1.0.2" + has-symbols "^1.0.1" + +is-regex@^1.0.4, is-regex@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.5.tgz#39d589a358bf18967f726967120b8fc1aed74eae" integrity sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ== @@ -8669,7 +8753,7 @@ js-cookie@^2.1.2: resolved "https://registry.yarnpkg.com/js-cookie/-/js-cookie-2.2.1.tgz#69e106dc5d5806894562902aa5baec3744e9b2b8" integrity sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ== -js-stringify@^1.0.1: +js-stringify@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/js-stringify/-/js-stringify-1.0.2.tgz#1736fddfd9724f28a3682adc6230ae7e4e9679db" integrity sha1-Fzb939lyTyijaCrcYjCufk6Weds= @@ -9126,11 +9210,6 @@ launch-editor@^2.2.1: chalk "^2.3.0" shell-quote "^1.6.1" -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" @@ -9420,11 +9499,16 @@ lodash@3.7.x: resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.7.0.tgz#3678bd8ab995057c07ade836ed2ef087da811d45" integrity sha1-Nni9irmVBXwHreg27S7wh9qBHUU= -lodash@^4.0.0, lodash@^4.13.1, lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.3.0, lodash@~4.17.10: +lodash@^4.0.0, lodash@^4.13.1, lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.5, lodash@^4.3.0, 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== +lodash@^4.17.13, lodash@^4.17.4: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + log-symbols@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18" @@ -9458,11 +9542,6 @@ longest-streak@^2.0.1: resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.4.tgz#b8599957da5b5dab64dee3fe316fa774597d90e4" integrity sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg== -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" @@ -9520,6 +9599,13 @@ magic-string@^0.25.3: dependencies: sourcemap-codec "^1.4.4" +magic-string@^0.25.7: + version "0.25.7" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" + integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== + dependencies: + sourcemap-codec "^1.4.4" + make-dir@^1.0.0, make-dir@^1.1.0: version "1.3.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" @@ -10141,6 +10227,11 @@ nan@^2.12.1, nan@^2.13.2: resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== +nanoid@^3.1.22: + version "3.1.22" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.22.tgz#b35f8fb7d151990a8aebd5aa5015c03cf726f844" + integrity sha512-/2ZUaJX2ANuLtTvqTlgqBQNJoQO398KyJgZloL0PZkC0dpysjncRUPsFe3DUPzz/y3h+u7C46np8RMuvF3jsSQ== + nanomatch@^1.2.9: version "1.2.13" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" @@ -11677,6 +11768,11 @@ postcss-modules-extract-imports@^2.0.0: dependencies: postcss "^7.0.5" +postcss-modules-extract-imports@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" + integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== + postcss-modules-local-by-default@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz#f7d80c398c5a393fa7964466bd19500a7d61c069" @@ -11695,6 +11791,15 @@ postcss-modules-local-by-default@^3.0.2: postcss-selector-parser "^6.0.2" postcss-value-parser "^4.0.0" +postcss-modules-local-by-default@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz#ebbb54fae1598eecfdf691a02b3ff3b390a5a51c" + integrity sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ== + dependencies: + icss-utils "^5.0.0" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.1.0" + postcss-modules-scope@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz#d6ea64994c79f97b62a72b426fbe6056a194bb90" @@ -11711,6 +11816,13 @@ postcss-modules-scope@^2.1.1: postcss "^7.0.6" postcss-selector-parser "^6.0.0" +postcss-modules-scope@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz#9ef3151456d3bbfa120ca44898dfca6f2fa01f06" + integrity sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg== + dependencies: + postcss-selector-parser "^6.0.4" + postcss-modules-values@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz#ecffa9d7e192518389f42ad0e83f72aec456ea20" @@ -11727,6 +11839,27 @@ postcss-modules-values@^3.0.0: icss-utils "^4.0.0" postcss "^7.0.6" +postcss-modules-values@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" + integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== + dependencies: + icss-utils "^5.0.0" + +postcss-modules@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules/-/postcss-modules-4.0.0.tgz#2bc7f276ab88f3f1b0fadf6cbd7772d43b5f3b9b" + integrity sha512-ghS/ovDzDqARm4Zj6L2ntadjyQMoyJmi0JkLlYtH2QFLrvNlxH5OAVRPWPeKilB0pY7SbuhO173KOWkPAxRJcw== + dependencies: + generic-names "^2.0.1" + icss-replace-symbols "^1.1.0" + lodash.camelcase "^4.3.0" + postcss-modules-extract-imports "^3.0.0" + postcss-modules-local-by-default "^4.0.0" + postcss-modules-scope "^3.0.0" + postcss-modules-values "^4.0.0" + string-hash "^1.1.1" + postcss-nesting@^7.0.0: version "7.0.1" resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-7.0.1.tgz#b50ad7b7f0173e5b5e3880c3501344703e04c052" @@ -12062,6 +12195,14 @@ postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: indexes-of "^1.0.1" uniq "^1.0.1" +postcss-selector-parser@^6.0.4: + version "6.0.5" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.5.tgz#042d74e137db83e6f294712096cb413f5aa612c4" + integrity sha512-aFYPoYmXbZ1V6HZaSvat08M97A8HqO6Pjz+PiNpw/DhuRrC72XWAdp3hL6wusDCN31sSmcZyMGa2hZEuX+Xfhg== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + postcss-sorting@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/postcss-sorting/-/postcss-sorting-5.0.1.tgz#10d5d0059eea8334dacc820c0121864035bc3f11" @@ -12134,6 +12275,11 @@ postcss-value-parser@^4.0.0, postcss-value-parser@^4.0.2: resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz#482282c09a42706d1fc9a069b73f44ec08391dc9" integrity sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ== +postcss-value-parser@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" + integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== + postcss-values-parser@^2.0.0, postcss-values-parser@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz#da8b472d901da1e205b47bdc98637b9e9e550e5f" @@ -12180,6 +12326,15 @@ postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.13, postcss@^7.0.14, postcss@^7.0.1 source-map "^0.6.1" supports-color "^6.1.0" +postcss@^8.1.10: + version "8.2.10" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.10.tgz#ca7a042aa8aff494b334d0ff3e9e77079f6f702b" + integrity sha512-b/h7CPV7QEdrqIxtAf2j31U5ef05uBDuvoXv6L51Q4rcS1jdlXAVKJv+atCFdUXYl9dyTHGyoMzIepwowRJjFw== + dependencies: + colorette "^1.2.2" + nanoid "^3.1.22" + source-map "^0.6.1" + prelude-ls@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" @@ -12348,110 +12503,108 @@ 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== +pug-attrs@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pug-attrs/-/pug-attrs-3.0.0.tgz#b10451e0348165e31fad1cc23ebddd9dc7347c41" + integrity sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA== dependencies: - constantinople "^3.0.1" - js-stringify "^1.0.1" - pug-runtime "^2.0.5" + constantinople "^4.0.1" + js-stringify "^1.0.2" + pug-runtime "^3.0.0" -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== +pug-code-gen@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/pug-code-gen/-/pug-code-gen-3.0.2.tgz#ad190f4943133bf186b60b80de483100e132e2ce" + integrity sha512-nJMhW16MbiGRiyR4miDTQMRWDgKplnHyeLvioEJYbk1RsPI3FuA3saEP8uwnTb2nTJEKBU90NFVWJBk4OU5qyg== dependencies: - constantinople "^3.1.2" + constantinople "^4.0.1" 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== + js-stringify "^1.0.2" + pug-attrs "^3.0.0" + pug-error "^2.0.0" + pug-runtime "^3.0.0" + void-elements "^3.1.0" + with "^7.0.0" + +pug-error@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pug-error/-/pug-error-2.0.0.tgz#5c62173cb09c34de2a2ce04f17b8adfec74d8ca5" + integrity sha512-sjiUsi9M4RAGHktC1drQfCr5C5eriu24Lfbt4s+7SykztEOwVZtbFk1RRq0tzLxcMxMYTBR+zMQaG07J/btayQ== -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== +pug-filters@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/pug-filters/-/pug-filters-4.0.0.tgz#d3e49af5ba8472e9b7a66d980e707ce9d2cc9b5e" + integrity sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A== dependencies: - clean-css "^4.1.11" - constantinople "^3.0.1" + constantinople "^4.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-error "^2.0.0" + pug-walk "^2.0.0" + resolve "^1.15.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== +pug-lexer@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/pug-lexer/-/pug-lexer-5.0.1.tgz#ae44628c5bef9b190b665683b288ca9024b8b0d5" + integrity sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w== dependencies: - character-parser "^2.1.1" - is-expression "^3.0.0" - pug-error "^1.3.3" + character-parser "^2.2.0" + is-expression "^4.0.0" + pug-error "^2.0.0" -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== +pug-linker@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/pug-linker/-/pug-linker-4.0.0.tgz#12cbc0594fc5a3e06b9fc59e6f93c146962a7708" + integrity sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw== dependencies: - pug-error "^1.3.3" - pug-walk "^1.1.8" + pug-error "^2.0.0" + pug-walk "^2.0.0" -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== +pug-load@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pug-load/-/pug-load-3.0.0.tgz#9fd9cda52202b08adb11d25681fb9f34bd41b662" + integrity sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ== dependencies: - object-assign "^4.1.0" - pug-walk "^1.1.8" + object-assign "^4.1.1" + pug-walk "^2.0.0" -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== +pug-parser@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/pug-parser/-/pug-parser-6.0.0.tgz#a8fdc035863a95b2c1dc5ebf4ecf80b4e76a1260" + integrity sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw== dependencies: - pug-error "^1.3.3" - token-stream "0.0.1" + pug-error "^2.0.0" + token-stream "1.0.0" -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-runtime@^3.0.0, pug-runtime@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/pug-runtime/-/pug-runtime-3.0.1.tgz#f636976204723f35a8c5f6fad6acda2a191b83d7" + integrity sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg== -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== +pug-strip-comments@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pug-strip-comments/-/pug-strip-comments-2.0.0.tgz#f94b07fd6b495523330f490a7f554b4ff876303e" + integrity sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ== dependencies: - pug-error "^1.3.3" + pug-error "^2.0.0" -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-walk@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pug-walk/-/pug-walk-2.0.0.tgz#417aabc29232bb4499b5b5069a2b2d2a24d5f5fe" + integrity sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ== -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" +pug@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/pug/-/pug-3.0.2.tgz#f35c7107343454e43bc27ae0ff76c731b78ea535" + integrity sha512-bp0I/hiK1D1vChHh6EfDxtndHji55XP/ZJKwsRqrz6lRia6ZC2OZbdAymlxdVFwd1L70ebrVJw4/eZ79skrIaw== + dependencies: + pug-code-gen "^3.0.2" + pug-filters "^4.0.0" + pug-lexer "^5.0.1" + pug-linker "^4.0.0" + pug-load "^3.0.0" + pug-parser "^6.0.0" + pug-runtime "^3.0.1" + pug-strip-comments "^2.0.0" pump@^2.0.0: version "2.0.1" @@ -12736,6 +12889,16 @@ realpath-native@^1.1.0: dependencies: util.promisify "^1.0.0" +recast@0.19.1: + version "0.19.1" + resolved "https://registry.yarnpkg.com/recast/-/recast-0.19.1.tgz#555f3612a5a10c9f44b9a923875c51ff775de6c8" + integrity sha512-8FCjrBxjeEU2O6I+2hyHyBFH1siJbMBLwIRvVr1T3FD2cL754sOaJDsJ/8h3xYltasbJ8jqWRIhMuDGBSiSbjw== + dependencies: + ast-types "0.13.3" + esprima "~4.0.0" + private "^0.1.8" + source-map "~0.6.1" + recast@^0.12.5: version "0.12.9" resolved "https://registry.yarnpkg.com/recast/-/recast-0.12.9.tgz#e8e52bdb9691af462ccbd7c15d5a5113647a15f1" @@ -12757,16 +12920,6 @@ recast@^0.15.0: private "~0.1.5" source-map "~0.6.1" -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" - rechoir@^0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" @@ -13165,13 +13318,21 @@ resolve@1.1.7: resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= -resolve@1.x, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.2.0, resolve@^1.3.2, resolve@^1.7.1, resolve@^1.8.1: +resolve@1.x, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.2.0, resolve@^1.3.2, resolve@^1.7.1, resolve@^1.8.1: version "1.15.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.15.1.tgz#27bdcdeffeaf2d6244b95bb0f9f4b4653451f3e8" integrity sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w== dependencies: path-parse "^1.0.6" +resolve@^1.1.6, resolve@^1.15.1: + version "1.20.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" + integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + responselike@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" @@ -13224,13 +13385,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.2.8, rimraf@^2.5.4, rimraf@^2.6.2, rimraf@^2.6.3, rimraf@^2.7.1: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" @@ -13808,7 +13962,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.7, source-map@~0.5.1: +source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= @@ -14013,7 +14167,7 @@ strict-uri-encode@^1.0.0: resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= -string-hash@^1.1.3: +string-hash@^1.1.1, string-hash@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b" integrity sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs= @@ -14732,10 +14886,10 @@ 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= +token-stream@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/token-stream/-/token-stream-1.0.0.tgz#cc200eab2613f4166d27ff9afc7ca56d49df6eb4" + integrity sha1-zCAOqyYT9BZtJ/+a/HylbUnfbrQ= toposort@^1.0.0: version "1.0.7" @@ -14894,16 +15048,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-js@^3.5.1: version "3.7.7" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.7.7.tgz#21e52c7dccda80a53bf7cde69628a7e511aec9c9" @@ -14912,11 +15056,6 @@ uglify-js@^3.5.1: commander "~2.20.3" source-map "~0.6.1" -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= - underscore@~1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.6.0.tgz#8b38b10cacdef63337b8b24e4ff86d45aea529a8" @@ -15176,7 +15315,7 @@ uslug@^1.0.4: dependencies: unorm ">= 1.0.0" -util-deprecate@^1.0.1, util-deprecate@~1.0.1: +util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= @@ -15339,10 +15478,10 @@ vm-browserify@^1.0.1: resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== -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= +void-elements@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-3.1.0.tgz#614f7fbf8d801f0bb5f0661f5b2f5785750e4f09" + integrity sha1-YU9/v42AHwu18GYfWy9XhXUOTwk= vue-client-only@^2.0.0: version "2.0.0" @@ -15350,19 +15489,21 @@ vue-client-only@^2.0.0: integrity sha512-arhk1wtWAfLsJyxGMoEYhoBowM87/i6HLSG2LH/03Yog6i2d9JEN1peMP0Ceis+/n9DxdenGYZZTxbPPJyHciA== vue-docgen-api@^4.15.1: - version "4.15.1" - resolved "https://registry.yarnpkg.com/vue-docgen-api/-/vue-docgen-api-4.15.1.tgz#c5043eaade84e19cf9b6969b0a073deeb4c6a3e8" - integrity sha512-VAwv9lCD8IOw6mkN+4wTzFCoC1eJJF2MhgqDhrSIU4IT9ooZvDjifPigY/J/YlfWC9f2bKzxW9G/UsgXaJ6/ug== - dependencies: - "@babel/parser" "^7.6.0" - "@babel/types" "^7.6.0" - ast-types "^0.12.2" + version "4.38.1" + resolved "https://registry.yarnpkg.com/vue-docgen-api/-/vue-docgen-api-4.38.1.tgz#362422c8ab16f007e712744b3a7d2ed16c3230f5" + integrity sha512-w5mM5Vppw+7ucN4HjwLLdqiZee5k7cEVGARGKgBdxRmpr88MUrLlYhUNLiYVhsTLFh0WNpfHAW8qW0lOTE8TXQ== + dependencies: + "@babel/parser" "^7.13.12" + "@babel/types" "^7.13.12" + "@vue/compiler-dom" "^3.0.7" + "@vue/compiler-sfc" "^3.0.7" + ast-types "0.13.3" hash-sum "^1.0.2" lru-cache "^4.1.5" - pug "^2.0.3" - recast "^0.17.3" + pug "^3.0.2" + recast "0.19.1" ts-map "^1.0.3" - vue-template-compiler "^2.0.0" + vue-inbrowser-compiler-utils "^4.37.0" vue-eslint-parser@^5.0.0: version "5.0.0" @@ -15381,6 +15522,13 @@ vue-hot-reload-api@^2.3.0: resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz#532955cc1eb208a3d990b3a9f9a70574657e08f2" integrity sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog== +vue-inbrowser-compiler-utils@^4.37.0: + version "4.37.0" + resolved "https://registry.yarnpkg.com/vue-inbrowser-compiler-utils/-/vue-inbrowser-compiler-utils-4.37.0.tgz#d93ffa85c3fcc7466d4e07dce41b9155e65ac101" + integrity sha512-Zm2jpBSNnsuOOny6717MzEjZz6Z28/W+nFeYT4EJR0b/T2GLBGYOoSvoTvczxfc430gpQfzY6hYwOJMs68+qOQ== + dependencies: + camelcase "^5.3.1" + vue-intl@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/vue-intl/-/vue-intl-3.0.0.tgz#821cca8d97d7d9451cc2644eb72bf396741c6231" @@ -15527,7 +15675,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.5.17, vue-template-compiler@^2.6.11, vue-template-compiler@~2.6.10: +vue-template-compiler@^2.5.17, vue-template-compiler@^2.6.11, vue-template-compiler@~2.6.10: version "2.6.11" resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.6.11.tgz#c04704ef8f498b153130018993e56309d4698080" integrity sha512-KIq15bvQDrcCjpGjrAhx4mUlyyHfdmTaoNfeoATHLAiWB+MU3cx4lOzMwrnUh9cCxy0Lt1T11hAFY6TQgroUAA== @@ -15914,29 +16062,21 @@ widest-line@^3.1.0: dependencies: string-width "^4.0.0" -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= +with@^7.0.0: + version "7.0.2" + resolved "https://registry.yarnpkg.com/with/-/with-7.0.2.tgz#ccee3ad542d25538a7a7a80aad212b9828495bac" + integrity sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w== dependencies: - acorn "^3.1.0" - acorn-globals "^3.0.0" + "@babel/parser" "^7.9.6" + "@babel/types" "^7.9.6" + assert-never "^1.2.1" + babel-walk "3.0.0-canary-5" word-wrap@~1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== -wordwrap@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" - integrity sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8= - worker-farm@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" @@ -16231,16 +16371,6 @@ yargs@~1.2.6: dependencies: minimist "^0.1.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" - yeoman-environment@^2.0.5, yeoman-environment@^2.1.1: version "2.7.0" resolved "https://registry.yarnpkg.com/yeoman-environment/-/yeoman-environment-2.7.0.tgz#d1b6679de883ce14a68b869c4b19d55a0d66f477" From e56a780c9dab7c92c988982daa1b90d4d2b4d358 Mon Sep 17 00:00:00 2001 From: Devon Rueckner Date: Tue, 20 Apr 2021 11:20:07 -0700 Subject: [PATCH 07/26] textboxes and text fields --- docs/pages/ktextbox.vue | 16 +++++++ docs/pages/ktextfield.vue | 80 --------------------------------- docs/pages/textfields/index.vue | 3 ++ docs/tableOfContents.js | 8 ++-- lib/KTextbox/index.vue | 66 ++++++++++++++++----------- 5 files changed, 64 insertions(+), 109 deletions(-) create mode 100644 docs/pages/ktextbox.vue delete mode 100644 docs/pages/ktextfield.vue diff --git a/docs/pages/ktextbox.vue b/docs/pages/ktextbox.vue new file mode 100644 index 000000000..04bedb170 --- /dev/null +++ b/docs/pages/ktextbox.vue @@ -0,0 +1,16 @@ + + + + diff --git a/docs/pages/ktextfield.vue b/docs/pages/ktextfield.vue deleted file mode 100644 index 9a3f1a736..000000000 --- a/docs/pages/ktextfield.vue +++ /dev/null @@ -1,80 +0,0 @@ - - - - diff --git a/docs/pages/textfields/index.vue b/docs/pages/textfields/index.vue index 021cdfafc..e980d0a72 100644 --- a/docs/pages/textfields/index.vue +++ b/docs/pages/textfields/index.vue @@ -6,6 +6,9 @@

Text fields allow users to enter or edit text within forms and modals. They also support multiple text formats including email and numbers. Additionally, they can trigger the appearance of dropdown menus.

+

+ You can use the component to implement text fields. +

diff --git a/docs/tableOfContents.js b/docs/tableOfContents.js index 9409affd9..e5bec81da 100644 --- a/docs/tableOfContents.js +++ b/docs/tableOfContents.js @@ -56,6 +56,7 @@ class Page { /***********************************************/ const buttonRelatedItems = ['button', 'link']; +const textRelatedItems = ['text', 'area', 'field', 'box']; export default [ new Section({ @@ -149,6 +150,7 @@ export default [ new Page({ path: '/textfields', title: 'Text fields', + keywords: textRelatedItems, }), ], }), @@ -302,10 +304,10 @@ export default [ disabled: true, }), new Page({ - path: '/ktextfield', - title: 'KTextfield', + path: '/ktextbox', + title: 'KTextbox', isCode: true, - disabled: true, + keywords: textRelatedItems, }), ], }), diff --git a/lib/KTextbox/index.vue b/lib/KTextbox/index.vue index 301d2141f..967c91997 100644 --- a/lib/KTextbox/index.vue +++ b/lib/KTextbox/index.vue @@ -22,8 +22,8 @@ :rows="3" @input="updateText" @keydown="emitKeydown" - @focus="$emit('focus')" - @blur="$emit('blur')" + @focus="emitFocus" + @blur="emitBlur" /> @@ -43,35 +43,28 @@ inheritAttrs: true, props: { /** - * v-model - */ - value: { - type: [String, Number], - default: null, - }, - /** - * Label + * Label for the text field */ label: { type: String, required: true, }, /** - * Whether or not disabled + * Value of the text field */ - disabled: { - type: Boolean, - default: false, + value: { + type: [String, Number], + default: null, }, /** - * Whether or not input is invalid + * Whether or not the current `value` is invalid */ invalid: { type: Boolean, default: false, }, /** - * Text displayed when the user is notified of invalid input + * Text conditionally displayed based on values of `invalid` and `showInvalidText` */ invalidText: { type: String, @@ -85,6 +78,13 @@ type: Boolean, default: false, }, + /** + * Whether or not the field is disabled + */ + disabled: { + type: Boolean, + default: false, + }, /** * Whether or not to autofocus */ @@ -93,7 +93,7 @@ default: false, }, /** - * Max allowed length of input + * Maximum number of characters for `value` */ maxlength: { type: Number, @@ -114,28 +114,28 @@ default: null, }, /** - * HTML5 type of input (text, password, number, etc.) + * HTML5 type of input (`text`, `password`, `number`, etc.) */ type: { type: String, default: 'text', }, /** - * Minimum value, used when type is 'number' + * Minimum value (when `value` type is `number`) */ min: { type: Number, default: null, }, /** - * Maximum value, used when type is 'number' + * Maximum value (when `value` type is `number`) */ max: { type: Number, default: null, }, /** - * Display as text area. + * Whether to display as a multi-line text area */ textArea: { type: Boolean, @@ -169,27 +169,41 @@ }, methods: { updateText() { - // v-model is just a :value + @input /** - * Emits input event with new value + * @private + * Emitted on each change with new `value` */ this.$emit('input', this.currentText); }, /** - * @public + * @private + * Resets text field value to default. + * Unclear if this is used anywhere */ reset() { this.$refs.textbox.reset(); }, emitKeydown(e) { /** - * Emits keydown event + * Emitted with `keydown` events */ this.$emit('keydown', e); }, + emitBlur(e) { + /** + * Emitted with `blur` events + */ + this.$emit('blur', e); + }, + emitFocus(e) { + /** + * Emitted with `focus` events + */ + this.$emit('focus', e); + }, /** * @public - * Focuses on the textbox + * Puts keyboard focus in the text field */ focus() { this.changedOrFocused = true; From 2dff86c7fd7c90a733873ad0e44e8fdf28c7b3bf Mon Sep 17 00:00:00 2001 From: Devon Rueckner Date: Tue, 20 Apr 2021 12:15:22 -0700 Subject: [PATCH 08/26] updates to ignored and deprecated props --- .../DocsPageTemplate/jsdocs/PropsTable.vue | 20 ++++++++++++++++++- lib/KIcon/index.vue | 4 ++-- lib/KTextbox/index.vue | 10 ++++++---- lib/buttons-and-links/KButton.vue | 4 ++-- 4 files changed, 29 insertions(+), 9 deletions(-) diff --git a/docs/common/DocsPageTemplate/jsdocs/PropsTable.vue b/docs/common/DocsPageTemplate/jsdocs/PropsTable.vue index a6678aa74..5d775fedd 100644 --- a/docs/common/DocsPageTemplate/jsdocs/PropsTable.vue +++ b/docs/common/DocsPageTemplate/jsdocs/PropsTable.vue @@ -13,7 +13,7 @@ - + {{ prop.name }} @@ -50,6 +50,24 @@ required: true, }, }, + computed: { + publicApi() { + /* parses items from jsdocs.js + * refs: + * - https://vue-styleguidist.github.io/docs/Documenting.html#ignoring-props + * - https://vue-styleguidist.github.io/docs/Documenting.html#available-tags + */ + return this.api.filter(docItem => { + if (!docItem['tags']) { + return true; + } + if (docItem['tags']['ignore'] || docItem['tags']['deprecated']) { + return false; + } + return true; + }); + }, + }, }; diff --git a/lib/KIcon/index.vue b/lib/KIcon/index.vue index 8199c1b1d..ed0d92118 100644 --- a/lib/KIcon/index.vue +++ b/lib/KIcon/index.vue @@ -40,9 +40,9 @@ default: null, }, /** - * @private + * @ignore * Don't apply automatic fill, allowing external styling. - * Currently used by the design system itself; private until we see a broader need. + * Currently used by the design system itself. Not exposed until we see a broader need */ disableColor: { type: Boolean, diff --git a/lib/KTextbox/index.vue b/lib/KTextbox/index.vue index 967c91997..7c060a025 100644 --- a/lib/KTextbox/index.vue +++ b/lib/KTextbox/index.vue @@ -142,8 +142,9 @@ default: false, }, /** - * @private - * Whether or not to display as a floating label + * @ignore + * Whether or not to display as a floating label. + * This should not actually be used */ floatingLabel: { type: Boolean, @@ -170,7 +171,6 @@ methods: { updateText() { /** - * @private * Emitted on each change with new `value` */ this.$emit('input', this.currentText); @@ -178,11 +178,13 @@ /** * @private * Resets text field value to default. - * Unclear if this is used anywhere + * Unclear if this is used anywhere. */ + /* eslint-disable kolibri/vue-no-unused-methods */ reset() { this.$refs.textbox.reset(); }, + /* eslint-enable kolibri/vue-no-unused-methods */ emitKeydown(e) { /** * Emitted with `keydown` events diff --git a/lib/buttons-and-links/KButton.vue b/lib/buttons-and-links/KButton.vue index 156f82fba..70d2bca71 100644 --- a/lib/buttons-and-links/KButton.vue +++ b/lib/buttons-and-links/KButton.vue @@ -86,8 +86,8 @@ default: 'button', }, /** - * @private - * Adds a dropdown arrow + * @ignore + * Adds a dropdown arrow - internal use only */ hasDropdown: { type: Boolean, From 91c16b7252c8295823ae22c2ec005b5600cb06ba Mon Sep 17 00:00:00 2001 From: Devon Rueckner Date: Tue, 20 Apr 2021 16:04:27 -0700 Subject: [PATCH 09/26] table formatting --- docs/common/DocsPageTemplate/index.vue | 1 + docs/pages/glossary/index.vue | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/common/DocsPageTemplate/index.vue b/docs/common/DocsPageTemplate/index.vue index 888766327..fd9fb915d 100644 --- a/docs/common/DocsPageTemplate/index.vue +++ b/docs/common/DocsPageTemplate/index.vue @@ -24,6 +24,7 @@ :key="i" :title="section.title" :anchor="section.anchor" + fullwidth > diff --git a/docs/pages/glossary/index.vue b/docs/pages/glossary/index.vue index 2a3babc43..30baf2096 100644 --- a/docs/pages/glossary/index.vue +++ b/docs/pages/glossary/index.vue @@ -16,7 +16,7 @@ - From 0ec8b531bbaed858b762ae4d1bc8aa232570426c Mon Sep 17 00:00:00 2001 From: Devon Rueckner Date: Tue, 20 Apr 2021 16:49:15 -0700 Subject: [PATCH 10/26] add support for ignored events --- README.md | 2 +- docs/common/DocsPageTemplate/jsdocs/EventsTable.vue | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7f60e89dc..3bfe569e4 100644 --- a/README.md +++ b/README.md @@ -142,7 +142,7 @@ The `DocsPageTemplate` component takes an optional Boolean prop called `apiDocs` To make updates to this content, modify the library component directly. We support a combination of Markdown and JSDocs inside the components. -JSDocs functionality is provided by the [`vue-docgen-api`](https://www.npmjs.com/package/vue-docgen-api) package. For more information, see [Documenting components](https://vue-styleguidist.github.io/docs/Documenting.html) +JSDocs functionality is primarily provided by the [`vue-docgen-api`](https://www.npmjs.com/package/vue-docgen-api) package. For more information, see [Documenting components](https://vue-styleguidist.github.io/docs/Documenting.html). Note that we leverage a specific subset of the functionality described there. Documenting this is an [open issue](https://github.com/learningequality/kolibri-design-system/issues/222). ### Adding dependencies diff --git a/docs/common/DocsPageTemplate/jsdocs/EventsTable.vue b/docs/common/DocsPageTemplate/jsdocs/EventsTable.vue index 9c677f277..2ac8546d0 100644 --- a/docs/common/DocsPageTemplate/jsdocs/EventsTable.vue +++ b/docs/common/DocsPageTemplate/jsdocs/EventsTable.vue @@ -10,7 +10,7 @@ - +
+ Term Part of speech
{{ event.name }} @@ -36,6 +36,16 @@ required: true, }, }, + computed: { + publicApi() { + return this.api.filter(docItem => { + if (!docItem['tags']) { + return true; + } + return !docItem['tags'].some(tagObj => tagObj['title'] === 'ignore'); + }); + }, + }, }; From f8b18d55d9042e218ec3e9bb89ecc2e9ffefdcf4 Mon Sep 17 00:00:00 2001 From: Devon Rueckner Date: Tue, 20 Apr 2021 20:03:43 -0700 Subject: [PATCH 11/26] add docs --- docs/pages/kswitch.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/pages/kswitch.vue b/docs/pages/kswitch.vue index 514540f3a..e00313b63 100644 --- a/docs/pages/kswitch.vue +++ b/docs/pages/kswitch.vue @@ -1,6 +1,6 @@