From edf24043b0e1687da4a949f93c289a3b93d52822 Mon Sep 17 00:00:00 2001 From: Ville Fokke Saarivaara Date: Sun, 7 Mar 2021 21:37:19 +0200 Subject: [PATCH 01/15] Cleanup --- src/bartender.js | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/bartender.js b/src/bartender.js index 31ac72b..354310f 100644 --- a/src/bartender.js +++ b/src/bartender.js @@ -216,23 +216,22 @@ class Bartender { */ init () { try { - // Find and validate required elements + // Main wrap this.mainWrap = document.querySelector(this.options.mainWrapSelector) if (!this.mainWrap) throw 'Main wrap element was not found with selector: ' + this.options.mainWrapSelector + this.mainWrap.classList.add('bartender-main') + // Content wrap this.contentWrap = this.mainWrap.querySelector(this.options.contentWrapSelector) if (!this.contentWrap) throw 'Content wrap element was not found with selector: ' + this.options.contentWrapSelector + this.contentWrap.classList.add('bartender-content') + this.contentWrap.setAttribute('tabindex', '-1') // Find buttons this.openButtons = this.mainWrap.querySelectorAll('[data-bartender-open]') this.closeButtons = this.mainWrap.querySelectorAll('[data-bartender-close]') this.toggleButtons = this.mainWrap.querySelectorAll('[data-bartender-toggle]') - // Add classes - this.mainWrap.classList.add('bartender-main') - this.contentWrap.classList.add('bartender-content') - this.contentWrap.setAttribute('tabindex', '-1') - // Find bars const bars = this.mainWrap.querySelectorAll('[data-bartender-bar]') From 7b2bdbbd1710174f3bb153ddec727b422da009fd Mon Sep 17 00:00:00 2001 From: Ville Fokke Saarivaara Date: Sat, 14 Aug 2021 13:56:54 +0300 Subject: [PATCH 02/15] Run build tasks before starting dev server --- gulpfile.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gulpfile.js b/gulpfile.js index 6955f03..abea216 100755 --- a/gulpfile.js +++ b/gulpfile.js @@ -175,4 +175,4 @@ exports.js = js exports.jsModule = jsModule exports.jsCompat = jsCompat exports.dev = dev -exports.default = dev +exports.default = gulp.series(css, js, jsModule, jsCompat, dev) From 3a647f03e1c2211bf85bd40b93b71a1bf1ac900d Mon Sep 17 00:00:00 2001 From: Ville Fokke Saarivaara Date: Sat, 14 Aug 2021 14:17:44 +0300 Subject: [PATCH 03/15] Fix incorrect documentation related to css file. Fixes #5. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 79173fd..989e466 100644 --- a/README.md +++ b/README.md @@ -69,7 +69,7 @@ Check `/demo/minimal.html` for minimal working example. Note that it's highly re #### ...or include CSS manually ```html - + ``` #### ...or include CSS from CDN From 217ec0ece2687e977278ff14881dfe33e4f93a7f Mon Sep 17 00:00:00 2001 From: Ville Fokke Saarivaara Date: Sat, 14 Aug 2021 14:18:53 +0300 Subject: [PATCH 04/15] Add newline --- index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.js b/index.js index 1001389..8c720c2 100644 --- a/index.js +++ b/index.js @@ -1,3 +1,3 @@ import Bartender from './dist/bartender.module.js' -export default Bartender \ No newline at end of file +export default Bartender From 2342dc8d69f9558a43aed51c3af46575a3af31ff Mon Sep 17 00:00:00 2001 From: Ville Fokke Saarivaara Date: Sat, 14 Aug 2021 14:28:36 +0300 Subject: [PATCH 05/15] Gulpfile adjustments --- gulpfile.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/gulpfile.js b/gulpfile.js index abea216..e7ca147 100755 --- a/gulpfile.js +++ b/gulpfile.js @@ -166,13 +166,14 @@ const watch = () => { gulp.series(browserSyncReload)) } -// Task: Dev -const dev = gulp.parallel(browserSyncInit, watch) +// Task: Dev server +const devServer = gulp.parallel(browserSyncInit, watch) // Exports exports.css = css exports.js = js exports.jsModule = jsModule exports.jsCompat = jsCompat -exports.dev = dev -exports.default = gulp.series(css, js, jsModule, jsCompat, dev) +exports.devServer = gulp.parallel(browserSyncInit, watch) +exports.build = gulp.series(css, js, jsModule, jsCompat) +exports.default = gulp.series(css, js, jsModule, jsCompat, devServer) From 3188bb10815ba6b2413b1ef4da5951abcfe81d32 Mon Sep 17 00:00:00 2001 From: Ville Fokke Saarivaara Date: Sat, 14 Aug 2021 14:42:13 +0300 Subject: [PATCH 06/15] Build --- dist/bartender.compat.js | 14 +++++++------- dist/bartender.compat.js.map | 2 +- dist/bartender.min.js | 2 +- dist/bartender.min.js.map | 2 +- dist/bartender.module.js | 11 +++++------ dist/bartender.module.js.map | 2 +- 6 files changed, 16 insertions(+), 17 deletions(-) diff --git a/dist/bartender.compat.js b/dist/bartender.compat.js index 948bfd0..f0a79a9 100644 --- a/dist/bartender.compat.js +++ b/dist/bartender.compat.js @@ -212,19 +212,19 @@ var Bartender = /*#__PURE__*/function () { var _this = this; try { - // Find and validate required elements + // Main wrap this.mainWrap = document.querySelector(this.options.mainWrapSelector); if (!this.mainWrap) throw 'Main wrap element was not found with selector: ' + this.options.mainWrapSelector; + this.mainWrap.classList.add('bartender-main'); // Content wrap + this.contentWrap = this.mainWrap.querySelector(this.options.contentWrapSelector); - if (!this.contentWrap) throw 'Content wrap element was not found with selector: ' + this.options.contentWrapSelector; // Find buttons + if (!this.contentWrap) throw 'Content wrap element was not found with selector: ' + this.options.contentWrapSelector; + this.contentWrap.classList.add('bartender-content'); + this.contentWrap.setAttribute('tabindex', '-1'); // Find buttons this.openButtons = this.mainWrap.querySelectorAll('[data-bartender-open]'); this.closeButtons = this.mainWrap.querySelectorAll('[data-bartender-close]'); - this.toggleButtons = this.mainWrap.querySelectorAll('[data-bartender-toggle]'); // Add classes - - this.mainWrap.classList.add('bartender-main'); - this.contentWrap.classList.add('bartender-content'); - this.contentWrap.setAttribute('tabindex', '-1'); // Find bars + this.toggleButtons = this.mainWrap.querySelectorAll('[data-bartender-toggle]'); // Find bars var bars = this.mainWrap.querySelectorAll('[data-bartender-bar]'); diff --git a/dist/bartender.compat.js.map b/dist/bartender.compat.js.map index 153f915..ec761dc 100644 --- a/dist/bartender.compat.js.map +++ b/dist/bartender.compat.js.map @@ -1 +1 @@ -{"version":3,"sources":["bartender.compat.js"],"names":["Bartender","options","window","CustomEvent","event","params","bubbles","cancelable","detail","evt","document","createEvent","initCustomEvent","debug","overlay","closeOnOverlayClick","closeOnEsc","trapFocus","scrollTop","mainWrapSelector","contentWrapSelector","focusableElementSelector","readyClass","openClass","currentOpenBar","previousOpenButton","resizeTimeout","bars","openButtons","closeButtons","toggleButtons","pushElements","validBarPositions","validModes","contentWrapMutationObserver","init","text","console","log","error","elements","startTime","performance","now","iterationCount","i","length","element","matches","getAttribute","setAttribute","endTime","removeAttribute","position","indexOf","mainWrap","querySelector","contentWrap","querySelectorAll","classList","add","addBar","button","isValidPosition","logError","join","addEventListener","open","toggle","close","createElement","appendChild","key","keyCode","clearTimeout","setTimeout","setPush","MutationObserver","mutationsList","mutation","type","addedNodes","disableFocus","observe","attributes","childList","subtree","newElement","style","transition","mode","newBar","mutationObserver","removeElement","removeChild","bar","enableFocus","focus","showOverlay","dispatchEvent","enableFocusOfContentWrap","hideOverlay","removeProperty","remove","transform","overflow","offsetWidth","offsetHeight","contains"],"mappings":"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","sourcesContent":["'use strict'\n\n/**\n * Class for creating accessible off-canvas bars.\n */\nclass Bartender {\n\n /**\n * @param {object} options - User defined options\n */\n constructor (options) {\n // Polyfill custom events\n if (typeof window.CustomEvent !== 'function') {\n window.CustomEvent = function (event, params) {\n params = params || {\n bubbles: false,\n cancelable: false,\n detail: null,\n }\n\n var evt = document.createEvent('CustomEvent')\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail)\n return evt\n }\n }\n\n // Apply user configuration\n this.options = Object.assign({\n // Debug mode\n debug: false,\n\n // Show shading overlay over content wrapper when bar is open?\n overlay: true,\n\n // Close open bar by clicking the overlay?\n closeOnOverlayClick: true,\n\n // Close open bar with escape key?\n closeOnEsc: true,\n\n // Trap focus to the open bar?\n trapFocus: false,\n\n // Scroll bar to the top when opening it?\n scrollTop: true,\n\n // Selector to find main wrapper\n mainWrapSelector: '.bartender-main',\n\n // Selector to find content wrapper\n contentWrapSelector: '.bartender-content',\n\n // Selector for focusable elements\n focusableElementSelector: '[href], button, input, textarea, select, details, [tabindex]:not([tabindex=\"-1\"])',\n\n // Classes\n readyClass: 'bartender-ready',\n openClass: 'bartender-open',\n }, options)\n\n // Overlay element\n this.overlay = null\n\n // Currently open bar\n this.currentOpenBar = null\n\n // Button which was previously used to open the bar\n this.previousOpenButton = null\n\n // Window resize timeout\n this.resizeTimeout = null\n\n // Object for storing the bars\n this.bars = {}\n\n // Arrays for storing buttons\n this.openButtons = []\n this.closeButtons = []\n this.toggleButtons = []\n\n // Array for storing pushable elements\n // These elements will be moved when bar with \"push\" or \"reveal\" mode is being opened.\n this.pushElements = []\n\n // Valid bar positions\n this.validBarPositions = [\n 'left',\n 'right',\n 'top',\n 'bottom',\n ]\n\n // Valid bar modes\n this.validModes = [\n 'float',\n 'push',\n 'reveal',\n ]\n\n // Mutation observer for content wrap\n this.contentWrapMutationObserver = null\n\n // Run initializer\n this.init()\n }\n\n /**\n * Log to console\n *\n * @param {string} text - Text to log\n * @returns {void}\n */\n log (text = '') {\n console.log('Bartender: ' + text)\n }\n\n /**\n * Log error to console\n *\n * @param {string} text - Text to log\n * @returns {void}\n */\n logError (text = '') {\n console.error('Bartender: ' + text)\n }\n\n /**\n * Log debug message to console\n *\n * @param {string} text - Text to log\n * @returns {void}\n */\n debug (text = '') {\n if (!this.options.debug) return\n\n console.log('Bartender debug: ' + text)\n }\n\n /**\n * Disable focus of elements\n *\n * @param {array} Array of DOM elements\n * @returns {void}\n */\n disableFocus (elements = []) {\n const startTime = performance.now()\n\n let iterationCount = 0\n\n for (let i = 0; i < elements.length; i++) {\n let element = elements[i]\n\n // Discard element if it's not focusable, or if it's already disabled\n if (typeof element.matches !== 'function' || !element.matches(this.options.focusableElementSelector) || element.getAttribute('data-bartender-prevtabindex')) continue\n\n element.setAttribute('data-bartender-prevtabindex', element.getAttribute('tabindex'))\n element.setAttribute('tabindex', '-1')\n\n iterationCount++\n }\n\n const endTime = performance.now()\n\n if (iterationCount > 0) {\n this.debug('Disabled focus of ' + iterationCount + ' elements in ' + (endTime - startTime))\n }\n }\n\n /**\n * Enable focus of elements\n *\n * @param {array} Array of DOM elements\n * @returns {void}\n */\n enableFocus (elements = []) {\n const startTime = performance.now()\n\n let iterationCount = 0\n\n for (let i = 0; i < elements.length; i++) {\n let element = elements[i]\n\n // If element has previous tabindex marked, return it. Otherwise just remove tabindex attribute.\n if (element.getAttribute('data-bartender-prevtabindex') != 'null') {\n element.setAttribute('tabindex', element.getAttribute('data-bartender-prevtabindex'))\n } else {\n element.removeAttribute('tabindex')\n }\n\n element.removeAttribute('data-bartender-prevtabindex')\n\n iterationCount++\n }\n\n const endTime = performance.now()\n\n if (iterationCount > 0) {\n this.debug('Enabled focus of ' + iterationCount + ' elements in ' + (endTime - startTime))\n }\n }\n\n /**\n * Is defined bar position valid?\n *\n * @param {string} position - Position to validate\n * @returns {boolean}\n */\n isValidPosition (position = null) {\n return this.validBarPositions.indexOf(position) >= 0\n }\n\n /**\n * Initialize Bartender\n *\n * @returns {object} Bartender instance\n */\n init () {\n try {\n // Find and validate required elements\n this.mainWrap = document.querySelector(this.options.mainWrapSelector)\n if (!this.mainWrap) throw 'Main wrap element was not found with selector: ' + this.options.mainWrapSelector\n\n this.contentWrap = this.mainWrap.querySelector(this.options.contentWrapSelector)\n if (!this.contentWrap) throw 'Content wrap element was not found with selector: ' + this.options.contentWrapSelector\n\n // Find buttons\n this.openButtons = this.mainWrap.querySelectorAll('[data-bartender-open]')\n this.closeButtons = this.mainWrap.querySelectorAll('[data-bartender-close]')\n this.toggleButtons = this.mainWrap.querySelectorAll('[data-bartender-toggle]')\n\n // Add classes\n this.mainWrap.classList.add('bartender-main')\n this.contentWrap.classList.add('bartender-content')\n this.contentWrap.setAttribute('tabindex', '-1')\n\n // Find bars\n const bars = this.mainWrap.querySelectorAll('[data-bartender-bar]')\n\n for (let i = 0; i < bars.length; i++) {\n this.addBar(bars[i])\n }\n\n // Open buttons\n for (let i = 0; i < this.openButtons.length; i++) {\n let button = this.openButtons[i]\n let position = button.getAttribute('data-bartender-open')\n\n if (!this.isValidPosition(position)) {\n this.logError('Open button has invalid bar position \\'' + position + '\\' defined. Use one of the following values: ' + this.validBarPositions.join(', '))\n return\n }\n\n button.setAttribute('aria-expanded', 'false')\n button.addEventListener('click', () => {\n this.open(position, button)\n })\n }\n\n // Toggle buttons\n for (let i = 0; i < this.toggleButtons.length; i++) {\n let button = this.toggleButtons[i]\n let position = button.getAttribute('data-bartender-toggle')\n\n if (!this.isValidPosition(position)) {\n this.logError('Toggle button has invalid bar position \\'' + position + '\\' defined. Use one of the following values: ' + this.validBarPositions.join(', '))\n return\n }\n\n button.setAttribute('aria-expanded', 'false')\n button.addEventListener('click', () => {\n this.toggle(position, button)\n })\n }\n\n // Close buttons\n for (let i = 0; i < this.closeButtons.length; i++) {\n let button = this.closeButtons[i]\n\n button.addEventListener('click', () => {\n this.close()\n })\n }\n\n // Find pushable elements\n this.pushElements = this.mainWrap.querySelectorAll('[data-bartender-push]')\n\n if (this.pushElements.length) this.debug('Registered ' + this.pushElements.length + ' pushable elements.')\n\n // Add overlay\n if (this.options.overlay && !this.overlay) {\n this.overlay = document.createElement('div')\n this.overlay.classList.add('bartender-overlay')\n\n if (this.options.closeOnOverlayClick === true) {\n this.overlay.addEventListener('click', () => this.close())\n }\n\n this.contentWrap.appendChild(this.overlay)\n }\n\n // Enable closing the bar with escape key\n if (this.options.closeOnEsc) {\n window.addEventListener('keydown', event => {\n let key = event.key || event.keyCode\n\n if (key === 'Escape' || key === 'Esc' || key === 27) {\n this.close()\n }\n })\n }\n\n // Adjust content wrapper transform when window is resized\n window.addEventListener('resize', () => {\n clearTimeout(this.resizeTimeout)\n\n this.resizeTimeout = setTimeout(() => {\n this.setPush()\n }, 200)\n })\n\n // Add mutation observer for content wrapper\n if (this.options.trapFocus === true) {\n this.contentWrapMutationObserver = new MutationObserver((mutationsList) => {\n if (!this.currentOpenBar) return\n\n for (let i = 0; i < mutationsList.length; i++) {\n let mutation = mutationsList[i]\n\n if (mutation.type === 'childList') {\n if (mutation.addedNodes && mutation.addedNodes.length) {\n this.disableFocus(mutation.addedNodes)\n }\n }\n }\n })\n\n this.contentWrapMutationObserver.observe(this.contentWrap, {\n attributes: false,\n childList: true,\n subtree: true,\n })\n }\n\n // Add class to the main wrap\n this.mainWrap.classList.add(this.options.readyClass)\n } catch (error) {\n this.logError(error)\n }\n\n return this\n }\n\n /**\n * Add a new off-canvas bar\n *\n * @param {object} element - DOM element. If undefined, the element will be created.\n * @param {object} options - Bar options\n * @returns {object} Added bar instance\n */\n addBar (element = null, options = {}) {\n try {\n // If element doesn't exist, create it\n let newElement = false\n\n if (element === null) {\n newElement = true\n element = document.createElement('div')\n }\n\n // Initially remove transition\n element.style.transition = 'none'\n\n // Get bar configuration\n let position = options.position || element.getAttribute('data-bartender-bar')\n let mode = options.mode || element.getAttribute('data-bartender-bar-mode')\n\n // If mode is not specified, fall back to 'float'\n mode = mode || 'float'\n\n // Validate configuration\n if (!this.isValidPosition(position)) throw 'Invalid bar position \\'' + position + '\\'. Use one of the following values: ' + this.validBarPositions.join(', ')\n if (this.validModes.indexOf(mode) < 0) throw 'Invalid mode \\'' + mode + '\\' for bar \\'' + position + '\\'. Use one of the following values: ' + this.validModes.join(', ')\n if (this.bars[position]) throw 'Bar with position \\'' + position + '\\' is already defined'\n\n // Initially disable focus of the bar and it's child elements\n element.setAttribute('tabindex', '-1')\n element.setAttribute('aria-hidden', 'true')\n this.disableFocus(element.querySelectorAll(this.options.focusableElementSelector))\n\n // Set data-attributes\n element.setAttribute('data-bartender-bar', position)\n element.setAttribute('data-bartender-bar-mode', mode)\n\n // If element is new, append to main container\n if (newElement === true) this.mainWrap.appendChild(element)\n\n // Return transition\n setTimeout(() => {\n element.style.transition = null\n })\n\n // Create new bar object\n const newBar = {\n element: element,\n position: position,\n mode: mode,\n mutationObserver: new MutationObserver((mutationsList) => {\n if (this.currentOpenBar && this.currentOpenBar.position === position) return\n\n for (let i = 0; i < mutationsList.length; i++) {\n let mutation = mutationsList[i]\n\n if (mutation.type === 'childList') {\n if (mutation.addedNodes && mutation.addedNodes.length) {\n this.disableFocus(mutation.addedNodes)\n }\n }\n }\n }),\n }\n\n newBar.mutationObserver.observe(newBar.element, {\n attributes: false,\n childList: true,\n subtree: true,\n })\n\n this.bars[position] = newBar\n\n this.debug('Added bar \\'' + position + '\\' with mode \\'' + mode + '\\'')\n\n return newBar\n } catch (error) {\n this.logError(error)\n\n return null\n }\n }\n\n /**\n * Remove bar\n *\n * @param {string} position - Bar position to remove\n * @param {boolean} removeElement - Remove DOM element?\n * @returns {void}\n */\n removeBar (position = null, removeElement = true) {\n try {\n // If this bar is currently open, close it first\n if (this.currentOpenBar && this.currentOpenBar.position === position) {\n this.close()\n }\n\n // Validate position\n if (!this.isValidPosition(position)) throw 'Invalid bar position \\'' + position + '\\'. Use one of the following values: ' + this.validBarPositions.join(', ')\n if (!this.bars[position]) throw 'Bar with position \\'' + position + '\\' doesn\\'t exist'\n\n if (removeElement === true) {\n this.mainWrap.removeChild(this.bars[position].element)\n }\n\n delete this.bars[position]\n\n this.debug('Removed bar with position \\'' + position + '\\'')\n } catch (error) {\n this.logError(error)\n }\n }\n\n /**\n * Open off-canvas bar\n *\n * @param {string} position - Bar position\n * @param {object} button - Button which was used to run this method\n * @returns {object} Opened bar instance\n */\n open (position = '', button = null) {\n try {\n // Validate position\n if (!this.isValidPosition(position)) throw 'Invalid bar position \\'' + position + '\\'. Use one of the following values: ' + this.validBarPositions.join(', ')\n\n // Get bar instance\n const bar = this.bars[position]\n\n if (!bar) throw 'Bar with position \\'' + position + '\\' is not defined.'\n\n // Close other bars\n if (this.currentOpenBar) {\n this.close(false)\n } else if (this.options.trapFocus === true) {\n this.disableFocus(this.contentWrap.querySelectorAll(this.options.focusableElementSelector))\n }\n\n this.contentWrap.setAttribute('aria-hidden', 'true')\n\n this.debug('Opening bar \\'' + position + '\\'')\n\n // Mark this bar as open\n this.currentOpenBar = bar\n bar.element.classList.add('bartender-bar--open')\n\n // Scroll to top\n if (this.options.scrollTop) {\n bar.element.scrollTop = 0\n }\n\n // Focus on bar\n bar.element.removeAttribute('aria-hidden')\n this.enableFocus(bar.element.querySelectorAll('[data-bartender-prevtabindex]'))\n bar.element.focus()\n\n // Push elements\n this.setPush()\n\n // Remember the button which was used to open the bar\n this.previousOpenButton = button\n\n // Set ARIA attributes of the button\n if (button) button.setAttribute('aria-expanded', true)\n\n // Show overlay\n this.showOverlay()\n\n // Add class to the main element\n this.mainWrap.classList.add(this.options.openClass)\n\n // Dispatch event\n this.mainWrap.dispatchEvent(new CustomEvent('bartender-open', {\n bubbles: true,\n detail: {\n bar: bar,\n button: button,\n },\n }))\n\n return bar\n } catch (error) {\n this.logError(error)\n }\n }\n\n /**\n * Toggle off-canvas bar\n *\n * @param {string} position - Bar position\n * @param {object} button - Button which was used to run this method\n * @returns {object} Toggled bar instance\n */\n toggle (position = null, button = null) {\n try {\n if (!this.isValidPosition(position)) throw 'Invalid bar position \\'' + position + '\\'. Use one of the following values: ' + this.validBarPositions.join(', ')\n\n if (this.currentOpenBar && this.currentOpenBar.position == position) {\n return this.close()\n } else {\n this.close()\n return this.open(position, button)\n }\n } catch (error) {\n this.logError(error)\n }\n }\n\n /**\n * Close any open off-canvas bar\n *\n * @param {boolean} enableFocusOfContentWrap - Enable focus of content wrap\n * @returns {object} Closed bar\n */\n close (enableFocusOfContentWrap = true) {\n try {\n if (!this.currentOpenBar) return\n\n let bar = this.bars[this.currentOpenBar.position]\n\n this.debug('Closing bar \\'' + bar.position + '\\'')\n\n // Dispatch event\n this.mainWrap.dispatchEvent(new CustomEvent('bartender-close', {\n bubbles: true,\n detail: {\n bar: bar,\n },\n }))\n\n // Hide overlay\n this.hideOverlay()\n\n // Remove transform from wrapper element\n this.contentWrap.style.removeProperty('transform')\n\n // Remove transforms from pushable elements\n for (let i = 0; i < this.pushElements.length; i++) {\n this.pushElements[i].style.removeProperty('transform')\n }\n\n // Disable focus of bar element\n this.disableFocus(bar.element.querySelectorAll(this.options.focusableElementSelector))\n bar.element.setAttribute('tabindex', '-1')\n bar.element.setAttribute('aria-hidden', 'true')\n\n // Enable focus on content element\n this.contentWrap.removeAttribute('aria-hidden')\n\n if (this.options.trapFocus === true && enableFocusOfContentWrap === true) {\n this.enableFocus(this.contentWrap.querySelectorAll('[data-bartender-prevtabindex]'))\n }\n\n // Close the bar\n bar.element.classList.remove('bartender-bar--open')\n this.currentOpenBar = null\n\n // Restore scrolling to the main wrap\n this.mainWrap.style.removeProperty('overflow')\n\n // Remove class from the main wrap\n this.mainWrap.classList.remove(this.options.openClass)\n\n // Focus open button which was used to open the bar\n if (this.previousOpenButton && this.previousOpenButton.getAttribute('tabindex') >= 0) {\n this.previousOpenButton.focus()\n this.previousOpenButton.setAttribute('aria-expanded', 'false')\n this.previousOpenButton = null\n } else if (enableFocusOfContentWrap === true) {\n // Bar was closed using keyboard or API. Focus on content wrapper instead.\n this.contentWrap.focus()\n }\n\n return bar\n } catch (error) {\n this.logError(error)\n }\n }\n\n /**\n * Set transforms for pushable elements\n *\n * @returns {void}\n */\n setPush () {\n if (!this.currentOpenBar || !this.currentOpenBar.mode) return\n\n let transform = null\n\n // Hide overflow of main wrapper\n // This has to be done first in order to get correct width/height\n this.mainWrap.style.overflow = 'hidden'\n\n switch (this.currentOpenBar.position) {\n case 'left':\n transform = 'translateX(' + this.currentOpenBar.element.offsetWidth + 'px)'\n break\n\n case 'right':\n transform = 'translateX(-' + this.currentOpenBar.element.offsetWidth + 'px)'\n break\n\n case 'top':\n transform = 'translateY(' + this.currentOpenBar.element.offsetHeight + 'px)'\n break\n\n case 'bottom':\n transform = 'translateY(-' + this.currentOpenBar.element.offsetHeight + 'px)'\n break\n }\n\n if ([\n 'push',\n 'reveal',\n ].indexOf(this.currentOpenBar.mode) >= 0) {\n // Transform content wrapper\n this.contentWrap.style.transform = transform\n }\n\n // Transform other pushable elements\n for (let i = 0; i < this.pushElements.length; i++) {\n this.pushElements[i].style.transform = transform\n }\n }\n\n /**\n * Show shading overlay\n *\n * @returns {void}\n */\n showOverlay () {\n if (!this.overlay) return\n if (this.overlay.classList.contains('bartender-overlay--visible')) return\n\n this.overlay.classList.add('bartender-overlay--visible')\n }\n\n /**\n * Hide shading overlay\n *\n * @returns {void}\n */\n hideOverlay () {\n if (!this.overlay) return\n if (!this.overlay.classList.contains('bartender-overlay--visible')) return\n\n this.overlay.classList.remove('bartender-overlay--visible')\n }\n}\n"],"file":"bartender.compat.js"} \ No newline at end of file +{"version":3,"sources":["bartender.compat.js"],"names":["Bartender","options","window","CustomEvent","event","params","bubbles","cancelable","detail","evt","document","createEvent","initCustomEvent","debug","overlay","closeOnOverlayClick","closeOnEsc","trapFocus","scrollTop","mainWrapSelector","contentWrapSelector","focusableElementSelector","readyClass","openClass","currentOpenBar","previousOpenButton","resizeTimeout","bars","openButtons","closeButtons","toggleButtons","pushElements","validBarPositions","validModes","contentWrapMutationObserver","init","text","console","log","error","elements","startTime","performance","now","iterationCount","i","length","element","matches","getAttribute","setAttribute","endTime","removeAttribute","position","indexOf","mainWrap","querySelector","classList","add","contentWrap","querySelectorAll","addBar","button","isValidPosition","logError","join","addEventListener","open","toggle","close","createElement","appendChild","key","keyCode","clearTimeout","setTimeout","setPush","MutationObserver","mutationsList","mutation","type","addedNodes","disableFocus","observe","attributes","childList","subtree","newElement","style","transition","mode","newBar","mutationObserver","removeElement","removeChild","bar","enableFocus","focus","showOverlay","dispatchEvent","enableFocusOfContentWrap","hideOverlay","removeProperty","remove","transform","overflow","offsetWidth","offsetHeight","contains"],"mappings":"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","sourcesContent":["'use strict'\n\n/**\n * Class for creating accessible off-canvas bars.\n */\nclass Bartender {\n\n /**\n * @param {object} options - User defined options\n */\n constructor (options) {\n // Polyfill custom events\n if (typeof window.CustomEvent !== 'function') {\n window.CustomEvent = function (event, params) {\n params = params || {\n bubbles: false,\n cancelable: false,\n detail: null,\n }\n\n var evt = document.createEvent('CustomEvent')\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail)\n return evt\n }\n }\n\n // Apply user configuration\n this.options = Object.assign({\n // Debug mode\n debug: false,\n\n // Show shading overlay over content wrapper when bar is open?\n overlay: true,\n\n // Close open bar by clicking the overlay?\n closeOnOverlayClick: true,\n\n // Close open bar with escape key?\n closeOnEsc: true,\n\n // Trap focus to the open bar?\n trapFocus: false,\n\n // Scroll bar to the top when opening it?\n scrollTop: true,\n\n // Selector to find main wrapper\n mainWrapSelector: '.bartender-main',\n\n // Selector to find content wrapper\n contentWrapSelector: '.bartender-content',\n\n // Selector for focusable elements\n focusableElementSelector: '[href], button, input, textarea, select, details, [tabindex]:not([tabindex=\"-1\"])',\n\n // Classes\n readyClass: 'bartender-ready',\n openClass: 'bartender-open',\n }, options)\n\n // Overlay element\n this.overlay = null\n\n // Currently open bar\n this.currentOpenBar = null\n\n // Button which was previously used to open the bar\n this.previousOpenButton = null\n\n // Window resize timeout\n this.resizeTimeout = null\n\n // Object for storing the bars\n this.bars = {}\n\n // Arrays for storing buttons\n this.openButtons = []\n this.closeButtons = []\n this.toggleButtons = []\n\n // Array for storing pushable elements\n // These elements will be moved when bar with \"push\" or \"reveal\" mode is being opened.\n this.pushElements = []\n\n // Valid bar positions\n this.validBarPositions = [\n 'left',\n 'right',\n 'top',\n 'bottom',\n ]\n\n // Valid bar modes\n this.validModes = [\n 'float',\n 'push',\n 'reveal',\n ]\n\n // Mutation observer for content wrap\n this.contentWrapMutationObserver = null\n\n // Run initializer\n this.init()\n }\n\n /**\n * Log to console\n *\n * @param {string} text - Text to log\n * @returns {void}\n */\n log (text = '') {\n console.log('Bartender: ' + text)\n }\n\n /**\n * Log error to console\n *\n * @param {string} text - Text to log\n * @returns {void}\n */\n logError (text = '') {\n console.error('Bartender: ' + text)\n }\n\n /**\n * Log debug message to console\n *\n * @param {string} text - Text to log\n * @returns {void}\n */\n debug (text = '') {\n if (!this.options.debug) return\n\n console.log('Bartender debug: ' + text)\n }\n\n /**\n * Disable focus of elements\n *\n * @param {array} Array of DOM elements\n * @returns {void}\n */\n disableFocus (elements = []) {\n const startTime = performance.now()\n\n let iterationCount = 0\n\n for (let i = 0; i < elements.length; i++) {\n let element = elements[i]\n\n // Discard element if it's not focusable, or if it's already disabled\n if (typeof element.matches !== 'function' || !element.matches(this.options.focusableElementSelector) || element.getAttribute('data-bartender-prevtabindex')) continue\n\n element.setAttribute('data-bartender-prevtabindex', element.getAttribute('tabindex'))\n element.setAttribute('tabindex', '-1')\n\n iterationCount++\n }\n\n const endTime = performance.now()\n\n if (iterationCount > 0) {\n this.debug('Disabled focus of ' + iterationCount + ' elements in ' + (endTime - startTime))\n }\n }\n\n /**\n * Enable focus of elements\n *\n * @param {array} Array of DOM elements\n * @returns {void}\n */\n enableFocus (elements = []) {\n const startTime = performance.now()\n\n let iterationCount = 0\n\n for (let i = 0; i < elements.length; i++) {\n let element = elements[i]\n\n // If element has previous tabindex marked, return it. Otherwise just remove tabindex attribute.\n if (element.getAttribute('data-bartender-prevtabindex') != 'null') {\n element.setAttribute('tabindex', element.getAttribute('data-bartender-prevtabindex'))\n } else {\n element.removeAttribute('tabindex')\n }\n\n element.removeAttribute('data-bartender-prevtabindex')\n\n iterationCount++\n }\n\n const endTime = performance.now()\n\n if (iterationCount > 0) {\n this.debug('Enabled focus of ' + iterationCount + ' elements in ' + (endTime - startTime))\n }\n }\n\n /**\n * Is defined bar position valid?\n *\n * @param {string} position - Position to validate\n * @returns {boolean}\n */\n isValidPosition (position = null) {\n return this.validBarPositions.indexOf(position) >= 0\n }\n\n /**\n * Initialize Bartender\n *\n * @returns {object} Bartender instance\n */\n init () {\n try {\n // Main wrap\n this.mainWrap = document.querySelector(this.options.mainWrapSelector)\n if (!this.mainWrap) throw 'Main wrap element was not found with selector: ' + this.options.mainWrapSelector\n this.mainWrap.classList.add('bartender-main')\n\n // Content wrap\n this.contentWrap = this.mainWrap.querySelector(this.options.contentWrapSelector)\n if (!this.contentWrap) throw 'Content wrap element was not found with selector: ' + this.options.contentWrapSelector\n this.contentWrap.classList.add('bartender-content')\n this.contentWrap.setAttribute('tabindex', '-1')\n\n // Find buttons\n this.openButtons = this.mainWrap.querySelectorAll('[data-bartender-open]')\n this.closeButtons = this.mainWrap.querySelectorAll('[data-bartender-close]')\n this.toggleButtons = this.mainWrap.querySelectorAll('[data-bartender-toggle]')\n\n // Find bars\n const bars = this.mainWrap.querySelectorAll('[data-bartender-bar]')\n\n for (let i = 0; i < bars.length; i++) {\n this.addBar(bars[i])\n }\n\n // Open buttons\n for (let i = 0; i < this.openButtons.length; i++) {\n let button = this.openButtons[i]\n let position = button.getAttribute('data-bartender-open')\n\n if (!this.isValidPosition(position)) {\n this.logError('Open button has invalid bar position \\'' + position + '\\' defined. Use one of the following values: ' + this.validBarPositions.join(', '))\n return\n }\n\n button.setAttribute('aria-expanded', 'false')\n button.addEventListener('click', () => {\n this.open(position, button)\n })\n }\n\n // Toggle buttons\n for (let i = 0; i < this.toggleButtons.length; i++) {\n let button = this.toggleButtons[i]\n let position = button.getAttribute('data-bartender-toggle')\n\n if (!this.isValidPosition(position)) {\n this.logError('Toggle button has invalid bar position \\'' + position + '\\' defined. Use one of the following values: ' + this.validBarPositions.join(', '))\n return\n }\n\n button.setAttribute('aria-expanded', 'false')\n button.addEventListener('click', () => {\n this.toggle(position, button)\n })\n }\n\n // Close buttons\n for (let i = 0; i < this.closeButtons.length; i++) {\n let button = this.closeButtons[i]\n\n button.addEventListener('click', () => {\n this.close()\n })\n }\n\n // Find pushable elements\n this.pushElements = this.mainWrap.querySelectorAll('[data-bartender-push]')\n\n if (this.pushElements.length) this.debug('Registered ' + this.pushElements.length + ' pushable elements.')\n\n // Add overlay\n if (this.options.overlay && !this.overlay) {\n this.overlay = document.createElement('div')\n this.overlay.classList.add('bartender-overlay')\n\n if (this.options.closeOnOverlayClick === true) {\n this.overlay.addEventListener('click', () => this.close())\n }\n\n this.contentWrap.appendChild(this.overlay)\n }\n\n // Enable closing the bar with escape key\n if (this.options.closeOnEsc) {\n window.addEventListener('keydown', event => {\n let key = event.key || event.keyCode\n\n if (key === 'Escape' || key === 'Esc' || key === 27) {\n this.close()\n }\n })\n }\n\n // Adjust content wrapper transform when window is resized\n window.addEventListener('resize', () => {\n clearTimeout(this.resizeTimeout)\n\n this.resizeTimeout = setTimeout(() => {\n this.setPush()\n }, 200)\n })\n\n // Add mutation observer for content wrapper\n if (this.options.trapFocus === true) {\n this.contentWrapMutationObserver = new MutationObserver((mutationsList) => {\n if (!this.currentOpenBar) return\n\n for (let i = 0; i < mutationsList.length; i++) {\n let mutation = mutationsList[i]\n\n if (mutation.type === 'childList') {\n if (mutation.addedNodes && mutation.addedNodes.length) {\n this.disableFocus(mutation.addedNodes)\n }\n }\n }\n })\n\n this.contentWrapMutationObserver.observe(this.contentWrap, {\n attributes: false,\n childList: true,\n subtree: true,\n })\n }\n\n // Add class to the main wrap\n this.mainWrap.classList.add(this.options.readyClass)\n } catch (error) {\n this.logError(error)\n }\n\n return this\n }\n\n /**\n * Add a new off-canvas bar\n *\n * @param {object} element - DOM element. If undefined, the element will be created.\n * @param {object} options - Bar options\n * @returns {object} Added bar instance\n */\n addBar (element = null, options = {}) {\n try {\n // If element doesn't exist, create it\n let newElement = false\n\n if (element === null) {\n newElement = true\n element = document.createElement('div')\n }\n\n // Initially remove transition\n element.style.transition = 'none'\n\n // Get bar configuration\n let position = options.position || element.getAttribute('data-bartender-bar')\n let mode = options.mode || element.getAttribute('data-bartender-bar-mode')\n\n // If mode is not specified, fall back to 'float'\n mode = mode || 'float'\n\n // Validate configuration\n if (!this.isValidPosition(position)) throw 'Invalid bar position \\'' + position + '\\'. Use one of the following values: ' + this.validBarPositions.join(', ')\n if (this.validModes.indexOf(mode) < 0) throw 'Invalid mode \\'' + mode + '\\' for bar \\'' + position + '\\'. Use one of the following values: ' + this.validModes.join(', ')\n if (this.bars[position]) throw 'Bar with position \\'' + position + '\\' is already defined'\n\n // Initially disable focus of the bar and it's child elements\n element.setAttribute('tabindex', '-1')\n element.setAttribute('aria-hidden', 'true')\n this.disableFocus(element.querySelectorAll(this.options.focusableElementSelector))\n\n // Set data-attributes\n element.setAttribute('data-bartender-bar', position)\n element.setAttribute('data-bartender-bar-mode', mode)\n\n // If element is new, append to main container\n if (newElement === true) this.mainWrap.appendChild(element)\n\n // Return transition\n setTimeout(() => {\n element.style.transition = null\n })\n\n // Create new bar object\n const newBar = {\n element: element,\n position: position,\n mode: mode,\n mutationObserver: new MutationObserver((mutationsList) => {\n if (this.currentOpenBar && this.currentOpenBar.position === position) return\n\n for (let i = 0; i < mutationsList.length; i++) {\n let mutation = mutationsList[i]\n\n if (mutation.type === 'childList') {\n if (mutation.addedNodes && mutation.addedNodes.length) {\n this.disableFocus(mutation.addedNodes)\n }\n }\n }\n }),\n }\n\n newBar.mutationObserver.observe(newBar.element, {\n attributes: false,\n childList: true,\n subtree: true,\n })\n\n this.bars[position] = newBar\n\n this.debug('Added bar \\'' + position + '\\' with mode \\'' + mode + '\\'')\n\n return newBar\n } catch (error) {\n this.logError(error)\n\n return null\n }\n }\n\n /**\n * Remove bar\n *\n * @param {string} position - Bar position to remove\n * @param {boolean} removeElement - Remove DOM element?\n * @returns {void}\n */\n removeBar (position = null, removeElement = true) {\n try {\n // If this bar is currently open, close it first\n if (this.currentOpenBar && this.currentOpenBar.position === position) {\n this.close()\n }\n\n // Validate position\n if (!this.isValidPosition(position)) throw 'Invalid bar position \\'' + position + '\\'. Use one of the following values: ' + this.validBarPositions.join(', ')\n if (!this.bars[position]) throw 'Bar with position \\'' + position + '\\' doesn\\'t exist'\n\n if (removeElement === true) {\n this.mainWrap.removeChild(this.bars[position].element)\n }\n\n delete this.bars[position]\n\n this.debug('Removed bar with position \\'' + position + '\\'')\n } catch (error) {\n this.logError(error)\n }\n }\n\n /**\n * Open off-canvas bar\n *\n * @param {string} position - Bar position\n * @param {object} button - Button which was used to run this method\n * @returns {object} Opened bar instance\n */\n open (position = '', button = null) {\n try {\n // Validate position\n if (!this.isValidPosition(position)) throw 'Invalid bar position \\'' + position + '\\'. Use one of the following values: ' + this.validBarPositions.join(', ')\n\n // Get bar instance\n const bar = this.bars[position]\n\n if (!bar) throw 'Bar with position \\'' + position + '\\' is not defined.'\n\n // Close other bars\n if (this.currentOpenBar) {\n this.close(false)\n } else if (this.options.trapFocus === true) {\n this.disableFocus(this.contentWrap.querySelectorAll(this.options.focusableElementSelector))\n }\n\n this.contentWrap.setAttribute('aria-hidden', 'true')\n\n this.debug('Opening bar \\'' + position + '\\'')\n\n // Mark this bar as open\n this.currentOpenBar = bar\n bar.element.classList.add('bartender-bar--open')\n\n // Scroll to top\n if (this.options.scrollTop) {\n bar.element.scrollTop = 0\n }\n\n // Focus on bar\n bar.element.removeAttribute('aria-hidden')\n this.enableFocus(bar.element.querySelectorAll('[data-bartender-prevtabindex]'))\n bar.element.focus()\n\n // Push elements\n this.setPush()\n\n // Remember the button which was used to open the bar\n this.previousOpenButton = button\n\n // Set ARIA attributes of the button\n if (button) button.setAttribute('aria-expanded', true)\n\n // Show overlay\n this.showOverlay()\n\n // Add class to the main element\n this.mainWrap.classList.add(this.options.openClass)\n\n // Dispatch event\n this.mainWrap.dispatchEvent(new CustomEvent('bartender-open', {\n bubbles: true,\n detail: {\n bar: bar,\n button: button,\n },\n }))\n\n return bar\n } catch (error) {\n this.logError(error)\n }\n }\n\n /**\n * Toggle off-canvas bar\n *\n * @param {string} position - Bar position\n * @param {object} button - Button which was used to run this method\n * @returns {object} Toggled bar instance\n */\n toggle (position = null, button = null) {\n try {\n if (!this.isValidPosition(position)) throw 'Invalid bar position \\'' + position + '\\'. Use one of the following values: ' + this.validBarPositions.join(', ')\n\n if (this.currentOpenBar && this.currentOpenBar.position == position) {\n return this.close()\n } else {\n this.close()\n return this.open(position, button)\n }\n } catch (error) {\n this.logError(error)\n }\n }\n\n /**\n * Close any open off-canvas bar\n *\n * @param {boolean} enableFocusOfContentWrap - Enable focus of content wrap\n * @returns {object} Closed bar\n */\n close (enableFocusOfContentWrap = true) {\n try {\n if (!this.currentOpenBar) return\n\n let bar = this.bars[this.currentOpenBar.position]\n\n this.debug('Closing bar \\'' + bar.position + '\\'')\n\n // Dispatch event\n this.mainWrap.dispatchEvent(new CustomEvent('bartender-close', {\n bubbles: true,\n detail: {\n bar: bar,\n },\n }))\n\n // Hide overlay\n this.hideOverlay()\n\n // Remove transform from wrapper element\n this.contentWrap.style.removeProperty('transform')\n\n // Remove transforms from pushable elements\n for (let i = 0; i < this.pushElements.length; i++) {\n this.pushElements[i].style.removeProperty('transform')\n }\n\n // Disable focus of bar element\n this.disableFocus(bar.element.querySelectorAll(this.options.focusableElementSelector))\n bar.element.setAttribute('tabindex', '-1')\n bar.element.setAttribute('aria-hidden', 'true')\n\n // Enable focus on content element\n this.contentWrap.removeAttribute('aria-hidden')\n\n if (this.options.trapFocus === true && enableFocusOfContentWrap === true) {\n this.enableFocus(this.contentWrap.querySelectorAll('[data-bartender-prevtabindex]'))\n }\n\n // Close the bar\n bar.element.classList.remove('bartender-bar--open')\n this.currentOpenBar = null\n\n // Restore scrolling to the main wrap\n this.mainWrap.style.removeProperty('overflow')\n\n // Remove class from the main wrap\n this.mainWrap.classList.remove(this.options.openClass)\n\n // Focus open button which was used to open the bar\n if (this.previousOpenButton && this.previousOpenButton.getAttribute('tabindex') >= 0) {\n this.previousOpenButton.focus()\n this.previousOpenButton.setAttribute('aria-expanded', 'false')\n this.previousOpenButton = null\n } else if (enableFocusOfContentWrap === true) {\n // Bar was closed using keyboard or API. Focus on content wrapper instead.\n this.contentWrap.focus()\n }\n\n return bar\n } catch (error) {\n this.logError(error)\n }\n }\n\n /**\n * Set transforms for pushable elements\n *\n * @returns {void}\n */\n setPush () {\n if (!this.currentOpenBar || !this.currentOpenBar.mode) return\n\n let transform = null\n\n // Hide overflow of main wrapper\n // This has to be done first in order to get correct width/height\n this.mainWrap.style.overflow = 'hidden'\n\n switch (this.currentOpenBar.position) {\n case 'left':\n transform = 'translateX(' + this.currentOpenBar.element.offsetWidth + 'px)'\n break\n\n case 'right':\n transform = 'translateX(-' + this.currentOpenBar.element.offsetWidth + 'px)'\n break\n\n case 'top':\n transform = 'translateY(' + this.currentOpenBar.element.offsetHeight + 'px)'\n break\n\n case 'bottom':\n transform = 'translateY(-' + this.currentOpenBar.element.offsetHeight + 'px)'\n break\n }\n\n if ([\n 'push',\n 'reveal',\n ].indexOf(this.currentOpenBar.mode) >= 0) {\n // Transform content wrapper\n this.contentWrap.style.transform = transform\n }\n\n // Transform other pushable elements\n for (let i = 0; i < this.pushElements.length; i++) {\n this.pushElements[i].style.transform = transform\n }\n }\n\n /**\n * Show shading overlay\n *\n * @returns {void}\n */\n showOverlay () {\n if (!this.overlay) return\n if (this.overlay.classList.contains('bartender-overlay--visible')) return\n\n this.overlay.classList.add('bartender-overlay--visible')\n }\n\n /**\n * Hide shading overlay\n *\n * @returns {void}\n */\n hideOverlay () {\n if (!this.overlay) return\n if (!this.overlay.classList.contains('bartender-overlay--visible')) return\n\n this.overlay.classList.remove('bartender-overlay--visible')\n }\n}\n"],"file":"bartender.compat.js"} \ No newline at end of file diff --git a/dist/bartender.min.js b/dist/bartender.min.js index e19cae9..9388788 100644 --- a/dist/bartender.min.js +++ b/dist/bartender.min.js @@ -1,2 +1,2 @@ -"use strict";class Bartender{constructor(t){"function"!=typeof window.CustomEvent&&(window.CustomEvent=function(t,e){e=e||{bubbles:!1,cancelable:!1,detail:null};var s=document.createEvent("CustomEvent");return s.initCustomEvent(t,e.bubbles,e.cancelable,e.detail),s}),this.options=Object.assign({debug:!1,overlay:!0,closeOnOverlayClick:!0,closeOnEsc:!0,trapFocus:!1,scrollTop:!0,mainWrapSelector:".bartender-main",contentWrapSelector:".bartender-content",focusableElementSelector:'[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"])',readyClass:"bartender-ready",openClass:"bartender-open"},t),this.overlay=null,this.currentOpenBar=null,this.previousOpenButton=null,this.resizeTimeout=null,this.bars={},this.openButtons=[],this.closeButtons=[],this.toggleButtons=[],this.pushElements=[],this.validBarPositions=["left","right","top","bottom"],this.validModes=["float","push","reveal"],this.contentWrapMutationObserver=null,this.init()}log(t=""){console.log("Bartender: "+t)}logError(t=""){console.error("Bartender: "+t)}debug(t=""){this.options.debug&&console.log("Bartender debug: "+t)}disableFocus(t=[]){const e=performance.now();let s=0;for(let e=0;e0&&this.debug("Disabled focus of "+s+" elements in "+(i-e))}enableFocus(t=[]){const e=performance.now();let s=0;for(let e=0;e0&&this.debug("Enabled focus of "+s+" elements in "+(i-e))}isValidPosition(t=null){return this.validBarPositions.indexOf(t)>=0}init(){try{if(this.mainWrap=document.querySelector(this.options.mainWrapSelector),!this.mainWrap)throw"Main wrap element was not found with selector: "+this.options.mainWrapSelector;if(this.contentWrap=this.mainWrap.querySelector(this.options.contentWrapSelector),!this.contentWrap)throw"Content wrap element was not found with selector: "+this.options.contentWrapSelector;this.openButtons=this.mainWrap.querySelectorAll("[data-bartender-open]"),this.closeButtons=this.mainWrap.querySelectorAll("[data-bartender-close]"),this.toggleButtons=this.mainWrap.querySelectorAll("[data-bartender-toggle]"),this.mainWrap.classList.add("bartender-main"),this.contentWrap.classList.add("bartender-content"),this.contentWrap.setAttribute("tabindex","-1");const t=this.mainWrap.querySelectorAll("[data-bartender-bar]");for(let e=0;e{this.open(s,e)}))}for(let t=0;t{this.toggle(s,e)}))}for(let t=0;t{this.close()}))}this.pushElements=this.mainWrap.querySelectorAll("[data-bartender-push]"),this.pushElements.length&&this.debug("Registered "+this.pushElements.length+" pushable elements."),this.options.overlay&&!this.overlay&&(this.overlay=document.createElement("div"),this.overlay.classList.add("bartender-overlay"),!0===this.options.closeOnOverlayClick&&this.overlay.addEventListener("click",(()=>this.close())),this.contentWrap.appendChild(this.overlay)),this.options.closeOnEsc&&window.addEventListener("keydown",(t=>{let e=t.key||t.keyCode;"Escape"!==e&&"Esc"!==e&&27!==e||this.close()})),window.addEventListener("resize",(()=>{clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout((()=>{this.setPush()}),200)})),!0===this.options.trapFocus&&(this.contentWrapMutationObserver=new MutationObserver((t=>{if(this.currentOpenBar)for(let e=0;e{t.style.transition=null}));const n={element:t,position:i,mode:r,mutationObserver:new MutationObserver((t=>{if(!this.currentOpenBar||this.currentOpenBar.position!==i)for(let e=0;e=0?(this.previousOpenButton.focus(),this.previousOpenButton.setAttribute("aria-expanded","false"),this.previousOpenButton=null):!0===t&&this.contentWrap.focus(),e}catch(t){this.logError(t)}}setPush(){if(!this.currentOpenBar||!this.currentOpenBar.mode)return;let t=null;switch(this.mainWrap.style.overflow="hidden",this.currentOpenBar.position){case"left":t="translateX("+this.currentOpenBar.element.offsetWidth+"px)";break;case"right":t="translateX(-"+this.currentOpenBar.element.offsetWidth+"px)";break;case"top":t="translateY("+this.currentOpenBar.element.offsetHeight+"px)";break;case"bottom":t="translateY(-"+this.currentOpenBar.element.offsetHeight+"px)"}["push","reveal"].indexOf(this.currentOpenBar.mode)>=0&&(this.contentWrap.style.transform=t);for(let e=0;e0&&this.debug("Disabled focus of "+s+" elements in "+(i-e))}enableFocus(t=[]){const e=performance.now();let s=0;for(let e=0;e0&&this.debug("Enabled focus of "+s+" elements in "+(i-e))}isValidPosition(t=null){return this.validBarPositions.indexOf(t)>=0}init(){try{if(this.mainWrap=document.querySelector(this.options.mainWrapSelector),!this.mainWrap)throw"Main wrap element was not found with selector: "+this.options.mainWrapSelector;if(this.mainWrap.classList.add("bartender-main"),this.contentWrap=this.mainWrap.querySelector(this.options.contentWrapSelector),!this.contentWrap)throw"Content wrap element was not found with selector: "+this.options.contentWrapSelector;this.contentWrap.classList.add("bartender-content"),this.contentWrap.setAttribute("tabindex","-1"),this.openButtons=this.mainWrap.querySelectorAll("[data-bartender-open]"),this.closeButtons=this.mainWrap.querySelectorAll("[data-bartender-close]"),this.toggleButtons=this.mainWrap.querySelectorAll("[data-bartender-toggle]");const t=this.mainWrap.querySelectorAll("[data-bartender-bar]");for(let e=0;e{this.open(s,e)}))}for(let t=0;t{this.toggle(s,e)}))}for(let t=0;t{this.close()}))}this.pushElements=this.mainWrap.querySelectorAll("[data-bartender-push]"),this.pushElements.length&&this.debug("Registered "+this.pushElements.length+" pushable elements."),this.options.overlay&&!this.overlay&&(this.overlay=document.createElement("div"),this.overlay.classList.add("bartender-overlay"),!0===this.options.closeOnOverlayClick&&this.overlay.addEventListener("click",(()=>this.close())),this.contentWrap.appendChild(this.overlay)),this.options.closeOnEsc&&window.addEventListener("keydown",(t=>{let e=t.key||t.keyCode;"Escape"!==e&&"Esc"!==e&&27!==e||this.close()})),window.addEventListener("resize",(()=>{clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout((()=>{this.setPush()}),200)})),!0===this.options.trapFocus&&(this.contentWrapMutationObserver=new MutationObserver((t=>{if(this.currentOpenBar)for(let e=0;e{t.style.transition=null}));const n={element:t,position:i,mode:r,mutationObserver:new MutationObserver((t=>{if(!this.currentOpenBar||this.currentOpenBar.position!==i)for(let e=0;e=0?(this.previousOpenButton.focus(),this.previousOpenButton.setAttribute("aria-expanded","false"),this.previousOpenButton=null):!0===t&&this.contentWrap.focus(),e}catch(t){this.logError(t)}}setPush(){if(!this.currentOpenBar||!this.currentOpenBar.mode)return;let t=null;switch(this.mainWrap.style.overflow="hidden",this.currentOpenBar.position){case"left":t="translateX("+this.currentOpenBar.element.offsetWidth+"px)";break;case"right":t="translateX(-"+this.currentOpenBar.element.offsetWidth+"px)";break;case"top":t="translateY("+this.currentOpenBar.element.offsetHeight+"px)";break;case"bottom":t="translateY(-"+this.currentOpenBar.element.offsetHeight+"px)"}["push","reveal"].indexOf(this.currentOpenBar.mode)>=0&&(this.contentWrap.style.transform=t);for(let e=0;e 0) {\n this.debug('Disabled focus of ' + iterationCount + ' elements in ' + (endTime - startTime))\n }\n }\n\n /**\n * Enable focus of elements\n *\n * @param {array} Array of DOM elements\n * @returns {void}\n */\n enableFocus (elements = []) {\n const startTime = performance.now()\n\n let iterationCount = 0\n\n for (let i = 0; i < elements.length; i++) {\n let element = elements[i]\n\n // If element has previous tabindex marked, return it. Otherwise just remove tabindex attribute.\n if (element.getAttribute('data-bartender-prevtabindex') != 'null') {\n element.setAttribute('tabindex', element.getAttribute('data-bartender-prevtabindex'))\n } else {\n element.removeAttribute('tabindex')\n }\n\n element.removeAttribute('data-bartender-prevtabindex')\n\n iterationCount++\n }\n\n const endTime = performance.now()\n\n if (iterationCount > 0) {\n this.debug('Enabled focus of ' + iterationCount + ' elements in ' + (endTime - startTime))\n }\n }\n\n /**\n * Is defined bar position valid?\n *\n * @param {string} position - Position to validate\n * @returns {boolean}\n */\n isValidPosition (position = null) {\n return this.validBarPositions.indexOf(position) >= 0\n }\n\n /**\n * Initialize Bartender\n *\n * @returns {object} Bartender instance\n */\n init () {\n try {\n // Find and validate required elements\n this.mainWrap = document.querySelector(this.options.mainWrapSelector)\n if (!this.mainWrap) throw 'Main wrap element was not found with selector: ' + this.options.mainWrapSelector\n\n this.contentWrap = this.mainWrap.querySelector(this.options.contentWrapSelector)\n if (!this.contentWrap) throw 'Content wrap element was not found with selector: ' + this.options.contentWrapSelector\n\n // Find buttons\n this.openButtons = this.mainWrap.querySelectorAll('[data-bartender-open]')\n this.closeButtons = this.mainWrap.querySelectorAll('[data-bartender-close]')\n this.toggleButtons = this.mainWrap.querySelectorAll('[data-bartender-toggle]')\n\n // Add classes\n this.mainWrap.classList.add('bartender-main')\n this.contentWrap.classList.add('bartender-content')\n this.contentWrap.setAttribute('tabindex', '-1')\n\n // Find bars\n const bars = this.mainWrap.querySelectorAll('[data-bartender-bar]')\n\n for (let i = 0; i < bars.length; i++) {\n this.addBar(bars[i])\n }\n\n // Open buttons\n for (let i = 0; i < this.openButtons.length; i++) {\n let button = this.openButtons[i]\n let position = button.getAttribute('data-bartender-open')\n\n if (!this.isValidPosition(position)) {\n this.logError('Open button has invalid bar position \\'' + position + '\\' defined. Use one of the following values: ' + this.validBarPositions.join(', '))\n return\n }\n\n button.setAttribute('aria-expanded', 'false')\n button.addEventListener('click', () => {\n this.open(position, button)\n })\n }\n\n // Toggle buttons\n for (let i = 0; i < this.toggleButtons.length; i++) {\n let button = this.toggleButtons[i]\n let position = button.getAttribute('data-bartender-toggle')\n\n if (!this.isValidPosition(position)) {\n this.logError('Toggle button has invalid bar position \\'' + position + '\\' defined. Use one of the following values: ' + this.validBarPositions.join(', '))\n return\n }\n\n button.setAttribute('aria-expanded', 'false')\n button.addEventListener('click', () => {\n this.toggle(position, button)\n })\n }\n\n // Close buttons\n for (let i = 0; i < this.closeButtons.length; i++) {\n let button = this.closeButtons[i]\n\n button.addEventListener('click', () => {\n this.close()\n })\n }\n\n // Find pushable elements\n this.pushElements = this.mainWrap.querySelectorAll('[data-bartender-push]')\n\n if (this.pushElements.length) this.debug('Registered ' + this.pushElements.length + ' pushable elements.')\n\n // Add overlay\n if (this.options.overlay && !this.overlay) {\n this.overlay = document.createElement('div')\n this.overlay.classList.add('bartender-overlay')\n\n if (this.options.closeOnOverlayClick === true) {\n this.overlay.addEventListener('click', () => this.close())\n }\n\n this.contentWrap.appendChild(this.overlay)\n }\n\n // Enable closing the bar with escape key\n if (this.options.closeOnEsc) {\n window.addEventListener('keydown', event => {\n let key = event.key || event.keyCode\n\n if (key === 'Escape' || key === 'Esc' || key === 27) {\n this.close()\n }\n })\n }\n\n // Adjust content wrapper transform when window is resized\n window.addEventListener('resize', () => {\n clearTimeout(this.resizeTimeout)\n\n this.resizeTimeout = setTimeout(() => {\n this.setPush()\n }, 200)\n })\n\n // Add mutation observer for content wrapper\n if (this.options.trapFocus === true) {\n this.contentWrapMutationObserver = new MutationObserver((mutationsList) => {\n if (!this.currentOpenBar) return\n\n for (let i = 0; i < mutationsList.length; i++) {\n let mutation = mutationsList[i]\n\n if (mutation.type === 'childList') {\n if (mutation.addedNodes && mutation.addedNodes.length) {\n this.disableFocus(mutation.addedNodes)\n }\n }\n }\n })\n\n this.contentWrapMutationObserver.observe(this.contentWrap, {\n attributes: false,\n childList: true,\n subtree: true,\n })\n }\n\n // Add class to the main wrap\n this.mainWrap.classList.add(this.options.readyClass)\n } catch (error) {\n this.logError(error)\n }\n\n return this\n }\n\n /**\n * Add a new off-canvas bar\n *\n * @param {object} element - DOM element. If undefined, the element will be created.\n * @param {object} options - Bar options\n * @returns {object} Added bar instance\n */\n addBar (element = null, options = {}) {\n try {\n // If element doesn't exist, create it\n let newElement = false\n\n if (element === null) {\n newElement = true\n element = document.createElement('div')\n }\n\n // Initially remove transition\n element.style.transition = 'none'\n\n // Get bar configuration\n let position = options.position || element.getAttribute('data-bartender-bar')\n let mode = options.mode || element.getAttribute('data-bartender-bar-mode')\n\n // If mode is not specified, fall back to 'float'\n mode = mode || 'float'\n\n // Validate configuration\n if (!this.isValidPosition(position)) throw 'Invalid bar position \\'' + position + '\\'. Use one of the following values: ' + this.validBarPositions.join(', ')\n if (this.validModes.indexOf(mode) < 0) throw 'Invalid mode \\'' + mode + '\\' for bar \\'' + position + '\\'. Use one of the following values: ' + this.validModes.join(', ')\n if (this.bars[position]) throw 'Bar with position \\'' + position + '\\' is already defined'\n\n // Initially disable focus of the bar and it's child elements\n element.setAttribute('tabindex', '-1')\n element.setAttribute('aria-hidden', 'true')\n this.disableFocus(element.querySelectorAll(this.options.focusableElementSelector))\n\n // Set data-attributes\n element.setAttribute('data-bartender-bar', position)\n element.setAttribute('data-bartender-bar-mode', mode)\n\n // If element is new, append to main container\n if (newElement === true) this.mainWrap.appendChild(element)\n\n // Return transition\n setTimeout(() => {\n element.style.transition = null\n })\n\n // Create new bar object\n const newBar = {\n element: element,\n position: position,\n mode: mode,\n mutationObserver: new MutationObserver((mutationsList) => {\n if (this.currentOpenBar && this.currentOpenBar.position === position) return\n\n for (let i = 0; i < mutationsList.length; i++) {\n let mutation = mutationsList[i]\n\n if (mutation.type === 'childList') {\n if (mutation.addedNodes && mutation.addedNodes.length) {\n this.disableFocus(mutation.addedNodes)\n }\n }\n }\n }),\n }\n\n newBar.mutationObserver.observe(newBar.element, {\n attributes: false,\n childList: true,\n subtree: true,\n })\n\n this.bars[position] = newBar\n\n this.debug('Added bar \\'' + position + '\\' with mode \\'' + mode + '\\'')\n\n return newBar\n } catch (error) {\n this.logError(error)\n\n return null\n }\n }\n\n /**\n * Remove bar\n *\n * @param {string} position - Bar position to remove\n * @param {boolean} removeElement - Remove DOM element?\n * @returns {void}\n */\n removeBar (position = null, removeElement = true) {\n try {\n // If this bar is currently open, close it first\n if (this.currentOpenBar && this.currentOpenBar.position === position) {\n this.close()\n }\n\n // Validate position\n if (!this.isValidPosition(position)) throw 'Invalid bar position \\'' + position + '\\'. Use one of the following values: ' + this.validBarPositions.join(', ')\n if (!this.bars[position]) throw 'Bar with position \\'' + position + '\\' doesn\\'t exist'\n\n if (removeElement === true) {\n this.mainWrap.removeChild(this.bars[position].element)\n }\n\n delete this.bars[position]\n\n this.debug('Removed bar with position \\'' + position + '\\'')\n } catch (error) {\n this.logError(error)\n }\n }\n\n /**\n * Open off-canvas bar\n *\n * @param {string} position - Bar position\n * @param {object} button - Button which was used to run this method\n * @returns {object} Opened bar instance\n */\n open (position = '', button = null) {\n try {\n // Validate position\n if (!this.isValidPosition(position)) throw 'Invalid bar position \\'' + position + '\\'. Use one of the following values: ' + this.validBarPositions.join(', ')\n\n // Get bar instance\n const bar = this.bars[position]\n\n if (!bar) throw 'Bar with position \\'' + position + '\\' is not defined.'\n\n // Close other bars\n if (this.currentOpenBar) {\n this.close(false)\n } else if (this.options.trapFocus === true) {\n this.disableFocus(this.contentWrap.querySelectorAll(this.options.focusableElementSelector))\n }\n\n this.contentWrap.setAttribute('aria-hidden', 'true')\n\n this.debug('Opening bar \\'' + position + '\\'')\n\n // Mark this bar as open\n this.currentOpenBar = bar\n bar.element.classList.add('bartender-bar--open')\n\n // Scroll to top\n if (this.options.scrollTop) {\n bar.element.scrollTop = 0\n }\n\n // Focus on bar\n bar.element.removeAttribute('aria-hidden')\n this.enableFocus(bar.element.querySelectorAll('[data-bartender-prevtabindex]'))\n bar.element.focus()\n\n // Push elements\n this.setPush()\n\n // Remember the button which was used to open the bar\n this.previousOpenButton = button\n\n // Set ARIA attributes of the button\n if (button) button.setAttribute('aria-expanded', true)\n\n // Show overlay\n this.showOverlay()\n\n // Add class to the main element\n this.mainWrap.classList.add(this.options.openClass)\n\n // Dispatch event\n this.mainWrap.dispatchEvent(new CustomEvent('bartender-open', {\n bubbles: true,\n detail: {\n bar: bar,\n button: button,\n },\n }))\n\n return bar\n } catch (error) {\n this.logError(error)\n }\n }\n\n /**\n * Toggle off-canvas bar\n *\n * @param {string} position - Bar position\n * @param {object} button - Button which was used to run this method\n * @returns {object} Toggled bar instance\n */\n toggle (position = null, button = null) {\n try {\n if (!this.isValidPosition(position)) throw 'Invalid bar position \\'' + position + '\\'. Use one of the following values: ' + this.validBarPositions.join(', ')\n\n if (this.currentOpenBar && this.currentOpenBar.position == position) {\n return this.close()\n } else {\n this.close()\n return this.open(position, button)\n }\n } catch (error) {\n this.logError(error)\n }\n }\n\n /**\n * Close any open off-canvas bar\n *\n * @param {boolean} enableFocusOfContentWrap - Enable focus of content wrap\n * @returns {object} Closed bar\n */\n close (enableFocusOfContentWrap = true) {\n try {\n if (!this.currentOpenBar) return\n\n let bar = this.bars[this.currentOpenBar.position]\n\n this.debug('Closing bar \\'' + bar.position + '\\'')\n\n // Dispatch event\n this.mainWrap.dispatchEvent(new CustomEvent('bartender-close', {\n bubbles: true,\n detail: {\n bar: bar,\n },\n }))\n\n // Hide overlay\n this.hideOverlay()\n\n // Remove transform from wrapper element\n this.contentWrap.style.removeProperty('transform')\n\n // Remove transforms from pushable elements\n for (let i = 0; i < this.pushElements.length; i++) {\n this.pushElements[i].style.removeProperty('transform')\n }\n\n // Disable focus of bar element\n this.disableFocus(bar.element.querySelectorAll(this.options.focusableElementSelector))\n bar.element.setAttribute('tabindex', '-1')\n bar.element.setAttribute('aria-hidden', 'true')\n\n // Enable focus on content element\n this.contentWrap.removeAttribute('aria-hidden')\n\n if (this.options.trapFocus === true && enableFocusOfContentWrap === true) {\n this.enableFocus(this.contentWrap.querySelectorAll('[data-bartender-prevtabindex]'))\n }\n\n // Close the bar\n bar.element.classList.remove('bartender-bar--open')\n this.currentOpenBar = null\n\n // Restore scrolling to the main wrap\n this.mainWrap.style.removeProperty('overflow')\n\n // Remove class from the main wrap\n this.mainWrap.classList.remove(this.options.openClass)\n\n // Focus open button which was used to open the bar\n if (this.previousOpenButton && this.previousOpenButton.getAttribute('tabindex') >= 0) {\n this.previousOpenButton.focus()\n this.previousOpenButton.setAttribute('aria-expanded', 'false')\n this.previousOpenButton = null\n } else if (enableFocusOfContentWrap === true) {\n // Bar was closed using keyboard or API. Focus on content wrapper instead.\n this.contentWrap.focus()\n }\n\n return bar\n } catch (error) {\n this.logError(error)\n }\n }\n\n /**\n * Set transforms for pushable elements\n *\n * @returns {void}\n */\n setPush () {\n if (!this.currentOpenBar || !this.currentOpenBar.mode) return\n\n let transform = null\n\n // Hide overflow of main wrapper\n // This has to be done first in order to get correct width/height\n this.mainWrap.style.overflow = 'hidden'\n\n switch (this.currentOpenBar.position) {\n case 'left':\n transform = 'translateX(' + this.currentOpenBar.element.offsetWidth + 'px)'\n break\n\n case 'right':\n transform = 'translateX(-' + this.currentOpenBar.element.offsetWidth + 'px)'\n break\n\n case 'top':\n transform = 'translateY(' + this.currentOpenBar.element.offsetHeight + 'px)'\n break\n\n case 'bottom':\n transform = 'translateY(-' + this.currentOpenBar.element.offsetHeight + 'px)'\n break\n }\n\n if ([\n 'push',\n 'reveal',\n ].indexOf(this.currentOpenBar.mode) >= 0) {\n // Transform content wrapper\n this.contentWrap.style.transform = transform\n }\n\n // Transform other pushable elements\n for (let i = 0; i < this.pushElements.length; i++) {\n this.pushElements[i].style.transform = transform\n }\n }\n\n /**\n * Show shading overlay\n *\n * @returns {void}\n */\n showOverlay () {\n if (!this.overlay) return\n if (this.overlay.classList.contains('bartender-overlay--visible')) return\n\n this.overlay.classList.add('bartender-overlay--visible')\n }\n\n /**\n * Hide shading overlay\n *\n * @returns {void}\n */\n hideOverlay () {\n if (!this.overlay) return\n if (!this.overlay.classList.contains('bartender-overlay--visible')) return\n\n this.overlay.classList.remove('bartender-overlay--visible')\n }\n}\n"],"file":"bartender.module.js"} \ No newline at end of file +{"version":3,"names":[],"mappings":"","sources":["bartender.module.js"],"sourcesContent":["'use strict'\n\n/**\n * Class for creating accessible off-canvas bars.\n */\nclass Bartender {\n\n /**\n * @param {object} options - User defined options\n */\n constructor (options) {\n // Polyfill custom events\n if (typeof window.CustomEvent !== 'function') {\n window.CustomEvent = function (event, params) {\n params = params || {\n bubbles: false,\n cancelable: false,\n detail: null,\n }\n\n var evt = document.createEvent('CustomEvent')\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail)\n return evt\n }\n }\n\n // Apply user configuration\n this.options = Object.assign({\n // Debug mode\n debug: false,\n\n // Show shading overlay over content wrapper when bar is open?\n overlay: true,\n\n // Close open bar by clicking the overlay?\n closeOnOverlayClick: true,\n\n // Close open bar with escape key?\n closeOnEsc: true,\n\n // Trap focus to the open bar?\n trapFocus: false,\n\n // Scroll bar to the top when opening it?\n scrollTop: true,\n\n // Selector to find main wrapper\n mainWrapSelector: '.bartender-main',\n\n // Selector to find content wrapper\n contentWrapSelector: '.bartender-content',\n\n // Selector for focusable elements\n focusableElementSelector: '[href], button, input, textarea, select, details, [tabindex]:not([tabindex=\"-1\"])',\n\n // Classes\n readyClass: 'bartender-ready',\n openClass: 'bartender-open',\n }, options)\n\n // Overlay element\n this.overlay = null\n\n // Currently open bar\n this.currentOpenBar = null\n\n // Button which was previously used to open the bar\n this.previousOpenButton = null\n\n // Window resize timeout\n this.resizeTimeout = null\n\n // Object for storing the bars\n this.bars = {}\n\n // Arrays for storing buttons\n this.openButtons = []\n this.closeButtons = []\n this.toggleButtons = []\n\n // Array for storing pushable elements\n // These elements will be moved when bar with \"push\" or \"reveal\" mode is being opened.\n this.pushElements = []\n\n // Valid bar positions\n this.validBarPositions = [\n 'left',\n 'right',\n 'top',\n 'bottom',\n ]\n\n // Valid bar modes\n this.validModes = [\n 'float',\n 'push',\n 'reveal',\n ]\n\n // Mutation observer for content wrap\n this.contentWrapMutationObserver = null\n\n // Run initializer\n this.init()\n }\n\n /**\n * Log to console\n *\n * @param {string} text - Text to log\n * @returns {void}\n */\n log (text = '') {\n console.log('Bartender: ' + text)\n }\n\n /**\n * Log error to console\n *\n * @param {string} text - Text to log\n * @returns {void}\n */\n logError (text = '') {\n console.error('Bartender: ' + text)\n }\n\n /**\n * Log debug message to console\n *\n * @param {string} text - Text to log\n * @returns {void}\n */\n debug (text = '') {\n if (!this.options.debug) return\n\n console.log('Bartender debug: ' + text)\n }\n\n /**\n * Disable focus of elements\n *\n * @param {array} Array of DOM elements\n * @returns {void}\n */\n disableFocus (elements = []) {\n const startTime = performance.now()\n\n let iterationCount = 0\n\n for (let i = 0; i < elements.length; i++) {\n let element = elements[i]\n\n // Discard element if it's not focusable, or if it's already disabled\n if (typeof element.matches !== 'function' || !element.matches(this.options.focusableElementSelector) || element.getAttribute('data-bartender-prevtabindex')) continue\n\n element.setAttribute('data-bartender-prevtabindex', element.getAttribute('tabindex'))\n element.setAttribute('tabindex', '-1')\n\n iterationCount++\n }\n\n const endTime = performance.now()\n\n if (iterationCount > 0) {\n this.debug('Disabled focus of ' + iterationCount + ' elements in ' + (endTime - startTime))\n }\n }\n\n /**\n * Enable focus of elements\n *\n * @param {array} Array of DOM elements\n * @returns {void}\n */\n enableFocus (elements = []) {\n const startTime = performance.now()\n\n let iterationCount = 0\n\n for (let i = 0; i < elements.length; i++) {\n let element = elements[i]\n\n // If element has previous tabindex marked, return it. Otherwise just remove tabindex attribute.\n if (element.getAttribute('data-bartender-prevtabindex') != 'null') {\n element.setAttribute('tabindex', element.getAttribute('data-bartender-prevtabindex'))\n } else {\n element.removeAttribute('tabindex')\n }\n\n element.removeAttribute('data-bartender-prevtabindex')\n\n iterationCount++\n }\n\n const endTime = performance.now()\n\n if (iterationCount > 0) {\n this.debug('Enabled focus of ' + iterationCount + ' elements in ' + (endTime - startTime))\n }\n }\n\n /**\n * Is defined bar position valid?\n *\n * @param {string} position - Position to validate\n * @returns {boolean}\n */\n isValidPosition (position = null) {\n return this.validBarPositions.indexOf(position) >= 0\n }\n\n /**\n * Initialize Bartender\n *\n * @returns {object} Bartender instance\n */\n init () {\n try {\n // Main wrap\n this.mainWrap = document.querySelector(this.options.mainWrapSelector)\n if (!this.mainWrap) throw 'Main wrap element was not found with selector: ' + this.options.mainWrapSelector\n this.mainWrap.classList.add('bartender-main')\n\n // Content wrap\n this.contentWrap = this.mainWrap.querySelector(this.options.contentWrapSelector)\n if (!this.contentWrap) throw 'Content wrap element was not found with selector: ' + this.options.contentWrapSelector\n this.contentWrap.classList.add('bartender-content')\n this.contentWrap.setAttribute('tabindex', '-1')\n\n // Find buttons\n this.openButtons = this.mainWrap.querySelectorAll('[data-bartender-open]')\n this.closeButtons = this.mainWrap.querySelectorAll('[data-bartender-close]')\n this.toggleButtons = this.mainWrap.querySelectorAll('[data-bartender-toggle]')\n\n // Find bars\n const bars = this.mainWrap.querySelectorAll('[data-bartender-bar]')\n\n for (let i = 0; i < bars.length; i++) {\n this.addBar(bars[i])\n }\n\n // Open buttons\n for (let i = 0; i < this.openButtons.length; i++) {\n let button = this.openButtons[i]\n let position = button.getAttribute('data-bartender-open')\n\n if (!this.isValidPosition(position)) {\n this.logError('Open button has invalid bar position \\'' + position + '\\' defined. Use one of the following values: ' + this.validBarPositions.join(', '))\n return\n }\n\n button.setAttribute('aria-expanded', 'false')\n button.addEventListener('click', () => {\n this.open(position, button)\n })\n }\n\n // Toggle buttons\n for (let i = 0; i < this.toggleButtons.length; i++) {\n let button = this.toggleButtons[i]\n let position = button.getAttribute('data-bartender-toggle')\n\n if (!this.isValidPosition(position)) {\n this.logError('Toggle button has invalid bar position \\'' + position + '\\' defined. Use one of the following values: ' + this.validBarPositions.join(', '))\n return\n }\n\n button.setAttribute('aria-expanded', 'false')\n button.addEventListener('click', () => {\n this.toggle(position, button)\n })\n }\n\n // Close buttons\n for (let i = 0; i < this.closeButtons.length; i++) {\n let button = this.closeButtons[i]\n\n button.addEventListener('click', () => {\n this.close()\n })\n }\n\n // Find pushable elements\n this.pushElements = this.mainWrap.querySelectorAll('[data-bartender-push]')\n\n if (this.pushElements.length) this.debug('Registered ' + this.pushElements.length + ' pushable elements.')\n\n // Add overlay\n if (this.options.overlay && !this.overlay) {\n this.overlay = document.createElement('div')\n this.overlay.classList.add('bartender-overlay')\n\n if (this.options.closeOnOverlayClick === true) {\n this.overlay.addEventListener('click', () => this.close())\n }\n\n this.contentWrap.appendChild(this.overlay)\n }\n\n // Enable closing the bar with escape key\n if (this.options.closeOnEsc) {\n window.addEventListener('keydown', event => {\n let key = event.key || event.keyCode\n\n if (key === 'Escape' || key === 'Esc' || key === 27) {\n this.close()\n }\n })\n }\n\n // Adjust content wrapper transform when window is resized\n window.addEventListener('resize', () => {\n clearTimeout(this.resizeTimeout)\n\n this.resizeTimeout = setTimeout(() => {\n this.setPush()\n }, 200)\n })\n\n // Add mutation observer for content wrapper\n if (this.options.trapFocus === true) {\n this.contentWrapMutationObserver = new MutationObserver((mutationsList) => {\n if (!this.currentOpenBar) return\n\n for (let i = 0; i < mutationsList.length; i++) {\n let mutation = mutationsList[i]\n\n if (mutation.type === 'childList') {\n if (mutation.addedNodes && mutation.addedNodes.length) {\n this.disableFocus(mutation.addedNodes)\n }\n }\n }\n })\n\n this.contentWrapMutationObserver.observe(this.contentWrap, {\n attributes: false,\n childList: true,\n subtree: true,\n })\n }\n\n // Add class to the main wrap\n this.mainWrap.classList.add(this.options.readyClass)\n } catch (error) {\n this.logError(error)\n }\n\n return this\n }\n\n /**\n * Add a new off-canvas bar\n *\n * @param {object} element - DOM element. If undefined, the element will be created.\n * @param {object} options - Bar options\n * @returns {object} Added bar instance\n */\n addBar (element = null, options = {}) {\n try {\n // If element doesn't exist, create it\n let newElement = false\n\n if (element === null) {\n newElement = true\n element = document.createElement('div')\n }\n\n // Initially remove transition\n element.style.transition = 'none'\n\n // Get bar configuration\n let position = options.position || element.getAttribute('data-bartender-bar')\n let mode = options.mode || element.getAttribute('data-bartender-bar-mode')\n\n // If mode is not specified, fall back to 'float'\n mode = mode || 'float'\n\n // Validate configuration\n if (!this.isValidPosition(position)) throw 'Invalid bar position \\'' + position + '\\'. Use one of the following values: ' + this.validBarPositions.join(', ')\n if (this.validModes.indexOf(mode) < 0) throw 'Invalid mode \\'' + mode + '\\' for bar \\'' + position + '\\'. Use one of the following values: ' + this.validModes.join(', ')\n if (this.bars[position]) throw 'Bar with position \\'' + position + '\\' is already defined'\n\n // Initially disable focus of the bar and it's child elements\n element.setAttribute('tabindex', '-1')\n element.setAttribute('aria-hidden', 'true')\n this.disableFocus(element.querySelectorAll(this.options.focusableElementSelector))\n\n // Set data-attributes\n element.setAttribute('data-bartender-bar', position)\n element.setAttribute('data-bartender-bar-mode', mode)\n\n // If element is new, append to main container\n if (newElement === true) this.mainWrap.appendChild(element)\n\n // Return transition\n setTimeout(() => {\n element.style.transition = null\n })\n\n // Create new bar object\n const newBar = {\n element: element,\n position: position,\n mode: mode,\n mutationObserver: new MutationObserver((mutationsList) => {\n if (this.currentOpenBar && this.currentOpenBar.position === position) return\n\n for (let i = 0; i < mutationsList.length; i++) {\n let mutation = mutationsList[i]\n\n if (mutation.type === 'childList') {\n if (mutation.addedNodes && mutation.addedNodes.length) {\n this.disableFocus(mutation.addedNodes)\n }\n }\n }\n }),\n }\n\n newBar.mutationObserver.observe(newBar.element, {\n attributes: false,\n childList: true,\n subtree: true,\n })\n\n this.bars[position] = newBar\n\n this.debug('Added bar \\'' + position + '\\' with mode \\'' + mode + '\\'')\n\n return newBar\n } catch (error) {\n this.logError(error)\n\n return null\n }\n }\n\n /**\n * Remove bar\n *\n * @param {string} position - Bar position to remove\n * @param {boolean} removeElement - Remove DOM element?\n * @returns {void}\n */\n removeBar (position = null, removeElement = true) {\n try {\n // If this bar is currently open, close it first\n if (this.currentOpenBar && this.currentOpenBar.position === position) {\n this.close()\n }\n\n // Validate position\n if (!this.isValidPosition(position)) throw 'Invalid bar position \\'' + position + '\\'. Use one of the following values: ' + this.validBarPositions.join(', ')\n if (!this.bars[position]) throw 'Bar with position \\'' + position + '\\' doesn\\'t exist'\n\n if (removeElement === true) {\n this.mainWrap.removeChild(this.bars[position].element)\n }\n\n delete this.bars[position]\n\n this.debug('Removed bar with position \\'' + position + '\\'')\n } catch (error) {\n this.logError(error)\n }\n }\n\n /**\n * Open off-canvas bar\n *\n * @param {string} position - Bar position\n * @param {object} button - Button which was used to run this method\n * @returns {object} Opened bar instance\n */\n open (position = '', button = null) {\n try {\n // Validate position\n if (!this.isValidPosition(position)) throw 'Invalid bar position \\'' + position + '\\'. Use one of the following values: ' + this.validBarPositions.join(', ')\n\n // Get bar instance\n const bar = this.bars[position]\n\n if (!bar) throw 'Bar with position \\'' + position + '\\' is not defined.'\n\n // Close other bars\n if (this.currentOpenBar) {\n this.close(false)\n } else if (this.options.trapFocus === true) {\n this.disableFocus(this.contentWrap.querySelectorAll(this.options.focusableElementSelector))\n }\n\n this.contentWrap.setAttribute('aria-hidden', 'true')\n\n this.debug('Opening bar \\'' + position + '\\'')\n\n // Mark this bar as open\n this.currentOpenBar = bar\n bar.element.classList.add('bartender-bar--open')\n\n // Scroll to top\n if (this.options.scrollTop) {\n bar.element.scrollTop = 0\n }\n\n // Focus on bar\n bar.element.removeAttribute('aria-hidden')\n this.enableFocus(bar.element.querySelectorAll('[data-bartender-prevtabindex]'))\n bar.element.focus()\n\n // Push elements\n this.setPush()\n\n // Remember the button which was used to open the bar\n this.previousOpenButton = button\n\n // Set ARIA attributes of the button\n if (button) button.setAttribute('aria-expanded', true)\n\n // Show overlay\n this.showOverlay()\n\n // Add class to the main element\n this.mainWrap.classList.add(this.options.openClass)\n\n // Dispatch event\n this.mainWrap.dispatchEvent(new CustomEvent('bartender-open', {\n bubbles: true,\n detail: {\n bar: bar,\n button: button,\n },\n }))\n\n return bar\n } catch (error) {\n this.logError(error)\n }\n }\n\n /**\n * Toggle off-canvas bar\n *\n * @param {string} position - Bar position\n * @param {object} button - Button which was used to run this method\n * @returns {object} Toggled bar instance\n */\n toggle (position = null, button = null) {\n try {\n if (!this.isValidPosition(position)) throw 'Invalid bar position \\'' + position + '\\'. Use one of the following values: ' + this.validBarPositions.join(', ')\n\n if (this.currentOpenBar && this.currentOpenBar.position == position) {\n return this.close()\n } else {\n this.close()\n return this.open(position, button)\n }\n } catch (error) {\n this.logError(error)\n }\n }\n\n /**\n * Close any open off-canvas bar\n *\n * @param {boolean} enableFocusOfContentWrap - Enable focus of content wrap\n * @returns {object} Closed bar\n */\n close (enableFocusOfContentWrap = true) {\n try {\n if (!this.currentOpenBar) return\n\n let bar = this.bars[this.currentOpenBar.position]\n\n this.debug('Closing bar \\'' + bar.position + '\\'')\n\n // Dispatch event\n this.mainWrap.dispatchEvent(new CustomEvent('bartender-close', {\n bubbles: true,\n detail: {\n bar: bar,\n },\n }))\n\n // Hide overlay\n this.hideOverlay()\n\n // Remove transform from wrapper element\n this.contentWrap.style.removeProperty('transform')\n\n // Remove transforms from pushable elements\n for (let i = 0; i < this.pushElements.length; i++) {\n this.pushElements[i].style.removeProperty('transform')\n }\n\n // Disable focus of bar element\n this.disableFocus(bar.element.querySelectorAll(this.options.focusableElementSelector))\n bar.element.setAttribute('tabindex', '-1')\n bar.element.setAttribute('aria-hidden', 'true')\n\n // Enable focus on content element\n this.contentWrap.removeAttribute('aria-hidden')\n\n if (this.options.trapFocus === true && enableFocusOfContentWrap === true) {\n this.enableFocus(this.contentWrap.querySelectorAll('[data-bartender-prevtabindex]'))\n }\n\n // Close the bar\n bar.element.classList.remove('bartender-bar--open')\n this.currentOpenBar = null\n\n // Restore scrolling to the main wrap\n this.mainWrap.style.removeProperty('overflow')\n\n // Remove class from the main wrap\n this.mainWrap.classList.remove(this.options.openClass)\n\n // Focus open button which was used to open the bar\n if (this.previousOpenButton && this.previousOpenButton.getAttribute('tabindex') >= 0) {\n this.previousOpenButton.focus()\n this.previousOpenButton.setAttribute('aria-expanded', 'false')\n this.previousOpenButton = null\n } else if (enableFocusOfContentWrap === true) {\n // Bar was closed using keyboard or API. Focus on content wrapper instead.\n this.contentWrap.focus()\n }\n\n return bar\n } catch (error) {\n this.logError(error)\n }\n }\n\n /**\n * Set transforms for pushable elements\n *\n * @returns {void}\n */\n setPush () {\n if (!this.currentOpenBar || !this.currentOpenBar.mode) return\n\n let transform = null\n\n // Hide overflow of main wrapper\n // This has to be done first in order to get correct width/height\n this.mainWrap.style.overflow = 'hidden'\n\n switch (this.currentOpenBar.position) {\n case 'left':\n transform = 'translateX(' + this.currentOpenBar.element.offsetWidth + 'px)'\n break\n\n case 'right':\n transform = 'translateX(-' + this.currentOpenBar.element.offsetWidth + 'px)'\n break\n\n case 'top':\n transform = 'translateY(' + this.currentOpenBar.element.offsetHeight + 'px)'\n break\n\n case 'bottom':\n transform = 'translateY(-' + this.currentOpenBar.element.offsetHeight + 'px)'\n break\n }\n\n if ([\n 'push',\n 'reveal',\n ].indexOf(this.currentOpenBar.mode) >= 0) {\n // Transform content wrapper\n this.contentWrap.style.transform = transform\n }\n\n // Transform other pushable elements\n for (let i = 0; i < this.pushElements.length; i++) {\n this.pushElements[i].style.transform = transform\n }\n }\n\n /**\n * Show shading overlay\n *\n * @returns {void}\n */\n showOverlay () {\n if (!this.overlay) return\n if (this.overlay.classList.contains('bartender-overlay--visible')) return\n\n this.overlay.classList.add('bartender-overlay--visible')\n }\n\n /**\n * Hide shading overlay\n *\n * @returns {void}\n */\n hideOverlay () {\n if (!this.overlay) return\n if (!this.overlay.classList.contains('bartender-overlay--visible')) return\n\n this.overlay.classList.remove('bartender-overlay--visible')\n }\n}\n"],"file":"bartender.module.js"} \ No newline at end of file From a1fc42d6b0f49d3e9076a20bff4603382720fca9 Mon Sep 17 00:00:00 2001 From: Ville Fokke Saarivaara Date: Sat, 14 Aug 2021 14:47:21 +0300 Subject: [PATCH 07/15] Update packages --- package-lock.json | 7507 ++++++++++++++++----------------------------- package.json | 8 +- 2 files changed, 2709 insertions(+), 4806 deletions(-) diff --git a/package-lock.json b/package-lock.json index f15a145..38beb45 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6,13 +6,13 @@ "packages": { "": { "name": "@fokke-/bartender.js", - "version": "1.0.3", + "version": "1.0.7", "license": "MIT", "devDependencies": { "@babel/plugin-transform-object-assign": "^7.12.13", "@babel/plugin-transform-parameters": "^7.13.0", "@babel/preset-env": "^7.13.9", - "beeper": "^2.0.0", + "beeper": "^3.0.0", "browser-sync": "^2.26.7", "gulp": "^4.0.2", "gulp-babel": "^8.0.0", @@ -20,53 +20,58 @@ "gulp-concat": "^2.6.1", "gulp-eslint": "^6.0.0", "gulp-footer": "^2.0.2", - "gulp-notify": "^3.2.0", + "gulp-notify": "^4.0.0", "gulp-plumber": "^1.2.1", "gulp-rename": "^2.0.0", - "gulp-sass": "^4.0.2", + "gulp-sass": "^5.0.0", "gulp-sass-lint": "^1.4.0", "gulp-sizereport": "^1.2.1", "gulp-sourcemaps": "^3.0.0", "gulp-terser": "^2.0.0", - "node-sass": "^5.0.0" + "sass": "^1.37.5" } }, "node_modules/@babel/code-frame": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", - "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", + "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", "dev": true, "dependencies": { - "@babel/highlight": "^7.12.13" + "@babel/highlight": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.13.8.tgz", - "integrity": "sha512-EaI33z19T4qN3xLXsGf48M2cDqa6ei9tPZlfLdb2HC+e/cFtREiRd8hdSqDbwdLB0/+gLwqJmCYASH0z2bUdog==", - "dev": true + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz", + "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } }, "node_modules/@babel/core": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.13.8.tgz", - "integrity": "sha512-oYapIySGw1zGhEFRd6lzWNLWFX2s5dA/jm+Pw/+59ZdXtjyIuwlXbrId22Md0rgZVop+aVoqow2riXhBLNyuQg==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.0.tgz", + "integrity": "sha512-tXtmTminrze5HEUPn/a0JtOzzfp0nk+UEXQ/tqIJo3WDGypl/2OFQEMll/zSFU8f/lfmfLXvTaORHF3cfXIQMw==", "dev": true, "peer": true, "dependencies": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.13.0", - "@babel/helper-compilation-targets": "^7.13.8", - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helpers": "^7.13.0", - "@babel/parser": "^7.13.4", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0", + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.15.0", + "@babel/helper-compilation-targets": "^7.15.0", + "@babel/helper-module-transforms": "^7.15.0", + "@babel/helpers": "^7.14.8", + "@babel/parser": "^7.15.0", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.15.0", + "@babel/types": "^7.15.0", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.1.2", - "lodash": "^4.17.19", "semver": "^6.3.0", "source-map": "^0.5.0" }, @@ -78,128 +83,103 @@ "url": "https://opencollective.com/babel" } }, - "node_modules/@babel/core/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "peer": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@babel/core/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true, - "peer": true - }, - "node_modules/@babel/core/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@babel/generator": { - "version": "7.13.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.13.9.tgz", - "integrity": "sha512-mHOOmY0Axl/JCTkxTU6Lf5sWOg/v8nUa+Xkt4zMTftX0wqmb6Sh7J8gvcehBw7q0AhrhAR+FDacKjCZ2X8K+Sw==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.0.tgz", + "integrity": "sha512-eKl4XdMrbpYvuB505KTta4AV9g+wWzmVBW69tX0H2NwKVKd2YJbKgyK6M8j/rgLbmHOYJn6rUklV677nOyJrEQ==", "dev": true, "dependencies": { - "@babel/types": "^7.13.0", + "@babel/types": "^7.15.0", "jsesc": "^2.5.1", "source-map": "^0.5.0" - } - }, - "node_modules/@babel/generator/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, + }, "engines": { - "node": ">=0.10.0" + "node": ">=6.9.0" } }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz", - "integrity": "sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.14.5.tgz", + "integrity": "sha512-EivH9EgBIb+G8ij1B2jAwSH36WnGvkQSEC6CkX/6v6ZFlw5fVOHvsgGF4uiEHO2GzMvunZb6tDLQEQSdrdocrA==", "dev": true, "dependencies": { - "@babel/types": "^7.12.13" + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz", - "integrity": "sha512-CZOv9tGphhDRlVjVkAgm8Nhklm9RzSmWpX2my+t7Ua/KT616pEzXsQCjinzvkRvHWJ9itO4f296efroX23XCMA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.14.5.tgz", + "integrity": "sha512-YTA/Twn0vBXDVGJuAX6PwW7x5zQei1luDDo2Pl6q1qZ7hVNl0RZrhHCQG/ArGpR29Vl7ETiB8eJyrvpuRp300w==", "dev": true, "dependencies": { - "@babel/helper-explode-assignable-expression": "^7.12.13", - "@babel/types": "^7.12.13" + "@babel/helper-explode-assignable-expression": "^7.14.5", + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.8.tgz", - "integrity": "sha512-pBljUGC1y3xKLn1nrx2eAhurLMA8OqBtBP/JwG4U8skN7kf8/aqwwxpV1N6T0e7r6+7uNitIa/fUxPFagSXp3A==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.0.tgz", + "integrity": "sha512-h+/9t0ncd4jfZ8wsdAsoIxSa61qhBYlycXiHWqJaQBCXAhDCMbPRSMTGnZIkkmt1u4ag+UQmuqcILwqKzZ4N2A==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.13.8", - "@babel/helper-validator-option": "^7.12.17", - "browserslist": "^4.14.5", + "@babel/compat-data": "^7.15.0", + "@babel/helper-validator-option": "^7.14.5", + "browserslist": "^4.16.6", "semver": "^6.3.0" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.13.8.tgz", - "integrity": "sha512-qioaRrKHQbn4hkRKDHbnuQ6kAxmmOF+kzKGnIfxPK4j2rckSJCpKzr/SSTlohSCiE3uAQpNDJ9FIh4baeE8W+w==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.0.tgz", + "integrity": "sha512-MdmDXgvTIi4heDVX/e9EFfeGpugqm9fobBVg/iioE8kueXrOHdRDe36FAY7SnE9xXLVeYCoJR/gdrBEIHRC83Q==", "dev": true, "dependencies": { - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-member-expression-to-functions": "^7.13.0", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/helper-replace-supers": "^7.13.0", - "@babel/helper-split-export-declaration": "^7.12.13" + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-member-expression-to-functions": "^7.15.0", + "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/helper-replace-supers": "^7.15.0", + "@babel/helper-split-export-declaration": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.12.17", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.17.tgz", - "integrity": "sha512-p2VGmBu9oefLZ2nQpgnEnG0ZlRPvL8gAGvPUMQwUdaE8k49rOMuZpOwdQoy5qJf6K8jL3bcAMhVUlHAjIgJHUg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz", + "integrity": "sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.12.13", + "@babel/helper-annotate-as-pure": "^7.14.5", "regexpu-core": "^4.7.1" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.1.5.tgz", - "integrity": "sha512-nXuzCSwlJ/WKr8qxzW816gwyT6VZgiJG17zR40fou70yfAcqjoNyTLl/DQ+FExw5Hx5KNqshmN8Ldl/r2N7cTg==", + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz", + "integrity": "sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew==", "dev": true, "dependencies": { "@babel/helper-compilation-targets": "^7.13.0", @@ -215,219 +195,251 @@ "@babel/core": "^7.4.0-0" } }, - "node_modules/@babel/helper-define-polyfill-provider/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "node_modules/@babel/helper-explode-assignable-expression": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.14.5.tgz", + "integrity": "sha512-Htb24gnGJdIGT4vnRKMdoXiOIlqOLmdiUYpAQ0mYfgVT/GDm8GOYhgi4GL+hMKrkiPRohO4ts34ELFsGAPQLDQ==", "dev": true, "dependencies": { - "ms": "2.1.2" + "@babel/types": "^7.14.5" }, "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@babel/helper-define-polyfill-provider/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/@babel/helper-explode-assignable-expression": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.13.0.tgz", - "integrity": "sha512-qS0peLTDP8kOisG1blKbaoBg/o9OSa1qoumMjTK5pM+KDTtpxpsiubnCGP34vK8BXGcb2M9eigwgvoJryrzwWA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.13.0" + "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", - "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz", + "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==", "dev": true, "dependencies": { - "@babel/helper-get-function-arity": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/types": "^7.12.13" + "@babel/helper-get-function-arity": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-get-function-arity": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", - "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz", + "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==", "dev": true, "dependencies": { - "@babel/types": "^7.12.13" + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-hoist-variables": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.13.0.tgz", - "integrity": "sha512-0kBzvXiIKfsCA0y6cFEIJf4OdzfpRuNk4+YTeHZpGGc666SATFKTz6sRncwFnQk7/ugJ4dSrCj6iJuvW4Qwr2g==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz", + "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==", "dev": true, "dependencies": { - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0" + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.0.tgz", - "integrity": "sha512-yvRf8Ivk62JwisqV1rFRMxiSMDGnN6KH1/mDMmIrij4jztpQNRoHqqMG3U6apYbGRPJpgPalhva9Yd06HlUxJQ==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.0.tgz", + "integrity": "sha512-Jq8H8U2kYiafuj2xMTPQwkTBnEEdGKpT35lJEQsRRjnG0LW3neucsaMWLgKcwu3OHKNeYugfw+Z20BXBSEs2Lg==", "dev": true, "dependencies": { - "@babel/types": "^7.13.0" + "@babel/types": "^7.15.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.13.tgz", - "integrity": "sha512-NGmfvRp9Rqxy0uHSSVP+SRIW1q31a7Ji10cLBcqSDUngGentY4FRiHOFZFE1CLU5eiL0oE8reH7Tg1y99TDM/g==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz", + "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==", "dev": true, "dependencies": { - "@babel/types": "^7.12.13" + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.13.0.tgz", - "integrity": "sha512-Ls8/VBwH577+pw7Ku1QkUWIyRRNHpYlts7+qSqBBFCW3I8QteB9DxfcZ5YJpOwH6Ihe/wn8ch7fMGOP1OhEIvw==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.0.tgz", + "integrity": "sha512-RkGiW5Rer7fpXv9m1B3iHIFDZdItnO2/BLfWVW/9q7+KqQSDY5kUfQEbzdXM1MVhJGcugKV7kRrNVzNxmk7NBg==", "dev": true, "dependencies": { - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-replace-supers": "^7.13.0", - "@babel/helper-simple-access": "^7.12.13", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/helper-validator-identifier": "^7.12.11", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0", - "lodash": "^4.17.19" + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-replace-supers": "^7.15.0", + "@babel/helper-simple-access": "^7.14.8", + "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/helper-validator-identifier": "^7.14.9", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.15.0", + "@babel/types": "^7.15.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz", - "integrity": "sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz", + "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==", "dev": true, "dependencies": { - "@babel/types": "^7.12.13" + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz", - "integrity": "sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ==", - "dev": true + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } }, "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.13.0.tgz", - "integrity": "sha512-pUQpFBE9JvC9lrQbpX0TmeNIy5s7GnZjna2lhhcHC7DzgBs6fWn722Y5cfwgrtrqc7NAJwMvOa0mKhq6XaE4jg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.14.5.tgz", + "integrity": "sha512-rLQKdQU+HYlxBwQIj8dk4/0ENOUEhA/Z0l4hN8BexpvmSMN9oA9EagjnhnDpNsRdWCfjwa4mn/HyBXO9yhQP6A==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "@babel/helper-wrap-function": "^7.13.0", - "@babel/types": "^7.13.0" + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-wrap-function": "^7.14.5", + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.13.0.tgz", - "integrity": "sha512-Segd5me1+Pz+rmN/NFBOplMbZG3SqRJOBlY+mA0SxAv6rjj7zJqr1AVr3SfzUVTLCv7ZLU5FycOM/SBGuLPbZw==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.0.tgz", + "integrity": "sha512-6O+eWrhx+HEra/uJnifCwhwMd6Bp5+ZfZeJwbqUTuqkhIT6YcRhiZCOOFChRypOIe0cV46kFrRBlm+t5vHCEaA==", "dev": true, "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.13.0", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0" + "@babel/helper-member-expression-to-functions": "^7.15.0", + "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/traverse": "^7.15.0", + "@babel/types": "^7.15.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-simple-access": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.13.tgz", - "integrity": "sha512-0ski5dyYIHEfwpWGx5GPWhH35j342JaflmCeQmsPWcrOQDtCN6C1zKAVRFVbK53lPW2c9TsuLLSUDf0tIGJ5hA==", + "version": "7.14.8", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.8.tgz", + "integrity": "sha512-TrFN4RHh9gnWEU+s7JloIho2T76GPwRHhdzOWLqTrMnlas8T9O7ec+oEDNsRXndOmru9ymH9DFrEOxpzPoSbdg==", "dev": true, "dependencies": { - "@babel/types": "^7.12.13" + "@babel/types": "^7.14.8" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz", - "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.14.5.tgz", + "integrity": "sha512-dmqZB7mrb94PZSAOYtr+ZN5qt5owZIAgqtoTuqiFbHFtxgEcmQlRJVI+bO++fciBunXtB6MK7HrzrfcAzIz2NQ==", "dev": true, "dependencies": { - "@babel/types": "^7.12.1" + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", - "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz", + "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==", "dev": true, "dependencies": { - "@babel/types": "^7.12.13" + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", - "dev": true + "version": "7.14.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz", + "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } }, "node_modules/@babel/helper-validator-option": { - "version": "7.12.17", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz", - "integrity": "sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw==", - "dev": true + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", + "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.13.0.tgz", - "integrity": "sha512-1UX9F7K3BS42fI6qd2A4BjKzgGjToscyZTdp1DjknHLCIvpgne6918io+aL5LXFcER/8QWiwpoY902pVEqgTXA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.14.5.tgz", + "integrity": "sha512-YEdjTCq+LNuNS1WfxsDCNpgXkJaIyqco6DAelTUjT4f2KIWC1nBcaCaSdHTBqQVLnTBexBcVcFhLSU1KnYuePQ==", "dev": true, "dependencies": { - "@babel/helper-function-name": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0" + "@babel/helper-function-name": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.13.0.tgz", - "integrity": "sha512-aan1MeFPxFacZeSz6Ld7YZo5aPuqnKlD7+HZY75xQsueczFccP9A7V05+oe0XpLwHK3oLorPe9eaAUljL7WEaQ==", + "version": "7.15.3", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.3.tgz", + "integrity": "sha512-HwJiz52XaS96lX+28Tnbu31VeFSQJGOeKHJeaEPQlTl7PnlhFElWPj8tUXtqFIzeN86XxXoBr+WFAyK2PPVz6g==", "dev": true, "peer": true, "dependencies": { - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0" + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.15.0", + "@babel/types": "^7.15.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.8.tgz", - "integrity": "sha512-4vrIhfJyfNf+lCtXC2ck1rKSzDwciqF7IWFhXXrSOUC2O5DrVp+w4c6ed4AllTxhTkUP5x2tYj41VaxdVMMRDw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", + "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.12.11", + "@babel/helper-validator-identifier": "^7.14.5", "chalk": "^2.0.0", "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.13.9", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.9.tgz", - "integrity": "sha512-nEUfRiARCcaVo3ny3ZQjURjHQZUo/JkEw7rLlSZy/psWGnvwXFtPcr6jb7Yb41DVW5LTe6KRq9LGleRNsg1Frw==", + "version": "7.15.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.3.tgz", + "integrity": "sha512-O0L6v/HvqbdJawj0iBEfVQMc3/6WP+AeOsovsIgBFyJaG+W2w7eqvZB7puddATmWuARlm1SX7DwxJ/JJUnDpEA==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -436,175 +448,263 @@ "node": ">=6.0.0" } }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.14.5.tgz", + "integrity": "sha512-ZoJS2XCKPBfTmL122iP6NM9dOg+d4lc9fFk3zxc8iDjvt8Pk4+TlsHSKhIPf6X+L5ORCdBzqMZDjL/WHj7WknQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", + "@babel/plugin-proposal-optional-chaining": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.13.8.tgz", - "integrity": "sha512-rPBnhj+WgoSmgq+4gQUtXx/vOcU+UYtjy1AA/aeD61Hwj410fwYyqfUcRP3lR8ucgliVJL/G7sXcNUecC75IXA==", + "version": "7.14.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.9.tgz", + "integrity": "sha512-d1lnh+ZnKrFKwtTYdw320+sQWCTwgkB9fmUhNXRADA4akR6wLjaruSGnIEUjpt9HCOwTr4ynFTKu19b7rFRpmw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-remap-async-to-generator": "^7.13.0", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.14.5", "@babel/plugin-syntax-async-generators": "^7.8.4" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.13.0.tgz", - "integrity": "sha512-KnTDjFNC1g+45ka0myZNvSBFLhNCLN+GeGYLDEA8Oq7MZ6yMgfLoIRh86GRT0FjtJhZw8JyUskP9uvj5pHM9Zg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.14.5.tgz", + "integrity": "sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-proposal-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.14.5.tgz", + "integrity": "sha512-KBAH5ksEnYHCegqseI5N9skTdxgJdmDoAOc0uXa+4QMYKeZD0w5IARh4FMlTNtaHhbB8v+KzMdTgxMMzsIy6Yg==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, "node_modules/@babel/plugin-proposal-dynamic-import": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.13.8.tgz", - "integrity": "sha512-ONWKj0H6+wIRCkZi9zSbZtE/r73uOhMVHh256ys0UzfM7I3d4n+spZNWjOnJv2gzopumP2Wxi186vI8N0Y2JyQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.5.tgz", + "integrity": "sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-export-namespace-from": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.13.tgz", - "integrity": "sha512-INAgtFo4OnLN3Y/j0VwAgw3HDXcDtX+C/erMvWzuV9v71r7urb6iyMXu7eM9IgLr1ElLlOkaHjJ0SbCmdOQ3Iw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.5.tgz", + "integrity": "sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-json-strings": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.13.8.tgz", - "integrity": "sha512-w4zOPKUFPX1mgvTmL/fcEqy34hrQ1CRcGxdphBc6snDnnqJ47EZDIyop6IwXzAC8G916hsIuXB2ZMBCExC5k7Q==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.5.tgz", + "integrity": "sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-json-strings": "^7.8.3" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.13.8.tgz", - "integrity": "sha512-aul6znYB4N4HGweImqKn59Su9RS8lbUIqxtXTOcAGtNIDczoEFv+l1EhmX8rUBp3G1jMjKJm8m0jXVp63ZpS4A==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.5.tgz", + "integrity": "sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.13.8.tgz", - "integrity": "sha512-iePlDPBn//UhxExyS9KyeYU7RM9WScAG+D3Hhno0PLJebAEpDZMocbDe64eqynhNAnwz/vZoL/q/QB2T1OH39A==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz", + "integrity": "sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-numeric-separator": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.13.tgz", - "integrity": "sha512-O1jFia9R8BUCl3ZGB7eitaAPu62TXJRHn7rh+ojNERCFyqRwJMTmhz+tJ+k0CwI6CLjX/ee4qW74FSqlq9I35w==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.5.tgz", + "integrity": "sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-numeric-separator": "^7.10.4" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.13.8.tgz", - "integrity": "sha512-DhB2EuB1Ih7S3/IRX5AFVgZ16k3EzfRbq97CxAVI1KSYcW+lexV8VZb7G7L8zuPVSdQMRn0kiBpf/Yzu9ZKH0g==", + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.7.tgz", + "integrity": "sha512-082hsZz+sVabfmDWo1Oct1u1AgbKbUAyVgmX4otIc7bdsRgHBXwTwb3DpDmD4Eyyx6DNiuz5UAATT655k+kL5g==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.13.8", - "@babel/helper-compilation-targets": "^7.13.8", - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/compat-data": "^7.14.7", + "@babel/helper-compilation-targets": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.13.0" + "@babel/plugin-transform-parameters": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-optional-catch-binding": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.13.8.tgz", - "integrity": "sha512-0wS/4DUF1CuTmGo+NiaHfHcVSeSLj5S3e6RivPTg/2k3wOv3jO35tZ6/ZWsQhQMvdgI7CwphjQa/ccarLymHVA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz", + "integrity": "sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.13.8.tgz", - "integrity": "sha512-hpbBwbTgd7Cz1QryvwJZRo1U0k1q8uyBmeXOSQUjdg/A2TASkhR/rz7AyqZ/kS8kbpsNA80rOYbxySBJAqmhhQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz", + "integrity": "sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", "@babel/plugin-syntax-optional-chaining": "^7.8.3" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-private-methods": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.13.0.tgz", - "integrity": "sha512-MXyyKQd9inhx1kDYPkFRVOBXQ20ES8Pto3T7UZ92xj2mY0EVD8oAVzeyYuVfy/mxAdTSIayOvg+aVzcHV2bn6Q==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.14.5.tgz", + "integrity": "sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-62EyfyA3WA0mZiF2e2IV9mc9Ghwxcg8YTu8BS4Wss4Y3PY725OmS9M0qLORbJwLqFtGh+jiE4wAmocK2CTUK2Q==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-proposal-unicode-property-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.13.tgz", - "integrity": "sha512-XyJmZidNfofEkqFV5VC/bLabGmO5QzenPO/YOfGuEbgU+2sSwMmio3YLb4WtBgcmmdwZHyVyv8on77IUjQ5Gvg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz", + "integrity": "sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { "node": ">=4" @@ -637,6 +737,21 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-syntax-dynamic-import": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", @@ -745,472 +860,584 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz", - "integrity": "sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ==", + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" }, - "peerDependencies": { + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.13.0.tgz", - "integrity": "sha512-96lgJagobeVmazXFaDrbmCLQxBysKu7U6Do3mLsx27gf5Dk85ezysrs2BZUpXD703U/Su1xTBDxxar2oa4jAGg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz", + "integrity": "sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.13.0.tgz", - "integrity": "sha512-3j6E004Dx0K3eGmhxVJxwwI89CTJrce7lg3UrtFuDAVQ/2+SJ/h/aSFOeE6/n0WB1GsOffsJp6MnPQNQ8nmwhg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz", + "integrity": "sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA==", "dev": true, "dependencies": { - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-remap-async-to-generator": "^7.13.0" + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.13.tgz", - "integrity": "sha512-zNyFqbc3kI/fVpqwfqkg6RvBgFpC4J18aKKMmv7KdQ/1GgREapSJAykLMVNwfRGO3BtHj3YQZl8kxCXPcVMVeg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.14.5.tgz", + "integrity": "sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.13.tgz", - "integrity": "sha512-Pxwe0iqWJX4fOOM2kEZeUuAxHMWb9nK+9oh5d11bsLoB0xMg+mkDpt0eYuDZB7ETrY9bbcVlKUGTOGWy7BHsMQ==", + "version": "7.15.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.15.3.tgz", + "integrity": "sha512-nBAzfZwZb4DkaGtOes1Up1nOAp9TDRRFw4XBzBBSG9QK7KVFmYzgj9o9sbPv7TX5ofL4Auq4wZnxCoPnI/lz2Q==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.13.0.tgz", - "integrity": "sha512-9BtHCPUARyVH1oXGcSJD3YpsqRLROJx5ZNP6tN5vnk17N0SVf9WCtf8Nuh1CFmgByKKAIMstitKduoCmsaDK5g==", + "version": "7.14.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.9.tgz", + "integrity": "sha512-NfZpTcxU3foGWbl4wxmZ35mTsYJy8oQocbeIMoDAGGFarAmSQlL+LWMkDx/tj6pNotpbX3rltIA4dprgAPOq5A==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-replace-supers": "^7.13.0", - "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", "globals": "^11.1.0" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-classes/node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.13.0.tgz", - "integrity": "sha512-RRqTYTeZkZAz8WbieLTvKUEUxZlUTdmL5KGMyZj7FnMfLNKV4+r5549aORG/mgojRmFlQMJDUupwAMiF2Q7OUg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.14.5.tgz", + "integrity": "sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.13.0.tgz", - "integrity": "sha512-zym5em7tePoNT9s964c0/KU3JPPnuq7VhIxPRefJ4/s82cD+q1mgKfuGRDMCPL0HTyKz4dISuQlCusfgCJ86HA==", + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.7.tgz", + "integrity": "sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.13.tgz", - "integrity": "sha512-foDrozE65ZFdUC2OfgeOCrEPTxdB3yjqxpXh8CH+ipd9CHd4s/iq81kcUpyH8ACGNEPdFqbtzfgzbT/ZGlbDeQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz", + "integrity": "sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.13.tgz", - "integrity": "sha512-NfADJiiHdhLBW3pulJlJI2NB0t4cci4WTZ8FtdIuNc2+8pslXdPtRRAEWqUY+m9kNOk2eRYbTAOipAxlrOcwwQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.14.5.tgz", + "integrity": "sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.13.tgz", - "integrity": "sha512-fbUelkM1apvqez/yYx1/oICVnGo2KM5s63mhGylrmXUxK/IAXSIf87QIxVfZldWf4QsOafY6vV3bX8aMHSvNrA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.14.5.tgz", + "integrity": "sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA==", "dev": true, "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.13.0.tgz", - "integrity": "sha512-IHKT00mwUVYE0zzbkDgNRP6SRzvfGCYsOxIRz8KsiaaHCcT9BWIkO+H9QRJseHBLOGBZkHUdHiqj6r0POsdytg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.14.5.tgz", + "integrity": "sha512-CfmqxSUZzBl0rSjpoQSFoR9UEj3HzbGuGNL21/iFTmjb5gFggJp3ph0xR1YBhexmLoKRHzgxuFvty2xdSt6gTA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.13.tgz", - "integrity": "sha512-6K7gZycG0cmIwwF7uMK/ZqeCikCGVBdyP2J5SKNCXO5EOHcqi+z7Jwf8AmyDNcBgxET8DrEtCt/mPKPyAzXyqQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.14.5.tgz", + "integrity": "sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ==", "dev": true, "dependencies": { - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-literals": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.13.tgz", - "integrity": "sha512-FW+WPjSR7hiUxMcKqyNjP05tQ2kmBCdpEpZHY1ARm96tGQCCBvXKnpjILtDplUnJ/eHZ0lALLM+d2lMFSpYJrQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.14.5.tgz", + "integrity": "sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.13.tgz", - "integrity": "sha512-kxLkOsg8yir4YeEPHLuO2tXP9R/gTjpuTOjshqSpELUN3ZAg2jfDnKUvzzJxObun38sw3wm4Uu69sX/zA7iRvg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.14.5.tgz", + "integrity": "sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.13.0.tgz", - "integrity": "sha512-EKy/E2NHhY/6Vw5d1k3rgoobftcNUmp9fGjb9XZwQLtTctsRBOTRO7RHHxfIky1ogMN5BxN7p9uMA3SzPfotMQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.5.tgz", + "integrity": "sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", "babel-plugin-dynamic-import-node": "^2.3.3" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.13.8.tgz", - "integrity": "sha512-9QiOx4MEGglfYZ4XOnU79OHr6vIWUakIj9b4mioN8eQIoEh+pf5p/zEB36JpDFWA12nNMiRf7bfoRvl9Rn79Bw==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.0.tgz", + "integrity": "sha512-3H/R9s8cXcOGE8kgMlmjYYC9nqr5ELiPkJn4q0mypBrjhYQoc+5/Maq69vV4xRPWnkzZuwJPf5rArxpB/35Cig==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-simple-access": "^7.12.13", + "@babel/helper-module-transforms": "^7.15.0", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-simple-access": "^7.14.8", "babel-plugin-dynamic-import-node": "^2.3.3" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.13.8.tgz", - "integrity": "sha512-hwqctPYjhM6cWvVIlOIe27jCIBgHCsdH2xCJVAYQm7V5yTMoilbVMi9f6wKg0rpQAOn6ZG4AOyvCqFF/hUh6+A==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.14.5.tgz", + "integrity": "sha512-mNMQdvBEE5DcMQaL5LbzXFMANrQjd2W7FPzg34Y4yEz7dBgdaC+9B84dSO+/1Wba98zoDbInctCDo4JGxz1VYA==", "dev": true, "dependencies": { - "@babel/helper-hoist-variables": "^7.13.0", - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-validator-identifier": "^7.12.11", + "@babel/helper-hoist-variables": "^7.14.5", + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-identifier": "^7.14.5", "babel-plugin-dynamic-import-node": "^2.3.3" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.13.0.tgz", - "integrity": "sha512-D/ILzAh6uyvkWjKKyFE/W0FzWwasv6vPTSqPcjxFqn6QpX3u8DjRVliq4F2BamO2Wee/om06Vyy+vPkNrd4wxw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.5.tgz", + "integrity": "sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.13.tgz", - "integrity": "sha512-Xsm8P2hr5hAxyYblrfACXpQKdQbx4m2df9/ZZSQ8MAhsadw06+jW7s9zsSw6he+mJZXRlVMyEnVktJo4zjk1WA==", + "version": "7.14.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.9.tgz", + "integrity": "sha512-l666wCVYO75mlAtGFfyFwnWmIXQm3kSH0C3IRnJqWcZbWkoihyAdDhFm2ZWaxWTqvBvhVFfJjMRQ0ez4oN1yYA==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13" + "@babel/helper-create-regexp-features-plugin": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "node_modules/@babel/plugin-transform-new-target": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.13.tgz", - "integrity": "sha512-/KY2hbLxrG5GTQ9zzZSc3xWiOy379pIETEhbtzwZcw9rvuaVV4Fqy7BYGYOWZnaoXIQYbbJ0ziXLa/sKcGCYEQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.14.5.tgz", + "integrity": "sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-object-assign": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.12.13.tgz", - "integrity": "sha512-4QxDMc0lAOkIBSfCrnSGbAJ+4epDBF2XXwcLXuBcG1xl9u7LrktNVD4+LwhL47XuKVPQ7R25e/WdcV+h97HyZA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.14.5.tgz", + "integrity": "sha512-lvhjk4UN9xJJYB1mI5KC0/o1D5EcJXdbhVe+4fSk08D6ZN+iuAIs7LJC+71h8av9Ew4+uRq9452v9R93SFmQlQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-object-super": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.13.tgz", - "integrity": "sha512-JzYIcj3XtYspZDV8j9ulnoMPZZnF/Cj0LUxPOjR89BdBVx+zYJI9MdMIlUZjbXDX+6YVeS6I3e8op+qQ3BYBoQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.14.5.tgz", + "integrity": "sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13", - "@babel/helper-replace-supers": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.13.0.tgz", - "integrity": "sha512-Jt8k/h/mIwE2JFEOb3lURoY5C85ETcYPnbuAJ96zRBzh1XHtQZfs62ChZ6EP22QlC8c7Xqr9q+e1SU5qttwwjw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.14.5.tgz", + "integrity": "sha512-Tl7LWdr6HUxTmzQtzuU14SqbgrSKmaR77M0OKyq4njZLQTPfOvzblNKyNkGwOfEFCEx7KeYHQHDI0P3F02IVkA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.13.tgz", - "integrity": "sha512-nqVigwVan+lR+g8Fj8Exl0UQX2kymtjcWfMOYM1vTYEKujeyv2SkMgazf2qNcK7l4SDiKyTA/nHCPqL4e2zo1A==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.14.5.tgz", + "integrity": "sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.13.tgz", - "integrity": "sha512-lxb2ZAvSLyJ2PEe47hoGWPmW22v7CtSl9jW8mingV4H2sEX/JOcrAj2nPuGWi56ERUm2bUpjKzONAuT6HCn2EA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.14.5.tgz", + "integrity": "sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg==", "dev": true, "dependencies": { "regenerator-transform": "^0.14.2" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.13.tgz", - "integrity": "sha512-xhUPzDXxZN1QfiOy/I5tyye+TRz6lA7z6xaT4CLOjPRMVg1ldRf0LHw0TDBpYL4vG78556WuHdyO9oi5UmzZBg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.14.5.tgz", + "integrity": "sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.13.tgz", - "integrity": "sha512-xpL49pqPnLtf0tVluuqvzWIgLEhuPpZzvs2yabUHSKRNlN7ScYU7aMlmavOeyXJZKgZKQRBlh8rHbKiJDraTSw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.14.5.tgz", + "integrity": "sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.13.0.tgz", - "integrity": "sha512-V6vkiXijjzYeFmQTr3dBxPtZYLPcUfY34DebOU27jIl2M/Y8Egm52Hw82CSjjPqd54GTlJs5x+CR7HeNr24ckg==", + "version": "7.14.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.14.6.tgz", + "integrity": "sha512-Zr0x0YroFJku7n7+/HH3A2eIrGMjbmAIbJSVv0IZ+t3U2WUQUA64S/oeied2e+MaGSjmt4alzBCsK9E8gh+fag==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.13.tgz", - "integrity": "sha512-Jc3JSaaWT8+fr7GRvQP02fKDsYk4K/lYwWq38r/UGfaxo89ajud321NH28KRQ7xy1Ybc0VUE5Pz8psjNNDUglg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.14.5.tgz", + "integrity": "sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.13.0.tgz", - "integrity": "sha512-d67umW6nlfmr1iehCcBv69eSUSySk1EsIS8aTDX4Xo9qajAh6mYtcl4kJrBkGXuxZPEgVr7RVfAvNW6YQkd4Mw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz", + "integrity": "sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.13.tgz", - "integrity": "sha512-eKv/LmUJpMnu4npgfvs3LiHhJua5fo/CysENxa45YCQXZwKnGCQKAg87bvoqSW1fFT+HA32l03Qxsm8ouTY3ZQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.14.5.tgz", + "integrity": "sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.13.tgz", - "integrity": "sha512-0bHEkdwJ/sN/ikBHfSmOXPypN/beiGqjo+o4/5K+vxEFNPRPdImhviPakMKG4x96l85emoa0Z6cDflsdBusZbw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.14.5.tgz", + "integrity": "sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.13.tgz", - "integrity": "sha512-mDRzSNY7/zopwisPZ5kM9XKCfhchqIYwAKRERtEnhYscZB79VRekuRSoYbN0+KVe3y8+q1h6A4svXtP7N+UoCA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.14.5.tgz", + "integrity": "sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/preset-env": { - "version": "7.13.9", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.13.9.tgz", - "integrity": "sha512-mcsHUlh2rIhViqMG823JpscLMesRt3QbMsv1+jhopXEb3W2wXvQ9QoiOlZI9ZbR3XqPtaFpZwEZKYqGJnGMZTQ==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.13.8", - "@babel/helper-compilation-targets": "^7.13.8", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-validator-option": "^7.12.17", - "@babel/plugin-proposal-async-generator-functions": "^7.13.8", - "@babel/plugin-proposal-class-properties": "^7.13.0", - "@babel/plugin-proposal-dynamic-import": "^7.13.8", - "@babel/plugin-proposal-export-namespace-from": "^7.12.13", - "@babel/plugin-proposal-json-strings": "^7.13.8", - "@babel/plugin-proposal-logical-assignment-operators": "^7.13.8", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", - "@babel/plugin-proposal-numeric-separator": "^7.12.13", - "@babel/plugin-proposal-object-rest-spread": "^7.13.8", - "@babel/plugin-proposal-optional-catch-binding": "^7.13.8", - "@babel/plugin-proposal-optional-chaining": "^7.13.8", - "@babel/plugin-proposal-private-methods": "^7.13.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.12.13", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.15.0.tgz", + "integrity": "sha512-FhEpCNFCcWW3iZLg0L2NPE9UerdtsCR6ZcsGHUX6Om6kbCQeL5QZDqFDmeNHC6/fy6UH3jEge7K4qG5uC9In0Q==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.15.0", + "@babel/helper-compilation-targets": "^7.15.0", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-option": "^7.14.5", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.14.5", + "@babel/plugin-proposal-async-generator-functions": "^7.14.9", + "@babel/plugin-proposal-class-properties": "^7.14.5", + "@babel/plugin-proposal-class-static-block": "^7.14.5", + "@babel/plugin-proposal-dynamic-import": "^7.14.5", + "@babel/plugin-proposal-export-namespace-from": "^7.14.5", + "@babel/plugin-proposal-json-strings": "^7.14.5", + "@babel/plugin-proposal-logical-assignment-operators": "^7.14.5", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.5", + "@babel/plugin-proposal-numeric-separator": "^7.14.5", + "@babel/plugin-proposal-object-rest-spread": "^7.14.7", + "@babel/plugin-proposal-optional-catch-binding": "^7.14.5", + "@babel/plugin-proposal-optional-chaining": "^7.14.5", + "@babel/plugin-proposal-private-methods": "^7.14.5", + "@babel/plugin-proposal-private-property-in-object": "^7.14.5", + "@babel/plugin-proposal-unicode-property-regex": "^7.14.5", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", "@babel/plugin-syntax-json-strings": "^7.8.3", @@ -1220,47 +1447,51 @@ "@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.12.13", - "@babel/plugin-transform-arrow-functions": "^7.13.0", - "@babel/plugin-transform-async-to-generator": "^7.13.0", - "@babel/plugin-transform-block-scoped-functions": "^7.12.13", - "@babel/plugin-transform-block-scoping": "^7.12.13", - "@babel/plugin-transform-classes": "^7.13.0", - "@babel/plugin-transform-computed-properties": "^7.13.0", - "@babel/plugin-transform-destructuring": "^7.13.0", - "@babel/plugin-transform-dotall-regex": "^7.12.13", - "@babel/plugin-transform-duplicate-keys": "^7.12.13", - "@babel/plugin-transform-exponentiation-operator": "^7.12.13", - "@babel/plugin-transform-for-of": "^7.13.0", - "@babel/plugin-transform-function-name": "^7.12.13", - "@babel/plugin-transform-literals": "^7.12.13", - "@babel/plugin-transform-member-expression-literals": "^7.12.13", - "@babel/plugin-transform-modules-amd": "^7.13.0", - "@babel/plugin-transform-modules-commonjs": "^7.13.8", - "@babel/plugin-transform-modules-systemjs": "^7.13.8", - "@babel/plugin-transform-modules-umd": "^7.13.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.13", - "@babel/plugin-transform-new-target": "^7.12.13", - "@babel/plugin-transform-object-super": "^7.12.13", - "@babel/plugin-transform-parameters": "^7.13.0", - "@babel/plugin-transform-property-literals": "^7.12.13", - "@babel/plugin-transform-regenerator": "^7.12.13", - "@babel/plugin-transform-reserved-words": "^7.12.13", - "@babel/plugin-transform-shorthand-properties": "^7.12.13", - "@babel/plugin-transform-spread": "^7.13.0", - "@babel/plugin-transform-sticky-regex": "^7.12.13", - "@babel/plugin-transform-template-literals": "^7.13.0", - "@babel/plugin-transform-typeof-symbol": "^7.12.13", - "@babel/plugin-transform-unicode-escapes": "^7.12.13", - "@babel/plugin-transform-unicode-regex": "^7.12.13", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.14.5", + "@babel/plugin-transform-async-to-generator": "^7.14.5", + "@babel/plugin-transform-block-scoped-functions": "^7.14.5", + "@babel/plugin-transform-block-scoping": "^7.14.5", + "@babel/plugin-transform-classes": "^7.14.9", + "@babel/plugin-transform-computed-properties": "^7.14.5", + "@babel/plugin-transform-destructuring": "^7.14.7", + "@babel/plugin-transform-dotall-regex": "^7.14.5", + "@babel/plugin-transform-duplicate-keys": "^7.14.5", + "@babel/plugin-transform-exponentiation-operator": "^7.14.5", + "@babel/plugin-transform-for-of": "^7.14.5", + "@babel/plugin-transform-function-name": "^7.14.5", + "@babel/plugin-transform-literals": "^7.14.5", + "@babel/plugin-transform-member-expression-literals": "^7.14.5", + "@babel/plugin-transform-modules-amd": "^7.14.5", + "@babel/plugin-transform-modules-commonjs": "^7.15.0", + "@babel/plugin-transform-modules-systemjs": "^7.14.5", + "@babel/plugin-transform-modules-umd": "^7.14.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.9", + "@babel/plugin-transform-new-target": "^7.14.5", + "@babel/plugin-transform-object-super": "^7.14.5", + "@babel/plugin-transform-parameters": "^7.14.5", + "@babel/plugin-transform-property-literals": "^7.14.5", + "@babel/plugin-transform-regenerator": "^7.14.5", + "@babel/plugin-transform-reserved-words": "^7.14.5", + "@babel/plugin-transform-shorthand-properties": "^7.14.5", + "@babel/plugin-transform-spread": "^7.14.6", + "@babel/plugin-transform-sticky-regex": "^7.14.5", + "@babel/plugin-transform-template-literals": "^7.14.5", + "@babel/plugin-transform-typeof-symbol": "^7.14.5", + "@babel/plugin-transform-unicode-escapes": "^7.14.5", + "@babel/plugin-transform-unicode-regex": "^7.14.5", "@babel/preset-modules": "^0.1.4", - "@babel/types": "^7.13.0", - "babel-plugin-polyfill-corejs2": "^0.1.4", - "babel-plugin-polyfill-corejs3": "^0.1.3", - "babel-plugin-polyfill-regenerator": "^0.1.2", - "core-js-compat": "^3.9.0", + "@babel/types": "^7.15.0", + "babel-plugin-polyfill-corejs2": "^0.2.2", + "babel-plugin-polyfill-corejs3": "^0.2.2", + "babel-plugin-polyfill-regenerator": "^0.2.2", + "core-js-compat": "^3.16.0", "semver": "^6.3.0" }, + "engines": { + "node": ">=6.9.0" + }, "peerDependencies": { "@babel/core": "^7.0.0-0" } @@ -1282,83 +1513,62 @@ } }, "node_modules/@babel/runtime": { - "version": "7.13.9", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.13.9.tgz", - "integrity": "sha512-aY2kU+xgJ3dJ1eU6FMB9EH8dIe8dmusF1xEku52joLvw6eAFN0AI+WxCLDnpev2LEejWBAy2sBvBOBAjI3zmvA==", + "version": "7.15.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.3.tgz", + "integrity": "sha512-OvwMLqNXkCXSz1kSm58sEsNuhqOx/fKpnUnKnFB5v8uDda5bLNEHNgKPvhDN6IU0LDcnHQ90LlJ0Q6jnyBSIBA==", "dev": true, "dependencies": { "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/template": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", - "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", + "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13" + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.14.5", + "@babel/types": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.0.tgz", - "integrity": "sha512-xys5xi5JEhzC3RzEmSGrs/b3pJW/o87SypZ+G/PhaE7uqVQNv/jlmVIBXuoh5atqQ434LfXV+sf23Oxj0bchJQ==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.13.0", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/parser": "^7.13.0", - "@babel/types": "^7.13.0", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.0.tgz", + "integrity": "sha512-392d8BN0C9eVxVWd8H6x9WfipgVH5IaIoLp23334Sc1vbKKWINnvwRpb4us0xtPaCumlwbTtIYNA0Dv/32sVFw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.15.0", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-hoist-variables": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/parser": "^7.15.0", + "@babel/types": "^7.15.0", "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - } - }, - "node_modules/@babel/traverse/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" + "globals": "^11.1.0" }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@babel/traverse/node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, "engines": { - "node": ">=4" + "node": ">=6.9.0" } }, - "node_modules/@babel/traverse/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, "node_modules/@babel/types": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.0.tgz", - "integrity": "sha512-hE+HE8rnG1Z6Wzo+MhaKE5lM5eMx71T4EHJgku2E3xIfaULhDcxiiRxUYgwX8qwP1BBSlag+TdGOt6JAidIZTA==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.0.tgz", + "integrity": "sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", + "@babel/helper-validator-identifier": "^7.14.9", "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@gulp-sourcemaps/identity-map": { @@ -1389,6 +1599,25 @@ "node": ">=0.4.0" } }, + "node_modules/@gulp-sourcemaps/identity-map/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@gulp-sourcemaps/identity-map/node_modules/through2": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", + "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "2 || 3" + } + }, "node_modules/@gulp-sourcemaps/map-sources": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@gulp-sourcemaps/map-sources/-/map-sources-1.0.0.tgz", @@ -1414,22 +1643,6 @@ "node": ">=0.10.0" } }, - "node_modules/@gulp-sourcemaps/map-sources/node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "node_modules/abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true - }, "node_modules/accepts": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", @@ -1456,9 +1669,9 @@ } }, "node_modules/acorn-jsx": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", - "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" @@ -1495,15 +1708,6 @@ "ajv": ">=4.10.0" } }, - "node_modules/amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "dev": true, - "engines": { - "node": ">=0.4.2" - } - }, "node_modules/ansi-colors": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", @@ -1529,12 +1733,12 @@ } }, "node_modules/ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, "dependencies": { - "type-fest": "^0.11.0" + "type-fest": "^0.21.3" }, "engines": { "node": ">=8" @@ -1543,26 +1747,14 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ansi-escapes/node_modules/type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "node_modules/ansi-gray": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", + "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-gray": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", - "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", - "dev": true, - "dependencies": { - "ansi-wrap": "0.1.0" - }, + "dependencies": { + "ansi-wrap": "0.1.0" + }, "engines": { "node": ">=0.10.0" } @@ -1610,9 +1802,9 @@ } }, "node_modules/anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", "dev": true, "dependencies": { "normalize-path": "^3.0.0", @@ -1634,28 +1826,12 @@ "node": ">=0.10.0" } }, - "node_modules/aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true - }, "node_modules/archy": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", "dev": true }, - "node_modules/are-we-there-yet": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", - "dev": true, - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, "node_modules/argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", @@ -1725,15 +1901,6 @@ "node": ">=0.10.0" } }, - "node_modules/array-find-index": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/array-initial": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/array-initial/-/array-initial-1.1.0.tgz", @@ -1815,24 +1982,6 @@ "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==", "dev": true }, - "node_modules/asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "dev": true, - "dependencies": { - "safer-buffer": "~2.1.0" - } - }, - "node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, "node_modules/assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", @@ -1887,15 +2036,6 @@ "node": ">=0.8.0" } }, - "node_modules/async-foreach": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", - "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", - "dev": true, - "engines": { - "node": "*" - } - }, "node_modules/async-settle": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/async-settle/-/async-settle-1.0.0.tgz", @@ -1908,12 +2048,6 @@ "node": ">= 0.10" } }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, "node_modules/atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", @@ -1926,21 +2060,6 @@ "node": ">= 4.5.0" } }, - "node_modules/aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", - "dev": true - }, "node_modules/axios": { "version": "0.21.1", "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", @@ -1960,13 +2079,13 @@ } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.1.10.tgz", - "integrity": "sha512-DO95wD4g0A8KRaHKi0D51NdGXzvpqVLnLu5BTvDlpqUEpTmeEtypgC1xqesORaWmiUOQI14UHKlzNd9iZ2G3ZA==", + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz", + "integrity": "sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.13.0", - "@babel/helper-define-polyfill-provider": "^0.1.5", + "@babel/compat-data": "^7.13.11", + "@babel/helper-define-polyfill-provider": "^0.2.2", "semver": "^6.1.1" }, "peerDependencies": { @@ -1974,25 +2093,25 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.1.7.tgz", - "integrity": "sha512-u+gbS9bbPhZWEeyy1oR/YaaSpod/KDT07arZHb80aTpl8H5ZBq+uN1nN9/xtX7jQyfLdPfoqI4Rue/MQSWJquw==", + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.4.tgz", + "integrity": "sha512-z3HnJE5TY/j4EFEa/qpQMSbcUJZ5JQi+3UFjXzn6pQCmIKc5Ug5j98SuYyH+m4xQnvKlMDIW4plLfgyVnd0IcQ==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.1.5", - "core-js-compat": "^3.8.1" + "@babel/helper-define-polyfill-provider": "^0.2.2", + "core-js-compat": "^3.14.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.1.6.tgz", - "integrity": "sha512-OUrYG9iKPKz8NxswXbRAdSwF0GhRdIEMTloQATJi4bDuFqrXaXcCUT/VGNrr8pBcjMh1RxZ7Xt9cytVJTJfvMg==", + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz", + "integrity": "sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.1.5" + "@babel/helper-define-polyfill-provider": "^0.2.2" }, "peerDependencies": { "@babel/core": "^7.0.0-0" @@ -2025,9 +2144,9 @@ "dev": true }, "node_modules/balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, "node_modules/base": { @@ -2084,25 +2203,19 @@ "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", "dev": true }, - "node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, - "dependencies": { - "tweetnacl": "^0.14.3" - } - }, "node_modules/beeper": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/beeper/-/beeper-2.1.0.tgz", - "integrity": "sha512-85+CcymhlP0jM4fs4ZMiMRl58VthoN9NRdvi+knXiQpP2UggkSre+A9rOZ0c2g2Vh+pEF5ZAlT+k8dsJNoanAA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/beeper/-/beeper-3.0.0.tgz", + "integrity": "sha512-8d0BXEuBIiPfmKvATnSCN58sGKCB3vy+lwORdSvfC5uN6OMlPj9/aVMXsmvt5dIvjjyxiuKYfMVWpiAh/kJr5w==", "dev": true, "dependencies": { - "yoctodelay": "^1.1.0" + "yoctodelay": "^1.2.0" }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/binary-extensions": { @@ -2130,18 +2243,6 @@ "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==", "dev": true }, - "node_modules/block-stream": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", - "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", - "dev": true, - "dependencies": { - "inherits": "~2.0.0" - }, - "engines": { - "node": "0.4 || >=0.5.8" - } - }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -2165,13 +2266,13 @@ } }, "node_modules/browser-sync": { - "version": "2.26.14", - "resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-2.26.14.tgz", - "integrity": "sha512-3TtpsheGolJT6UFtM2CZWEcGJmI4ZEvoCKiKE2bvcDnPxRkhQT4nIGVtfiyPcoHKXGM0LwMOZmYJNWfiNfVXWA==", + "version": "2.27.5", + "resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-2.27.5.tgz", + "integrity": "sha512-0GMEPDqccbTxwYOUGCk5AZloDj9I/1eDZCLXUKXu7iBJPznGGOnMHs88mrhaFL0fTA0R23EmsXX9nLZP+k5YzA==", "dev": true, "dependencies": { - "browser-sync-client": "^2.26.14", - "browser-sync-ui": "^2.26.14", + "browser-sync-client": "^2.27.5", + "browser-sync-ui": "^2.27.5", "bs-recipes": "1.3.4", "bs-snippet-injector": "^2.0.1", "chokidar": "^3.5.1", @@ -2198,7 +2299,7 @@ "serve-static": "1.13.2", "server-destroy": "1.0.1", "socket.io": "2.4.0", - "ua-parser-js": "^0.7.18", + "ua-parser-js": "^0.7.28", "yargs": "^15.4.1" }, "bin": { @@ -2209,9 +2310,9 @@ } }, "node_modules/browser-sync-client": { - "version": "2.26.14", - "resolved": "https://registry.npmjs.org/browser-sync-client/-/browser-sync-client-2.26.14.tgz", - "integrity": "sha512-be0m1MchmKv/26r/yyyolxXcBi052aYrmaQep5nm8YNMjFcEyzv0ZoOKn/c3WEXNlEB/KeXWaw70fAOJ+/F1zQ==", + "version": "2.27.5", + "resolved": "https://registry.npmjs.org/browser-sync-client/-/browser-sync-client-2.27.5.tgz", + "integrity": "sha512-l2jtf60/exv0fQiZkhi3z8RgexYYLGS7DVDnyepkrp+oFAPlKW69daL6NrVSgrwu6lzSTCCTAiPXnUSrQ57e/Q==", "dev": true, "dependencies": { "etag": "1.8.1", @@ -2224,9 +2325,9 @@ } }, "node_modules/browser-sync-ui": { - "version": "2.26.14", - "resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-2.26.14.tgz", - "integrity": "sha512-6oT1sboM4KVNnWCCJDMGbRIeTBw97toMFQ+srImvwQ6J5t9KMgizaIX8HcKLiemsUMSJkgGM9RVKIpq2UblgOA==", + "version": "2.27.5", + "resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-2.27.5.tgz", + "integrity": "sha512-KxBJhQ6XNbQ8w8UlkPa9/J5R0nBHgHuJUtDpEXQx1jBapDy32WGzD0NENDozP4zGNvJUgZk3N80hqB7YCieC3g==", "dev": true, "dependencies": { "async-each-series": "0.1.1", @@ -2238,16 +2339,16 @@ } }, "node_modules/browserslist": { - "version": "4.16.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz", - "integrity": "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==", + "version": "4.16.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.7.tgz", + "integrity": "sha512-7I4qVwqZltJ7j37wObBe3SoTz+nS8APaNcrBOlgoirb6/HbEU2XxW/LpUDTCngM6iauwFqmRTuOMfyKnFGY5JA==", "dev": true, "dependencies": { - "caniuse-lite": "^1.0.30001181", - "colorette": "^1.2.1", - "electron-to-chromium": "^1.3.649", + "caniuse-lite": "^1.0.30001248", + "colorette": "^1.2.2", + "electron-to-chromium": "^1.3.793", "escalade": "^3.1.1", - "node-releases": "^1.1.70" + "node-releases": "^1.1.73" }, "bin": { "browserslist": "cli.js" @@ -2282,9 +2383,9 @@ } }, "node_modules/buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, "node_modules/bytes": { @@ -2359,40 +2460,16 @@ "node": ">=6" } }, - "node_modules/camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/camelcase-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "node_modules/caniuse-lite": { + "version": "1.0.30001251", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001251.tgz", + "integrity": "sha512-HOe1r+9VkU4TFmnU70z+r7OLmtR+/chB1rdcJUeQlAinjEeb0cKL20tlAtOagNZhbrtLnCvV19B4FmF1rgzl6A==", "dev": true, - "dependencies": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001196", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001196.tgz", - "integrity": "sha512-CPvObjD3ovWrNBaXlAIGWmg2gQQuJ5YhuciUOjPRox6hIQttu8O+b51dx6VIpIY9ESd2d0Vac1RKpICdG4rGUg==", - "dev": true - }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, "node_modules/chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -2414,34 +2491,24 @@ "dev": true }, "node_modules/chokidar": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", - "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", + "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", "dev": true, "dependencies": { - "anymatch": "~3.1.1", + "anymatch": "~3.1.2", "braces": "~3.0.2", - "fsevents": "~2.3.1", - "glob-parent": "~5.1.0", + "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" + "readdirp": "~3.6.0" }, "engines": { "node": ">= 8.10.0" }, "optionalDependencies": { - "fsevents": "~2.3.1" - } - }, - "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true, - "engines": { - "node": ">=10" + "fsevents": "~2.3.2" } }, "node_modules/circular-json": { @@ -2552,6 +2619,15 @@ "node": ">= 4.0" } }, + "node_modules/clean-css/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/cli-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", @@ -2565,9 +2641,9 @@ } }, "node_modules/cli-table": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.5.tgz", - "integrity": "sha512-7uo2+RMNQUZ13M199udxqwk1qxTOS53EUak4gmu/aioUpdH5RvBz0JkJslcWz6ABKedZNqXXzikMZgHh+qF16A==", + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.6.tgz", + "integrity": "sha512-ZkNZbnZjKERTY5NwC2SeMeLeifSPq/pubeRoTpdr3WchLlnZg6hEgvHkK5zL7KNFdd9PmHN8lxrENUwI3cE8vQ==", "dev": true, "dependencies": { "colors": "1.0.3" @@ -2723,9 +2799,9 @@ } }, "node_modules/colorette": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", - "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.3.0.tgz", + "integrity": "sha512-ecORCqbSFP7Wm8Y6lyqMJjexBQqXSF7SSeaTyGGphogUjBlFP9m9o08wy86HL2uB7fMTxtOUzLMk7ogKcxMg1w==", "dev": true }, "node_modules/colors": { @@ -2737,18 +2813,6 @@ "node": ">=0.1.90" } }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", @@ -2803,6 +2867,15 @@ "source-map": "^0.6.1" } }, + "node_modules/concat-with-sourcemaps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/connect": { "version": "3.6.6", "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz", @@ -2827,16 +2900,25 @@ "node": ">=0.8" } }, - "node_modules/console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "node_modules/connect/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/connect/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "node_modules/convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", "dev": true, "dependencies": { "safe-buffer": "~5.1.1" @@ -2861,22 +2943,22 @@ } }, "node_modules/copy-props": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/copy-props/-/copy-props-2.0.4.tgz", - "integrity": "sha512-7cjuUME+p+S3HZlbllgsn2CDwS+5eCCX16qBgNC4jgSTf49qR1VKy/Zhl400m0IQXl/bPGEVqncgUUMjrr4s8A==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/copy-props/-/copy-props-2.0.5.tgz", + "integrity": "sha512-XBlx8HSqrT0ObQwmSzM7WE5k8FxTV75h1DX1Z3n6NhQ/UYYAvInWYmG06vFt7hQZArE2fuO62aihiWIVQwh1sw==", "dev": true, "dependencies": { - "each-props": "^1.3.0", - "is-plain-object": "^2.0.1" + "each-props": "^1.3.2", + "is-plain-object": "^5.0.0" } }, "node_modules/core-js-compat": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.9.1.tgz", - "integrity": "sha512-jXAirMQxrkbiiLsCx9bQPJFA6llDadKMpYrBJQJ3/c4/vsPP/fAf29h24tviRlvwUL6AmY5CHLu2GvjuYviQqA==", + "version": "3.16.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.16.1.tgz", + "integrity": "sha512-NHXQXvRbd4nxp9TEmooTJLUf94ySUG6+DSsscBpTftN1lQLQ4LjnWvc7AoIo4UjDsFF3hB8Uh5LLCRRdaiT5MQ==", "dev": true, "dependencies": { - "browserslist": "^4.16.3", + "browserslist": "^4.16.7", "semver": "7.0.0" }, "funding": { @@ -2935,14 +3017,11 @@ "source-map-resolve": "^0.6.0" } }, - "node_modules/currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "node_modules/css/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "dependencies": { - "array-find-index": "^1.0.1" - }, "engines": { "node": ">=0.10.0" } @@ -2957,25 +3036,21 @@ "type": "^1.0.1" } }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "node_modules/debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", "dev": true, "dependencies": { - "assert-plus": "^1.0.0" + "ms": "2.1.2" }, "engines": { - "node": ">=0.10" - } - }, - "node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, "node_modules/debug-fabulous": { @@ -2998,12 +3073,6 @@ "ms": "^2.1.1" } }, - "node_modules/debug-fabulous/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, "node_modules/decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", @@ -3074,21 +3143,6 @@ "node": ">=0.10.0" } }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "dev": true - }, "node_modules/depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", @@ -3180,6 +3234,18 @@ "object.defaults": "^1.1.0" } }, + "node_modules/each-props/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/easy-extender": { "version": "2.3.4", "resolved": "https://registry.npmjs.org/easy-extender/-/easy-extender-2.3.4.tgz", @@ -3204,16 +3270,6 @@ "node": ">= 0.8.0" } }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, - "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -3221,9 +3277,9 @@ "dev": true }, "node_modules/electron-to-chromium": { - "version": "1.3.682", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.682.tgz", - "integrity": "sha512-zok2y37qR00U14uM6qBz/3iIjWHom2eRfC2S1StA0RslP7x34jX+j4mxv80t8OEOHLJPVG54ZPeaFxEI7gPrwg==", + "version": "1.3.806", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.806.tgz", + "integrity": "sha512-AH/otJLAAecgyrYp0XK1DPiGVWcOgwPeJBOLeuFQ5l//vhQhwC9u6d+GijClqJAmsHG4XDue81ndSQPohUu0xA==", "dev": true }, "node_modules/emoji-regex": { @@ -3268,9 +3324,9 @@ } }, "node_modules/engine.io-client": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.5.0.tgz", - "integrity": "sha512-12wPRfMrugVw/DNyJk34GQ5vIVArEcVMXWugQGGuw2XxUSztFNmJggZmv8IZlLyEdnpO1QB9LkcjeWewO2vxtA==", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.5.2.tgz", + "integrity": "sha512-QEqIp+gJ/kMHeUun7f5Vv3bteRHppHH/FMBQX/esFj/fuYfjyUKWGMo3VCvIP/V8bE9KcjHmRZrhIz2Z9oNsDA==", "dev": true, "dependencies": { "component-emitter": "~1.3.0", @@ -3282,7 +3338,7 @@ "parseqs": "0.0.6", "parseuri": "0.0.6", "ws": "~7.4.2", - "xmlhttprequest-ssl": "~1.5.4", + "xmlhttprequest-ssl": "~1.6.2", "yeast": "0.1.2" } }, @@ -3295,6 +3351,12 @@ "ms": "2.0.0" } }, + "node_modules/engine.io-client/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, "node_modules/engine.io-parser": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.2.1.tgz", @@ -3318,21 +3380,6 @@ "ms": "^2.1.1" } }, - "node_modules/engine.io/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "node_modules/env-paths": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.0.tgz", - "integrity": "sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -3556,28 +3603,29 @@ "node": ">=4" } }, - "node_modules/eslint/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "node_modules/eslint/node_modules/globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", "dev": true, "dependencies": { - "ms": "2.1.2" + "type-fest": "^0.8.1" }, "engines": { - "node": ">=6.0" + "node": ">=8" }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "node_modules/eslint/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } }, "node_modules/espree": { "version": "6.2.1", @@ -3718,6 +3766,15 @@ "node": ">=0.10.0" } }, + "node_modules/expand-brackets/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, "node_modules/expand-brackets/node_modules/define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", @@ -3813,6 +3870,12 @@ "node": ">=0.10.0" } }, + "node_modules/expand-brackets/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, "node_modules/expand-tilde": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", @@ -3835,9 +3898,9 @@ } }, "node_modules/ext/node_modules/type": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/type/-/type-2.3.0.tgz", - "integrity": "sha512-rgPIqOdfK/4J9FhiVrZ3cveAjRRo5rsQBAIhnylX874y1DX/kEKSVdLsnuHB6l1KTjHyU01VjiMBHgU2adejyg==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.5.0.tgz", + "integrity": "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==", "dev": true }, "node_modules/extend": { @@ -3925,15 +3988,6 @@ "node": ">=0.10.0" } }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true, - "engines": [ - "node >=0.6.0" - ] - }, "node_modules/fancy-log": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz", @@ -4031,6 +4085,21 @@ "node": ">= 0.8" } }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, "node_modules/find-up": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", @@ -4214,6 +4283,18 @@ "node": ">= 0.10" } }, + "node_modules/fined/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/flagged-respawn": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", @@ -4254,9 +4335,9 @@ } }, "node_modules/follow-redirects": { - "version": "1.13.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.3.tgz", - "integrity": "sha512-DUgl6+HDzB0iEptNQEXLx/KhTmDb8tZUHSeLqpnjpknR70H0nC2t9N73BK6fN4hOvJ84pKlIQVQ4k5FFlBedKA==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.1.tgz", + "integrity": "sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg==", "dev": true, "funding": [ { @@ -4294,29 +4375,6 @@ "node": ">=0.10.0" } }, - "node_modules/forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 0.12" - } - }, "node_modules/fragment-cache": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", @@ -4358,18 +4416,6 @@ "universalify": "^0.1.0" } }, - "node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/fs-mkdirp-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz", @@ -4383,16 +4429,6 @@ "node": ">= 0.10" } }, - "node_modules/fs-mkdirp-stream/node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -4413,21 +4449,6 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/fstream": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", - "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "inherits": "~2.0.0", - "mkdirp": ">=0.5 0", - "rimraf": "2" - }, - "engines": { - "node": ">=0.6" - } - }, "node_modules/function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -4440,81 +4461,6 @@ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", "dev": true }, - "node_modules/gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "dev": true, - "dependencies": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "node_modules/gauge/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gauge/node_modules/is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "dependencies": { - "number-is-nan": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gauge/node_modules/string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gauge/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gaze": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", - "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", - "dev": true, - "dependencies": { - "globule": "^1.0.0" - }, - "engines": { - "node": ">= 4.0.0" - } - }, "node_modules/generate-function": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", @@ -4566,15 +4512,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", @@ -4584,19 +4521,10 @@ "node": ">=0.10.0" } }, - "node_modules/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0" - } - }, "node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -4614,9 +4542,9 @@ } }, "node_modules/glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "dependencies": { "is-glob": "^4.0.1" @@ -4760,7 +4688,6 @@ "anymatch": "^2.0.0", "async-each": "^1.0.1", "braces": "^2.3.2", - "fsevents": "^1.2.7", "glob-parent": "^3.1.0", "inherits": "^2.0.3", "is-binary-path": "^1.0.0", @@ -4978,18 +4905,12 @@ } }, "node_modules/globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true, - "dependencies": { - "type-fest": "^0.8.1" - }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, "node_modules/globule": { @@ -5040,9 +4961,9 @@ "dev": true }, "node_modules/graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", - "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", + "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==", "dev": true }, "node_modules/growly": { @@ -5074,6 +4995,7 @@ "resolved": "https://registry.npmjs.org/gulp-babel/-/gulp-babel-8.0.0.tgz", "integrity": "sha512-oomaIqDXxFkg7lbpBou/gnUkX51/Y/M2ZfSjL2hdqXTAlSWZcgZtd2o0cOH0r/eE8LWD0+Q/PsLsr2DKOoqToQ==", "dev": true, + "license": "MIT", "dependencies": { "plugin-error": "^1.0.1", "replace-ext": "^1.0.0", @@ -5087,16 +5009,6 @@ "@babel/core": "^7.0.0" } }, - "node_modules/gulp-babel/node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, "node_modules/gulp-clean-css": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/gulp-clean-css/-/gulp-clean-css-4.3.0.tgz", @@ -5109,6 +5021,15 @@ "vinyl-sourcemaps-apply": "0.2.1" } }, + "node_modules/gulp-clean-css/node_modules/through2": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", + "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", + "dev": true, + "dependencies": { + "readable-stream": "2 || 3" + } + }, "node_modules/gulp-cli": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-2.3.0.tgz", @@ -5246,9 +5167,9 @@ "dev": true }, "node_modules/gulp-cli/node_modules/yargs": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.1.tgz", - "integrity": "sha512-huO4Fr1f9PmiJJdll5kwoS2e4GqzGSsMT3PPMpOwoVkOK8ckqAewMTZyA6LXVQWflleb/Z8oPBEvNsMft0XE+g==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.2.tgz", + "integrity": "sha512-ZEjj/dQYQy0Zx0lgLMLR8QuaqTihnxirir7EwUHp1Axq4e3+k8jXU5K0VLbNvedv1f4EWtBonDIZm0NUr+jCcA==", "dev": true, "dependencies": { "camelcase": "^3.0.0", @@ -5263,13 +5184,13 @@ "string-width": "^1.0.2", "which-module": "^1.0.0", "y18n": "^3.2.1", - "yargs-parser": "5.0.0-security.0" + "yargs-parser": "^5.0.1" } }, "node_modules/gulp-cli/node_modules/yargs-parser": { - "version": "5.0.0-security.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0-security.0.tgz", - "integrity": "sha512-T69y4Ps64LNesYxeYGYPvfoMTt/7y1XtfpIslUeK4um+9Hu7hlGoRtaDLvdXb7+/tfq4opVa2HRY5xGip022rQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.1.tgz", + "integrity": "sha512-wpav5XYiddjXxirPoCTUPbqM0PXvJ9hiBMvuJgInvo4/lAOTZzUprArw17q2O1P2+GHhbBr18/iQwjL5Z9BqfA==", "dev": true, "dependencies": { "camelcase": "^3.0.0", @@ -5281,7 +5202,6 @@ "resolved": "https://registry.npmjs.org/gulp-concat/-/gulp-concat-2.6.1.tgz", "integrity": "sha1-Yz0WyV2IUEYorQJmVmPO5aR5M1M=", "dev": true, - "license": "MIT", "dependencies": { "concat-with-sourcemaps": "^1.0.0", "through2": "^2.0.0", @@ -5291,21 +5211,12 @@ "node": ">= 0.10" } }, - "node_modules/gulp-concat/node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, "node_modules/gulp-eslint": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/gulp-eslint/-/gulp-eslint-6.0.0.tgz", "integrity": "sha512-dCVPSh1sA+UVhn7JSQt7KEb4An2sQNbOdB3PA8UCfxsoPlAKjJHxYHGXdXC7eb+V1FAnilSFFqslPrq037l1ig==", "dev": true, + "license": "MIT", "dependencies": { "eslint": "^6.0.0", "fancy-log": "^1.3.2", @@ -5317,6 +5228,7 @@ "resolved": "https://registry.npmjs.org/gulp-footer/-/gulp-footer-2.0.2.tgz", "integrity": "sha512-HsG5VOgKHFRqZXnHGI6oGhPDg70p9pobM+dYOnjBZVLMQUHzLG6bfaPNRJ7XG707E+vWO3TfN0CND9UrYhk94g==", "dev": true, + "license": "MIT", "dependencies": { "lodash._reescape": "^3.0.0", "lodash._reevaluate": "^3.0.0", @@ -5325,128 +5237,75 @@ "map-stream": "0.0.7" } }, - "node_modules/gulp-footer/node_modules/lodash.template": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz", - "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=", - "dev": true, - "dependencies": { - "lodash._basecopy": "^3.0.0", - "lodash._basetostring": "^3.0.0", - "lodash._basevalues": "^3.0.0", - "lodash._isiterateecall": "^3.0.0", - "lodash._reinterpolate": "^3.0.0", - "lodash.escape": "^3.0.0", - "lodash.keys": "^3.0.0", - "lodash.restparam": "^3.0.0", - "lodash.templatesettings": "^3.0.0" - } - }, - "node_modules/gulp-footer/node_modules/lodash.templatesettings": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz", - "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=", - "dev": true, - "dependencies": { - "lodash._reinterpolate": "^3.0.0", - "lodash.escape": "^3.0.0" - } - }, "node_modules/gulp-notify": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/gulp-notify/-/gulp-notify-3.2.0.tgz", - "integrity": "sha512-qEocs1UVoDKKUjfsxJNMNwkRla0PbsyJwsqNNXpzYWsLQ29LhxRMY3wnTGZcc4hMHtalnvah/Dwlwb4NijH/0A==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/gulp-notify/-/gulp-notify-4.0.0.tgz", + "integrity": "sha512-0cdDvZkHVqu4tqrcOI/jL5YdxYEIPQ7+p3YxnO48w5hhPSisvogZ887qL+fpYItg9m4MUhJ5Se8p8xGy3uJESA==", "dev": true, + "license": "MIT", "dependencies": { - "ansi-colors": "^1.0.1", - "fancy-log": "^1.3.2", - "lodash.template": "^4.4.0", - "node-notifier": "^5.2.1", - "node.extend": "^2.0.0", - "plugin-error": "^0.1.2", - "through2": "^2.0.3" + "ansi-colors": "^4.1.1", + "fancy-log": "^1.3.3", + "lodash.template": "^4.5.0", + "node-notifier": "^9.0.1", + "node.extend": "^2.0.2", + "plugin-error": "^1.0.1", + "through2": "^4.0.2" }, "engines": { "node": ">=0.8.0", "npm": ">=1.2.10" } }, - "node_modules/gulp-notify/node_modules/arr-diff": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz", - "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=", - "dev": true, - "dependencies": { - "arr-flatten": "^1.0.1", - "array-slice": "^0.2.3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gulp-notify/node_modules/arr-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz", - "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gulp-notify/node_modules/array-slice": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", - "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=", + "node_modules/gulp-notify/node_modules/ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/gulp-notify/node_modules/extend-shallow": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz", - "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=", + "node_modules/gulp-notify/node_modules/lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", "dev": true, "dependencies": { - "kind-of": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" } }, - "node_modules/gulp-notify/node_modules/kind-of": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", - "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=", + "node_modules/gulp-notify/node_modules/lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "lodash._reinterpolate": "^3.0.0" } }, - "node_modules/gulp-notify/node_modules/plugin-error": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz", - "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=", + "node_modules/gulp-notify/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, "dependencies": { - "ansi-cyan": "^0.1.1", - "ansi-red": "^0.1.1", - "arr-diff": "^1.0.1", - "arr-union": "^2.0.1", - "extend-shallow": "^1.1.2" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">= 6" } }, "node_modules/gulp-notify/node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", "dev": true, "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" + "readable-stream": "3" } }, "node_modules/gulp-plumber": { @@ -5588,43 +5447,33 @@ "node": ">=0.8.0" } }, - "node_modules/gulp-plumber/node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, "node_modules/gulp-rename": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-2.0.0.tgz", "integrity": "sha512-97Vba4KBzbYmR5VBs9mWmK+HwIf5mj+/zioxfZhOKeXtx5ZjBk57KFlePf5nxq9QsTtFl0ejnHE3zTC9MHXqyQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/gulp-sass": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/gulp-sass/-/gulp-sass-4.1.0.tgz", - "integrity": "sha512-xIiwp9nkBLcJDpmYHbEHdoWZv+j+WtYaKD6Zil/67F3nrAaZtWYN5mDwerdo7EvcdBenSAj7Xb2hx2DqURLGdA==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/gulp-sass/-/gulp-sass-5.0.0.tgz", + "integrity": "sha512-J0aH0/2N4+2szGCeut0ktGHK0Wg8L9uWivuigrl7xv+nhxozBQRAKLrhnDDaTa3FeUWYtgT8w4RlgdhRy5v16w==", "dev": true, "license": "MIT", "dependencies": { - "chalk": "^2.3.0", - "lodash": "^4.17.11", - "node-sass": "^4.8.3", + "chalk": "^4.1.1", + "lodash": "^4.17.20", "plugin-error": "^1.0.1", - "replace-ext": "^1.0.0", - "strip-ansi": "^4.0.0", - "through2": "^2.0.0", - "vinyl-sourcemaps-apply": "^0.2.0" + "replace-ext": "^2.0.0", + "strip-ansi": "^6.0.0", + "transfob": "^1.0.0", + "vinyl-sourcemaps-apply": "^0.2.1" }, "engines": { - "node": ">=6" + "node": ">=12" } }, "node_modules/gulp-sass-lint": { @@ -5706,200 +5555,104 @@ "node": ">=0.10.0" } }, - "node_modules/gulp-sass-lint/node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, "node_modules/gulp-sass/node_modules/ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/gulp-sass/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gulp-sass/node_modules/cross-spawn": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", - "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", - "dev": true, - "dependencies": { - "lru-cache": "^4.0.1", - "which": "^1.2.9" - } - }, - "node_modules/gulp-sass/node_modules/node-gyp": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", - "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "fstream": "^1.0.0", - "glob": "^7.0.3", - "graceful-fs": "^4.1.2", - "mkdirp": "^0.5.0", - "nopt": "2 || 3", - "npmlog": "0 || 1 || 2 || 3 || 4", - "osenv": "0", - "request": "^2.87.0", - "rimraf": "2", - "semver": "~5.3.0", - "tar": "^2.0.0", - "which": "1" - }, - "bin": { - "node-gyp": "bin/node-gyp.js" + "color-convert": "^2.0.1" }, "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/gulp-sass/node_modules/node-sass": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.14.1.tgz", - "integrity": "sha512-sjCuOlvGyCJS40R8BscF5vhVlQjNN069NtQ1gSxyK1u9iqvn6tf7O1R4GNowVZfiZUCRt5MmMs1xd+4V/7Yr0g==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "async-foreach": "^0.1.3", - "chalk": "^1.1.1", - "cross-spawn": "^3.0.0", - "gaze": "^1.0.0", - "get-stdin": "^4.0.1", - "glob": "^7.0.3", - "in-publish": "^2.0.0", - "lodash": "^4.17.15", - "meow": "^3.7.0", - "mkdirp": "^0.5.1", - "nan": "^2.13.2", - "node-gyp": "^3.8.0", - "npmlog": "^4.0.0", - "request": "^2.88.0", - "sass-graph": "2.2.5", - "stdout-stream": "^1.4.0", - "true-case-path": "^1.0.2" - }, - "bin": { - "node-sass": "bin/node-sass" + "node": ">=8" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gulp-sass/node_modules/node-sass/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/gulp-sass/node_modules/node-sass/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "node_modules/gulp-sass/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gulp-sass/node_modules/node-sass/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "dependencies": { - "ansi-regex": "^2.0.0" + "node": ">=10" }, - "engines": { - "node": ">=0.10.0" + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/gulp-sass/node_modules/nopt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "node_modules/gulp-sass/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "abbrev": "1" + "color-name": "~1.1.4" }, - "bin": { - "nopt": "bin/nopt.js" + "engines": { + "node": ">=7.0.0" } }, - "node_modules/gulp-sass/node_modules/semver": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", - "dev": true, - "bin": { - "semver": "bin/semver" - } + "node_modules/gulp-sass/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, - "node_modules/gulp-sass/node_modules/strip-ansi": { + "node_modules/gulp-sass/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "dependencies": { - "ansi-regex": "^3.0.0" - }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/gulp-sass/node_modules/supports-color": { + "node_modules/gulp-sass/node_modules/replace-ext": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-2.0.0.tgz", + "integrity": "sha512-UszKE5KVK6JvyD92nzMn9cDapSk6w/CaFZ96CnmDMUqH9oowfxF/ZjRITD25H4DnOQClLA4/j7jLGXXLVKxAug==", "dev": true, "engines": { - "node": ">=0.8.0" + "node": ">= 10" } }, - "node_modules/gulp-sass/node_modules/tar": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", - "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", + "node_modules/gulp-sass/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "dev": true, "dependencies": { - "block-stream": "*", - "fstream": "^1.0.12", - "inherits": "2" + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/gulp-sass/node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "node_modules/gulp-sass/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, "node_modules/gulp-sizereport": { @@ -5907,7 +5660,6 @@ "resolved": "https://registry.npmjs.org/gulp-sizereport/-/gulp-sizereport-1.2.1.tgz", "integrity": "sha512-thlt5LczraR7umuMLfpGo8XVUNxvU+PsSKWOrj41NjZnMeI4E9t4rLYc3eEAP20Sl1YhfxMER/SRz3udLldQVg==", "dev": true, - "license": "MIT", "dependencies": { "ansi-colors": "^1.0.1", "beeper": "^1.1.1", @@ -5930,16 +5682,6 @@ "node": ">=0.10.0" } }, - "node_modules/gulp-sizereport/node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, "node_modules/gulp-sourcemaps": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-3.0.0.tgz", @@ -5974,14 +5716,13 @@ "node": ">=0.4.0" } }, - "node_modules/gulp-sourcemaps/node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "node_modules/gulp-sourcemaps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" + "engines": { + "node": ">=0.10.0" } }, "node_modules/gulp-terser": { @@ -6046,29 +5787,6 @@ "node": ">=0.12.0" } }, - "node_modules/har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "deprecated": "this library is no longer supported", - "dev": true, - "dependencies": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -6133,9 +5851,9 @@ } }, "node_modules/has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", "dev": true, "engines": { "node": ">= 0.4" @@ -6144,12 +5862,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", - "dev": true - }, "node_modules/has-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", @@ -6226,9 +5938,9 @@ } }, "node_modules/hosted-git-info": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", - "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", "dev": true }, "node_modules/http-errors": { @@ -6270,21 +5982,6 @@ "node": ">=8.0.0" } }, - "node_modules/http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - }, - "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" - } - }, "node_modules/iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -6340,30 +6037,6 @@ "node": ">=0.8.19" } }, - "node_modules/in-publish": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.1.tgz", - "integrity": "sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ==", - "dev": true, - "bin": { - "in-install": "in-install.js", - "in-publish": "in-publish.js", - "not-in-install": "not-in-install.js", - "not-in-publish": "not-in-publish.js" - } - }, - "node_modules/indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", - "dev": true, - "dependencies": { - "repeating": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/indexof": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", @@ -6441,9 +6114,9 @@ } }, "node_modules/inquirer/node_modules/chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -6484,9 +6157,9 @@ } }, "node_modules/inquirer/node_modules/rxjs": { - "version": "6.6.6", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.6.tgz", - "integrity": "sha512-/oTwee4N4iWzAMAL9xdGKjkEHmIwupR3oXbQjCKywF1BeFohswF3vZdogbmEF6pZkOsXTzWkrZszrWpQTByYVg==", + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", "dev": true, "dependencies": { "tslib": "^1.9.0" @@ -6605,9 +6278,9 @@ "dev": true }, "node_modules/is-core-module": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", - "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.5.0.tgz", + "integrity": "sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg==", "dev": true, "dependencies": { "has": "^1.0.3" @@ -6660,6 +6333,21 @@ "node": ">=0.10.0" } }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-extendable": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", @@ -6672,25 +6360,25 @@ "node": ">=0.10.0" } }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "node_modules/is-extendable/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-finite": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", - "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true, "engines": { "node": ">=0.10.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-fullwidth-code-point": { @@ -6761,13 +6449,10 @@ } }, "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, "engines": { "node": ">=0.10.0" } @@ -6802,12 +6487,6 @@ "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", "dev": true }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, "node_modules/is-unc-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", @@ -6874,18 +6553,6 @@ "node": ">=0.10.0" } }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, - "node_modules/js-base64": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", - "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==", - "dev": true - }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -6905,12 +6572,6 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true - }, "node_modules/jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", @@ -6923,12 +6584,6 @@ "node": ">=4" } }, - "node_modules/json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true - }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -6950,12 +6605,6 @@ "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", "dev": true }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true - }, "node_modules/json5": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", @@ -6977,9 +6626,6 @@ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz", "integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=", "dev": true, - "dependencies": { - "graceful-fs": "^4.1.6" - }, "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -6999,21 +6645,6 @@ "node": ">=0.10.0" } }, - "node_modules/jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, "node_modules/just-debounce": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.1.0.tgz", @@ -7116,6 +6747,18 @@ "node": ">= 0.8" } }, + "node_modules/liftoff/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/limiter": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/limiter/-/limiter-1.1.5.tgz", @@ -7226,12 +6869,6 @@ } } }, - "node_modules/localtunnel/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, "node_modules/localtunnel/node_modules/strip-ansi": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", @@ -7262,9 +6899,9 @@ } }, "node_modules/localtunnel/node_modules/y18n": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz", - "integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==", + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, "engines": { "node": ">=10" @@ -7289,36 +6926,14 @@ } }, "node_modules/localtunnel/node_modules/yargs-parser": { - "version": "20.2.6", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.6.tgz", - "integrity": "sha512-AP1+fQIWSM/sMiET8fyayjx/J+JmTPt2Mr0FkrgqB4todtfa53sOsrSAcIrJRD5XS20bKUwaDIuMkWKCEiQLKA==", + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true, "engines": { "node": ">=10" } }, - "node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/locate-path/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", @@ -7442,53 +7057,44 @@ "dev": true }, "node_modules/lodash.template": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", - "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz", + "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=", "dev": true, "dependencies": { + "lodash._basecopy": "^3.0.0", + "lodash._basetostring": "^3.0.0", + "lodash._basevalues": "^3.0.0", + "lodash._isiterateecall": "^3.0.0", "lodash._reinterpolate": "^3.0.0", - "lodash.templatesettings": "^4.0.0" + "lodash.escape": "^3.0.0", + "lodash.keys": "^3.0.0", + "lodash.restparam": "^3.0.0", + "lodash.templatesettings": "^3.0.0" } }, "node_modules/lodash.templatesettings": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", - "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz", + "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=", "dev": true, "dependencies": { - "lodash._reinterpolate": "^3.0.0" + "lodash._reinterpolate": "^3.0.0", + "lodash.escape": "^3.0.0" } }, - "node_modules/loud-rejection": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", - "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "dependencies": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" + "yallist": "^4.0.0" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "dependencies": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "node": ">=10" } }, - "node_modules/lru-cache/node_modules/yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - }, "node_modules/lru-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz", @@ -7528,15 +7134,6 @@ "node": ">=0.10.0" } }, - "node_modules/map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/map-stream": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.0.7.tgz", @@ -7752,27 +7349,6 @@ "timers-ext": "^0.1.7" } }, - "node_modules/meow": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", - "dev": true, - "dependencies": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/merge": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz", @@ -7780,16 +7356,16 @@ "dev": true }, "node_modules/micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", "dev": true, "dependencies": { "braces": "^3.0.1", - "picomatch": "^2.0.5" + "picomatch": "^2.2.3" }, "engines": { - "node": ">=8" + "node": ">=8.6" } }, "node_modules/mime": { @@ -7802,21 +7378,21 @@ } }, "node_modules/mime-db": { - "version": "1.46.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.46.0.tgz", - "integrity": "sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ==", + "version": "1.49.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz", + "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==", "dev": true, "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { - "version": "2.1.29", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.29.tgz", - "integrity": "sha512-Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ==", + "version": "2.1.32", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz", + "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==", "dev": true, "dependencies": { - "mime-db": "1.46.0" + "mime-db": "1.49.0" }, "engines": { "node": ">= 0.6" @@ -7831,49 +7407,24 @@ "node": ">=6" } }, - "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, - "node_modules/minipass": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", - "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">= 8" + "node": "*" } }, + "node_modules/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, "node_modules/mitt": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/mitt/-/mitt-1.2.0.tgz", @@ -7906,9 +7457,9 @@ } }, "node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, "node_modules/mute-stdout": { @@ -7927,10 +7478,11 @@ "dev": true }, "node_modules/nan": { - "version": "2.14.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", - "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", - "dev": true + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", + "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==", + "dev": true, + "optional": true }, "node_modules/nanomatch": { "version": "1.2.13", @@ -7990,61 +7542,36 @@ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", "dev": true }, - "node_modules/node-gyp": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.2.tgz", - "integrity": "sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==", + "node_modules/node-notifier": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-9.0.1.tgz", + "integrity": "sha512-fPNFIp2hF/Dq7qLDzSg4vZ0J4e9v60gJR+Qx7RbjbWqzPDdEqeVpEx5CFeDAELIl+A/woaaNn1fQ5nEVerMxJg==", "dev": true, "dependencies": { - "env-paths": "^2.2.0", - "glob": "^7.1.4", - "graceful-fs": "^4.2.3", - "nopt": "^5.0.0", - "npmlog": "^4.1.2", - "request": "^2.88.2", - "rimraf": "^3.0.2", + "growly": "^1.3.0", + "is-wsl": "^2.2.0", "semver": "^7.3.2", - "tar": "^6.0.2", + "shellwords": "^0.1.1", + "uuid": "^8.3.0", "which": "^2.0.2" - }, - "bin": { - "node-gyp": "bin/node-gyp.js" - }, - "engines": { - "node": ">= 10.12.0" } }, - "node_modules/node-gyp/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/node-notifier/node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", "dev": true, "dependencies": { - "yallist": "^4.0.0" + "is-docker": "^2.0.0" }, "engines": { - "node": ">=10" - } - }, - "node_modules/node-gyp/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=8" } }, - "node_modules/node-gyp/node_modules/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "node_modules/node-notifier/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -8056,7 +7583,7 @@ "node": ">=10" } }, - "node_modules/node-gyp/node_modules/which": { + "node_modules/node-notifier/node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", @@ -8071,179 +7598,12 @@ "node": ">= 8" } }, - "node_modules/node-notifier": { - "version": "5.4.3", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.3.tgz", - "integrity": "sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q==", - "dev": true, - "dependencies": { - "growly": "^1.3.0", - "is-wsl": "^1.1.0", - "semver": "^5.5.0", - "shellwords": "^0.1.1", - "which": "^1.3.0" - } - }, - "node_modules/node-notifier/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, "node_modules/node-releases": { - "version": "1.1.71", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz", - "integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==", + "version": "1.1.74", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.74.tgz", + "integrity": "sha512-caJBVempXZPepZoZAPCWRTNxYQ+xtG/KAi4ozTA5A+nJ7IU+kLQCbqaUjb5Rwy14M9upBWiQ4NutcmW04LJSRw==", "dev": true }, - "node_modules/node-sass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-5.0.0.tgz", - "integrity": "sha512-opNgmlu83ZCF792U281Ry7tak9IbVC+AKnXGovcQ8LG8wFaJv6cLnRlc6DIHlmNxWEexB5bZxi9SZ9JyUuOYjw==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "async-foreach": "^0.1.3", - "chalk": "^1.1.1", - "cross-spawn": "^7.0.3", - "gaze": "^1.0.0", - "get-stdin": "^4.0.1", - "glob": "^7.0.3", - "lodash": "^4.17.15", - "meow": "^3.7.0", - "mkdirp": "^0.5.1", - "nan": "^2.13.2", - "node-gyp": "^7.1.0", - "npmlog": "^4.0.0", - "request": "^2.88.0", - "sass-graph": "2.2.5", - "stdout-stream": "^1.4.0", - "true-case-path": "^1.0.2" - }, - "bin": { - "node-sass": "bin/node-sass" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/node-sass/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/node-sass/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/node-sass/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/node-sass/node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/node-sass/node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/node-sass/node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/node-sass/node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/node-sass/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/node-sass/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/node-sass/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/node.extend": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/node.extend/-/node.extend-2.0.2.tgz", @@ -8257,21 +7617,6 @@ "node": ">=0.4.0" } }, - "node_modules/nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", - "dev": true, - "dependencies": { - "abbrev": "1" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", @@ -8314,18 +7659,6 @@ "node": ">= 0.10" } }, - "node_modules/npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "dev": true, - "dependencies": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, "node_modules/number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", @@ -8335,15 +7668,6 @@ "node": ">=0.10.0" } }, - "node_modules/oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true, - "engines": { - "node": "*" - } - }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -8640,16 +7964,6 @@ "node": ">=0.10.0" } }, - "node_modules/osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "dev": true, - "dependencies": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, "node_modules/p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", @@ -8665,18 +7979,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", @@ -8815,9 +8117,9 @@ } }, "node_modules/path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, "node_modules/path-root": { @@ -8855,16 +8157,10 @@ "node": ">=0.10.0" } }, - "node_modules/performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true - }, "node_modules/picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", "dev": true, "engines": { "node": ">=8.6" @@ -8948,9 +8244,9 @@ } }, "node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", "dev": true, "dependencies": { "chalk": "^2.4.2", @@ -8965,6 +8261,15 @@ "url": "https://opencollective.com/postcss/" } }, + "node_modules/postcss/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/postcss/node_modules/supports-color": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", @@ -9022,18 +8327,6 @@ "node": ">=0.4.0" } }, - "node_modules/pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true - }, - "node_modules/psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", - "dev": true - }, "node_modules/pump": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", @@ -9140,9 +8433,9 @@ } }, "node_modules/readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, "dependencies": { "picomatch": "^2.2.1" @@ -9192,19 +8485,6 @@ "node": ">= 0.10" } }, - "node_modules/redent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", - "dev": true, - "dependencies": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", @@ -9224,9 +8504,9 @@ } }, "node_modules/regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", - "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", "dev": true }, "node_modules/regenerator-transform": { @@ -9284,9 +8564,9 @@ "dev": true }, "node_modules/regjsparser": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.7.tgz", - "integrity": "sha512-ib77G0uxsA2ovgiYbCVGx4Pv3PSttAx2vIwidqQzbL2U5S4Q+j00HdSAneSBuyVcMvEnTXMjiGgB+DlXozVhpQ==", + "version": "0.6.9", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.9.tgz", + "integrity": "sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ==", "dev": true, "dependencies": { "jsesc": "~0.5.0" @@ -9331,16 +8611,6 @@ "node": ">= 0.10" } }, - "node_modules/remove-bom-stream/node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, "node_modules/remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", @@ -9348,9 +8618,9 @@ "dev": true }, "node_modules/repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", "dev": true, "engines": { "node": ">=0.10.0" @@ -9358,23 +8628,11 @@ }, "node_modules/repeat-string": { "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", "dev": true, - "dependencies": { - "is-finite": "^1.0.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=0.10" } }, "node_modules/replace-ext": { @@ -9400,47 +8658,6 @@ "node": ">= 0.10" } }, - "node_modules/request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", - "dev": true, - "dependencies": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/request/node_modules/qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true, - "engines": { - "node": ">=0.6" - } - }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -9551,6 +8768,21 @@ "node": ">= 0.8.0" } }, + "node_modules/resp-modifier/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/resp-modifier/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, "node_modules/restore-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", @@ -9639,119 +8871,19 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, - "node_modules/sass-graph": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.5.tgz", - "integrity": "sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==", - "dev": true, - "dependencies": { - "glob": "^7.0.0", - "lodash": "^4.0.0", - "scss-tokenizer": "^0.2.3", - "yargs": "^13.3.2" - } - }, - "node_modules/sass-graph/node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/sass-graph/node_modules/cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "dependencies": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "node_modules/sass-graph/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "node_modules/sass-graph/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/sass-graph/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/sass-graph/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "node_modules/sass": { + "version": "1.37.5", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.37.5.tgz", + "integrity": "sha512-Cx3ewxz9QB/ErnVIiWg2cH0kiYZ0FPvheDTVC6BsiEGBTZKKZJ1Gq5Kq6jy3PKtL6+EJ8NIoaBW/RSd2R6cZOA==", "dev": true, "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "chokidar": ">=3.0.0 <4.0.0" }, - "engines": { - "node": ">=6" - } - }, - "node_modules/sass-graph/node_modules/wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" + "bin": { + "sass": "sass.js" }, "engines": { - "node": ">=6" - } - }, - "node_modules/sass-graph/node_modules/yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dev": true, - "dependencies": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - }, - "node_modules/sass-graph/node_modules/yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "node": ">=8.9.0" } }, "node_modules/sass-lint": { @@ -9883,6 +9015,15 @@ "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", "dev": true }, + "node_modules/sass-lint/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, "node_modules/sass-lint/node_modules/doctrine": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", @@ -10045,6 +9186,12 @@ "node": ">=0.10.0" } }, + "node_modules/sass-lint/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, "node_modules/sass-lint/node_modules/onetime": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", @@ -10210,28 +9357,6 @@ "node": ">=0.10.0" } }, - "node_modules/scss-tokenizer": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", - "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", - "dev": true, - "dependencies": { - "js-base64": "^2.1.8", - "source-map": "^0.4.2" - } - }, - "node_modules/scss-tokenizer/node_modules/source-map": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", - "dev": true, - "dependencies": { - "amdefine": ">=0.0.4" - }, - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", @@ -10277,6 +9402,15 @@ "node": ">= 0.8.0" } }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, "node_modules/send/node_modules/http-errors": { "version": "1.6.3", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", @@ -10298,6 +9432,12 @@ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true }, + "node_modules/send/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, "node_modules/send/node_modules/setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", @@ -10331,6 +9471,15 @@ "node": ">= 0.8.0" } }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, "node_modules/serve-index/node_modules/http-errors": { "version": "1.6.3", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", @@ -10352,6 +9501,12 @@ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, "node_modules/serve-index/node_modules/setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", @@ -10430,6 +9585,18 @@ "node": ">=0.10.0" } }, + "node_modules/set-value/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/setprototypeof": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", @@ -10573,6 +9740,15 @@ "node": ">=0.10.0" } }, + "node_modules/snapdragon/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, "node_modules/snapdragon/node_modules/define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", @@ -10668,14 +9844,11 @@ "node": ">=0.10.0" } }, - "node_modules/snapdragon/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "node_modules/snapdragon/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true }, "node_modules/snapdragon/node_modules/source-map-resolve": { "version": "0.5.3", @@ -10744,6 +9917,12 @@ "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", "dev": true }, + "node_modules/socket.io-client/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, "node_modules/socket.io-client/node_modules/socket.io-parser": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.2.tgz", @@ -10788,12 +9967,6 @@ "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", "dev": true }, - "node_modules/socket.io-parser/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, "node_modules/socket.io/node_modules/debug": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", @@ -10804,16 +9977,10 @@ "ms": "^2.1.1" } }, - "node_modules/socket.io/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true, "engines": { "node": ">=0.10.0" @@ -10839,6 +10006,15 @@ "source-map": "^0.6.0" } }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/source-map-url": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", @@ -10881,9 +10057,9 @@ } }, "node_modules/spdx-license-ids": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", - "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.10.tgz", + "integrity": "sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA==", "dev": true }, "node_modules/split-string": { @@ -10904,26 +10080,6 @@ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, - "node_modules/sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "dev": true, - "dependencies": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/stack-trace": { "version": "0.0.10", "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", @@ -11029,15 +10185,6 @@ "node": ">= 0.6" } }, - "node_modules/stdout-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", - "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", - "dev": true, - "dependencies": { - "readable-stream": "^2.0.1" - } - }, "node_modules/stream-exhaust": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz", @@ -11076,9 +10223,9 @@ } }, "node_modules/string-width": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.1.tgz", - "integrity": "sha512-LL0OLyN6AnfV9xqGQpDBwedT2Rt63737LxvsRxbcwpa2aIeynBApG2Sm//F3TaLHIR1aJBN52DWklc06b94o5Q==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", "dev": true, "dependencies": { "emoji-regex": "^8.0.0", @@ -11143,21 +10290,6 @@ "node": ">=0.10.0" } }, - "node_modules/strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", - "dev": true, - "dependencies": { - "get-stdin": "^4.0.1" - }, - "bin": { - "strip-indent": "cli.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -11245,35 +10377,6 @@ "node": ">=6" } }, - "node_modules/tar": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz", - "integrity": "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==", - "dev": true, - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/tar/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/terser": { "version": "5.4.0", "resolved": "https://registry.npmjs.org/terser/-/terser-5.4.0.tgz", @@ -11378,12 +10481,13 @@ "dev": true }, "node_modules/through2": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", - "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, "dependencies": { - "readable-stream": "2 || 3" + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" } }, "node_modules/through2-filter": { @@ -11396,16 +10500,6 @@ "xtend": "~4.0.0" } }, - "node_modules/through2-filter/node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, "node_modules/time-stamp": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", @@ -11528,16 +10622,6 @@ "node": ">= 0.10" } }, - "node_modules/to-through/node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, "node_modules/toidentifier": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", @@ -11547,36 +10631,11 @@ "node": ">=0.6" } }, - "node_modules/tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/trim-newlines": { + "node_modules/transfob": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/true-case-path": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", - "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", - "dev": true, - "dependencies": { - "glob": "^7.1.2" - } + "resolved": "https://registry.npmjs.org/transfob/-/transfob-1.0.0.tgz", + "integrity": "sha1-x/wnpbVDCtSGJnrmZtkj90oKsyA=", + "dev": true }, "node_modules/tslib": { "version": "1.14.1", @@ -11584,24 +10643,6 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true - }, "node_modules/type": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", @@ -11621,12 +10662,15 @@ } }, "node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/typedarray": { @@ -11636,10 +10680,20 @@ "dev": true }, "node_modules/ua-parser-js": { - "version": "0.7.24", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.24.tgz", - "integrity": "sha512-yo+miGzQx5gakzVK3QFfN0/L9uVhosXBBO7qmnk7c2iw1IhL212wfA3zbnI54B0obGwC/5NWub/iT9sReMx+Fw==", + "version": "0.7.28", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.28.tgz", + "integrity": "sha512-6Gurc1n//gjp9eQNXjD9O3M/sMwVtN5S8Lv9bvOYBfKfDNiIIhqiyi01vMBO45u4zkDE420w/e0se7Vs+sIg+g==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + } + ], "engines": { "node": "*" } @@ -11907,18 +10961,18 @@ } }, "node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "dev": true, "bin": { - "uuid": "bin/uuid" + "uuid": "dist/bin/uuid" } }, "node_modules/v8-compile-cache": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", - "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", "dev": true }, "node_modules/v8flags": { @@ -11952,20 +11006,6 @@ "node": ">= 0.10" } }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, "node_modules/vinyl": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", @@ -12011,16 +11051,6 @@ "node": ">= 0.10" } }, - "node_modules/vinyl-fs/node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, "node_modules/vinyl-sourcemap": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz", @@ -12060,15 +11090,6 @@ "source-map": "^0.5.1" } }, - "node_modules/vinyl-sourcemaps-apply/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", @@ -12087,58 +11108,6 @@ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, - "node_modules/wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "dev": true, - "dependencies": { - "string-width": "^1.0.2 || 2" - } - }, - "node_modules/wide-align/node_modules/ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/wide-align/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/wide-align/node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/wide-align/node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "dependencies": { - "ansi-regex": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", @@ -12235,9 +11204,9 @@ } }, "node_modules/ws": { - "version": "7.4.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.3.tgz", - "integrity": "sha512-hr6vCR76GsossIRsr8OLR9acVVm1jyfEWvhbNjtgPOrfvAlKzvyeg/P6r8RuDjRyrcQoPQT7K0DGEPc7Ae6jzA==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", + "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", "dev": true, "engines": { "node": ">=8.3.0" @@ -12256,9 +11225,9 @@ } }, "node_modules/xmlhttprequest-ssl": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", - "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=", + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.6.3.tgz", + "integrity": "sha512-3XfeQE/wNkvrIktn2Kf0869fC0BN6UpydVasGIeSm2B1Llihf7/0UfZM+eCkOw3P7bP4+qPgqhm7ZoxuJtFU0Q==", "dev": true, "engines": { "node": ">=0.4.0" @@ -12274,9 +11243,9 @@ } }, "node_modules/y18n": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", - "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", "dev": true }, "node_modules/yallist": { @@ -12393,148 +11362,114 @@ }, "dependencies": { "@babel/code-frame": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", - "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", + "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", "dev": true, "requires": { - "@babel/highlight": "^7.12.13" + "@babel/highlight": "^7.14.5" } }, "@babel/compat-data": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.13.8.tgz", - "integrity": "sha512-EaI33z19T4qN3xLXsGf48M2cDqa6ei9tPZlfLdb2HC+e/cFtREiRd8hdSqDbwdLB0/+gLwqJmCYASH0z2bUdog==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz", + "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==", "dev": true }, "@babel/core": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.13.8.tgz", - "integrity": "sha512-oYapIySGw1zGhEFRd6lzWNLWFX2s5dA/jm+Pw/+59ZdXtjyIuwlXbrId22Md0rgZVop+aVoqow2riXhBLNyuQg==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.0.tgz", + "integrity": "sha512-tXtmTminrze5HEUPn/a0JtOzzfp0nk+UEXQ/tqIJo3WDGypl/2OFQEMll/zSFU8f/lfmfLXvTaORHF3cfXIQMw==", "dev": true, "peer": true, "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.13.0", - "@babel/helper-compilation-targets": "^7.13.8", - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helpers": "^7.13.0", - "@babel/parser": "^7.13.4", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0", + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.15.0", + "@babel/helper-compilation-targets": "^7.15.0", + "@babel/helper-module-transforms": "^7.15.0", + "@babel/helpers": "^7.14.8", + "@babel/parser": "^7.15.0", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.15.0", + "@babel/types": "^7.15.0", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.1.2", - "lodash": "^4.17.19", "semver": "^6.3.0", "source-map": "^0.5.0" - }, - "dependencies": { - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "peer": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true, - "peer": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "peer": true - } } }, "@babel/generator": { - "version": "7.13.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.13.9.tgz", - "integrity": "sha512-mHOOmY0Axl/JCTkxTU6Lf5sWOg/v8nUa+Xkt4zMTftX0wqmb6Sh7J8gvcehBw7q0AhrhAR+FDacKjCZ2X8K+Sw==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.0.tgz", + "integrity": "sha512-eKl4XdMrbpYvuB505KTta4AV9g+wWzmVBW69tX0H2NwKVKd2YJbKgyK6M8j/rgLbmHOYJn6rUklV677nOyJrEQ==", "dev": true, "requires": { - "@babel/types": "^7.13.0", + "@babel/types": "^7.15.0", "jsesc": "^2.5.1", "source-map": "^0.5.0" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } } }, "@babel/helper-annotate-as-pure": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz", - "integrity": "sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.14.5.tgz", + "integrity": "sha512-EivH9EgBIb+G8ij1B2jAwSH36WnGvkQSEC6CkX/6v6ZFlw5fVOHvsgGF4uiEHO2GzMvunZb6tDLQEQSdrdocrA==", "dev": true, "requires": { - "@babel/types": "^7.12.13" + "@babel/types": "^7.14.5" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz", - "integrity": "sha512-CZOv9tGphhDRlVjVkAgm8Nhklm9RzSmWpX2my+t7Ua/KT616pEzXsQCjinzvkRvHWJ9itO4f296efroX23XCMA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.14.5.tgz", + "integrity": "sha512-YTA/Twn0vBXDVGJuAX6PwW7x5zQei1luDDo2Pl6q1qZ7hVNl0RZrhHCQG/ArGpR29Vl7ETiB8eJyrvpuRp300w==", "dev": true, "requires": { - "@babel/helper-explode-assignable-expression": "^7.12.13", - "@babel/types": "^7.12.13" + "@babel/helper-explode-assignable-expression": "^7.14.5", + "@babel/types": "^7.14.5" } }, "@babel/helper-compilation-targets": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.8.tgz", - "integrity": "sha512-pBljUGC1y3xKLn1nrx2eAhurLMA8OqBtBP/JwG4U8skN7kf8/aqwwxpV1N6T0e7r6+7uNitIa/fUxPFagSXp3A==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.0.tgz", + "integrity": "sha512-h+/9t0ncd4jfZ8wsdAsoIxSa61qhBYlycXiHWqJaQBCXAhDCMbPRSMTGnZIkkmt1u4ag+UQmuqcILwqKzZ4N2A==", "dev": true, "requires": { - "@babel/compat-data": "^7.13.8", - "@babel/helper-validator-option": "^7.12.17", - "browserslist": "^4.14.5", + "@babel/compat-data": "^7.15.0", + "@babel/helper-validator-option": "^7.14.5", + "browserslist": "^4.16.6", "semver": "^6.3.0" } }, "@babel/helper-create-class-features-plugin": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.13.8.tgz", - "integrity": "sha512-qioaRrKHQbn4hkRKDHbnuQ6kAxmmOF+kzKGnIfxPK4j2rckSJCpKzr/SSTlohSCiE3uAQpNDJ9FIh4baeE8W+w==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.0.tgz", + "integrity": "sha512-MdmDXgvTIi4heDVX/e9EFfeGpugqm9fobBVg/iioE8kueXrOHdRDe36FAY7SnE9xXLVeYCoJR/gdrBEIHRC83Q==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-member-expression-to-functions": "^7.13.0", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/helper-replace-supers": "^7.13.0", - "@babel/helper-split-export-declaration": "^7.12.13" + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-member-expression-to-functions": "^7.15.0", + "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/helper-replace-supers": "^7.15.0", + "@babel/helper-split-export-declaration": "^7.14.5" } }, "@babel/helper-create-regexp-features-plugin": { - "version": "7.12.17", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.17.tgz", - "integrity": "sha512-p2VGmBu9oefLZ2nQpgnEnG0ZlRPvL8gAGvPUMQwUdaE8k49rOMuZpOwdQoy5qJf6K8jL3bcAMhVUlHAjIgJHUg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz", + "integrity": "sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.12.13", + "@babel/helper-annotate-as-pure": "^7.14.5", "regexpu-core": "^4.7.1" } }, "@babel/helper-define-polyfill-provider": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.1.5.tgz", - "integrity": "sha512-nXuzCSwlJ/WKr8qxzW816gwyT6VZgiJG17zR40fou70yfAcqjoNyTLl/DQ+FExw5Hx5KNqshmN8Ldl/r2N7cTg==", + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz", + "integrity": "sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew==", "dev": true, "requires": { "@babel/helper-compilation-targets": "^7.13.0", @@ -12545,350 +11480,365 @@ "lodash.debounce": "^4.0.8", "resolve": "^1.14.2", "semver": "^6.1.2" - }, - "dependencies": { - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } } }, "@babel/helper-explode-assignable-expression": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.13.0.tgz", - "integrity": "sha512-qS0peLTDP8kOisG1blKbaoBg/o9OSa1qoumMjTK5pM+KDTtpxpsiubnCGP34vK8BXGcb2M9eigwgvoJryrzwWA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.14.5.tgz", + "integrity": "sha512-Htb24gnGJdIGT4vnRKMdoXiOIlqOLmdiUYpAQ0mYfgVT/GDm8GOYhgi4GL+hMKrkiPRohO4ts34ELFsGAPQLDQ==", "dev": true, "requires": { - "@babel/types": "^7.13.0" + "@babel/types": "^7.14.5" } }, "@babel/helper-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", - "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz", + "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/types": "^7.12.13" + "@babel/helper-get-function-arity": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/types": "^7.14.5" } }, "@babel/helper-get-function-arity": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", - "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz", + "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==", "dev": true, "requires": { - "@babel/types": "^7.12.13" + "@babel/types": "^7.14.5" } }, "@babel/helper-hoist-variables": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.13.0.tgz", - "integrity": "sha512-0kBzvXiIKfsCA0y6cFEIJf4OdzfpRuNk4+YTeHZpGGc666SATFKTz6sRncwFnQk7/ugJ4dSrCj6iJuvW4Qwr2g==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz", + "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==", "dev": true, "requires": { - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0" + "@babel/types": "^7.14.5" } }, "@babel/helper-member-expression-to-functions": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.0.tgz", - "integrity": "sha512-yvRf8Ivk62JwisqV1rFRMxiSMDGnN6KH1/mDMmIrij4jztpQNRoHqqMG3U6apYbGRPJpgPalhva9Yd06HlUxJQ==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.0.tgz", + "integrity": "sha512-Jq8H8U2kYiafuj2xMTPQwkTBnEEdGKpT35lJEQsRRjnG0LW3neucsaMWLgKcwu3OHKNeYugfw+Z20BXBSEs2Lg==", "dev": true, "requires": { - "@babel/types": "^7.13.0" + "@babel/types": "^7.15.0" } }, "@babel/helper-module-imports": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.13.tgz", - "integrity": "sha512-NGmfvRp9Rqxy0uHSSVP+SRIW1q31a7Ji10cLBcqSDUngGentY4FRiHOFZFE1CLU5eiL0oE8reH7Tg1y99TDM/g==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz", + "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==", "dev": true, "requires": { - "@babel/types": "^7.12.13" + "@babel/types": "^7.14.5" } }, "@babel/helper-module-transforms": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.13.0.tgz", - "integrity": "sha512-Ls8/VBwH577+pw7Ku1QkUWIyRRNHpYlts7+qSqBBFCW3I8QteB9DxfcZ5YJpOwH6Ihe/wn8ch7fMGOP1OhEIvw==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.0.tgz", + "integrity": "sha512-RkGiW5Rer7fpXv9m1B3iHIFDZdItnO2/BLfWVW/9q7+KqQSDY5kUfQEbzdXM1MVhJGcugKV7kRrNVzNxmk7NBg==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-replace-supers": "^7.13.0", - "@babel/helper-simple-access": "^7.12.13", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/helper-validator-identifier": "^7.12.11", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0", - "lodash": "^4.17.19" + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-replace-supers": "^7.15.0", + "@babel/helper-simple-access": "^7.14.8", + "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/helper-validator-identifier": "^7.14.9", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.15.0", + "@babel/types": "^7.15.0" } }, "@babel/helper-optimise-call-expression": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz", - "integrity": "sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz", + "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==", "dev": true, "requires": { - "@babel/types": "^7.12.13" + "@babel/types": "^7.14.5" } }, "@babel/helper-plugin-utils": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz", - "integrity": "sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", "dev": true }, "@babel/helper-remap-async-to-generator": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.13.0.tgz", - "integrity": "sha512-pUQpFBE9JvC9lrQbpX0TmeNIy5s7GnZjna2lhhcHC7DzgBs6fWn722Y5cfwgrtrqc7NAJwMvOa0mKhq6XaE4jg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.14.5.tgz", + "integrity": "sha512-rLQKdQU+HYlxBwQIj8dk4/0ENOUEhA/Z0l4hN8BexpvmSMN9oA9EagjnhnDpNsRdWCfjwa4mn/HyBXO9yhQP6A==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "@babel/helper-wrap-function": "^7.13.0", - "@babel/types": "^7.13.0" + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-wrap-function": "^7.14.5", + "@babel/types": "^7.14.5" } }, "@babel/helper-replace-supers": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.13.0.tgz", - "integrity": "sha512-Segd5me1+Pz+rmN/NFBOplMbZG3SqRJOBlY+mA0SxAv6rjj7zJqr1AVr3SfzUVTLCv7ZLU5FycOM/SBGuLPbZw==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.0.tgz", + "integrity": "sha512-6O+eWrhx+HEra/uJnifCwhwMd6Bp5+ZfZeJwbqUTuqkhIT6YcRhiZCOOFChRypOIe0cV46kFrRBlm+t5vHCEaA==", "dev": true, "requires": { - "@babel/helper-member-expression-to-functions": "^7.13.0", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0" + "@babel/helper-member-expression-to-functions": "^7.15.0", + "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/traverse": "^7.15.0", + "@babel/types": "^7.15.0" } }, "@babel/helper-simple-access": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.13.tgz", - "integrity": "sha512-0ski5dyYIHEfwpWGx5GPWhH35j342JaflmCeQmsPWcrOQDtCN6C1zKAVRFVbK53lPW2c9TsuLLSUDf0tIGJ5hA==", + "version": "7.14.8", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.8.tgz", + "integrity": "sha512-TrFN4RHh9gnWEU+s7JloIho2T76GPwRHhdzOWLqTrMnlas8T9O7ec+oEDNsRXndOmru9ymH9DFrEOxpzPoSbdg==", "dev": true, "requires": { - "@babel/types": "^7.12.13" + "@babel/types": "^7.14.8" } }, "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz", - "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.14.5.tgz", + "integrity": "sha512-dmqZB7mrb94PZSAOYtr+ZN5qt5owZIAgqtoTuqiFbHFtxgEcmQlRJVI+bO++fciBunXtB6MK7HrzrfcAzIz2NQ==", "dev": true, "requires": { - "@babel/types": "^7.12.1" + "@babel/types": "^7.14.5" } }, "@babel/helper-split-export-declaration": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", - "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz", + "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==", "dev": true, "requires": { - "@babel/types": "^7.12.13" + "@babel/types": "^7.14.5" } }, "@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "version": "7.14.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz", + "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==", "dev": true }, "@babel/helper-validator-option": { - "version": "7.12.17", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz", - "integrity": "sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", + "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", "dev": true }, "@babel/helper-wrap-function": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.13.0.tgz", - "integrity": "sha512-1UX9F7K3BS42fI6qd2A4BjKzgGjToscyZTdp1DjknHLCIvpgne6918io+aL5LXFcER/8QWiwpoY902pVEqgTXA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.14.5.tgz", + "integrity": "sha512-YEdjTCq+LNuNS1WfxsDCNpgXkJaIyqco6DAelTUjT4f2KIWC1nBcaCaSdHTBqQVLnTBexBcVcFhLSU1KnYuePQ==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.12.13", - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0" + "@babel/helper-function-name": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" } }, "@babel/helpers": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.13.0.tgz", - "integrity": "sha512-aan1MeFPxFacZeSz6Ld7YZo5aPuqnKlD7+HZY75xQsueczFccP9A7V05+oe0XpLwHK3oLorPe9eaAUljL7WEaQ==", + "version": "7.15.3", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.3.tgz", + "integrity": "sha512-HwJiz52XaS96lX+28Tnbu31VeFSQJGOeKHJeaEPQlTl7PnlhFElWPj8tUXtqFIzeN86XxXoBr+WFAyK2PPVz6g==", "dev": true, "peer": true, "requires": { - "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0" + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.15.0", + "@babel/types": "^7.15.0" } }, "@babel/highlight": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.8.tgz", - "integrity": "sha512-4vrIhfJyfNf+lCtXC2ck1rKSzDwciqF7IWFhXXrSOUC2O5DrVp+w4c6ed4AllTxhTkUP5x2tYj41VaxdVMMRDw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", + "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.12.11", + "@babel/helper-validator-identifier": "^7.14.5", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, "@babel/parser": { - "version": "7.13.9", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.9.tgz", - "integrity": "sha512-nEUfRiARCcaVo3ny3ZQjURjHQZUo/JkEw7rLlSZy/psWGnvwXFtPcr6jb7Yb41DVW5LTe6KRq9LGleRNsg1Frw==", + "version": "7.15.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.3.tgz", + "integrity": "sha512-O0L6v/HvqbdJawj0iBEfVQMc3/6WP+AeOsovsIgBFyJaG+W2w7eqvZB7puddATmWuARlm1SX7DwxJ/JJUnDpEA==", "dev": true }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.14.5.tgz", + "integrity": "sha512-ZoJS2XCKPBfTmL122iP6NM9dOg+d4lc9fFk3zxc8iDjvt8Pk4+TlsHSKhIPf6X+L5ORCdBzqMZDjL/WHj7WknQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", + "@babel/plugin-proposal-optional-chaining": "^7.14.5" + } + }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.13.8.tgz", - "integrity": "sha512-rPBnhj+WgoSmgq+4gQUtXx/vOcU+UYtjy1AA/aeD61Hwj410fwYyqfUcRP3lR8ucgliVJL/G7sXcNUecC75IXA==", + "version": "7.14.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.9.tgz", + "integrity": "sha512-d1lnh+ZnKrFKwtTYdw320+sQWCTwgkB9fmUhNXRADA4akR6wLjaruSGnIEUjpt9HCOwTr4ynFTKu19b7rFRpmw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-remap-async-to-generator": "^7.13.0", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.14.5", "@babel/plugin-syntax-async-generators": "^7.8.4" } }, "@babel/plugin-proposal-class-properties": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.13.0.tgz", - "integrity": "sha512-KnTDjFNC1g+45ka0myZNvSBFLhNCLN+GeGYLDEA8Oq7MZ6yMgfLoIRh86GRT0FjtJhZw8JyUskP9uvj5pHM9Zg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.14.5.tgz", + "integrity": "sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-proposal-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.14.5.tgz", + "integrity": "sha512-KBAH5ksEnYHCegqseI5N9skTdxgJdmDoAOc0uXa+4QMYKeZD0w5IARh4FMlTNtaHhbB8v+KzMdTgxMMzsIy6Yg==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" } }, "@babel/plugin-proposal-dynamic-import": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.13.8.tgz", - "integrity": "sha512-ONWKj0H6+wIRCkZi9zSbZtE/r73uOhMVHh256ys0UzfM7I3d4n+spZNWjOnJv2gzopumP2Wxi186vI8N0Y2JyQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.5.tgz", + "integrity": "sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3" } }, "@babel/plugin-proposal-export-namespace-from": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.13.tgz", - "integrity": "sha512-INAgtFo4OnLN3Y/j0VwAgw3HDXcDtX+C/erMvWzuV9v71r7urb6iyMXu7eM9IgLr1ElLlOkaHjJ0SbCmdOQ3Iw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.5.tgz", + "integrity": "sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" } }, "@babel/plugin-proposal-json-strings": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.13.8.tgz", - "integrity": "sha512-w4zOPKUFPX1mgvTmL/fcEqy34hrQ1CRcGxdphBc6snDnnqJ47EZDIyop6IwXzAC8G916hsIuXB2ZMBCExC5k7Q==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.5.tgz", + "integrity": "sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-json-strings": "^7.8.3" } }, "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.13.8.tgz", - "integrity": "sha512-aul6znYB4N4HGweImqKn59Su9RS8lbUIqxtXTOcAGtNIDczoEFv+l1EhmX8rUBp3G1jMjKJm8m0jXVp63ZpS4A==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.5.tgz", + "integrity": "sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" } }, "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.13.8.tgz", - "integrity": "sha512-iePlDPBn//UhxExyS9KyeYU7RM9WScAG+D3Hhno0PLJebAEpDZMocbDe64eqynhNAnwz/vZoL/q/QB2T1OH39A==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz", + "integrity": "sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" } }, "@babel/plugin-proposal-numeric-separator": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.13.tgz", - "integrity": "sha512-O1jFia9R8BUCl3ZGB7eitaAPu62TXJRHn7rh+ojNERCFyqRwJMTmhz+tJ+k0CwI6CLjX/ee4qW74FSqlq9I35w==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.5.tgz", + "integrity": "sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-numeric-separator": "^7.10.4" } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.13.8.tgz", - "integrity": "sha512-DhB2EuB1Ih7S3/IRX5AFVgZ16k3EzfRbq97CxAVI1KSYcW+lexV8VZb7G7L8zuPVSdQMRn0kiBpf/Yzu9ZKH0g==", + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.7.tgz", + "integrity": "sha512-082hsZz+sVabfmDWo1Oct1u1AgbKbUAyVgmX4otIc7bdsRgHBXwTwb3DpDmD4Eyyx6DNiuz5UAATT655k+kL5g==", "dev": true, "requires": { - "@babel/compat-data": "^7.13.8", - "@babel/helper-compilation-targets": "^7.13.8", - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/compat-data": "^7.14.7", + "@babel/helper-compilation-targets": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.13.0" + "@babel/plugin-transform-parameters": "^7.14.5" } }, "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.13.8.tgz", - "integrity": "sha512-0wS/4DUF1CuTmGo+NiaHfHcVSeSLj5S3e6RivPTg/2k3wOv3jO35tZ6/ZWsQhQMvdgI7CwphjQa/ccarLymHVA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz", + "integrity": "sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" } }, "@babel/plugin-proposal-optional-chaining": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.13.8.tgz", - "integrity": "sha512-hpbBwbTgd7Cz1QryvwJZRo1U0k1q8uyBmeXOSQUjdg/A2TASkhR/rz7AyqZ/kS8kbpsNA80rOYbxySBJAqmhhQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz", + "integrity": "sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", "@babel/plugin-syntax-optional-chaining": "^7.8.3" } }, "@babel/plugin-proposal-private-methods": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.13.0.tgz", - "integrity": "sha512-MXyyKQd9inhx1kDYPkFRVOBXQ20ES8Pto3T7UZ92xj2mY0EVD8oAVzeyYuVfy/mxAdTSIayOvg+aVzcHV2bn6Q==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.14.5.tgz", + "integrity": "sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-62EyfyA3WA0mZiF2e2IV9mc9Ghwxcg8YTu8BS4Wss4Y3PY725OmS9M0qLORbJwLqFtGh+jiE4wAmocK2CTUK2Q==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" } }, "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.13.tgz", - "integrity": "sha512-XyJmZidNfofEkqFV5VC/bLabGmO5QzenPO/YOfGuEbgU+2sSwMmio3YLb4WtBgcmmdwZHyVyv8on77IUjQ5Gvg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz", + "integrity": "sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-syntax-async-generators": { @@ -12909,6 +11859,15 @@ "@babel/helper-plugin-utils": "^7.12.13" } }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, "@babel/plugin-syntax-dynamic-import": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", @@ -12990,369 +11949,374 @@ "@babel/helper-plugin-utils": "^7.8.0" } }, + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, "@babel/plugin-syntax-top-level-await": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz", - "integrity": "sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-arrow-functions": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.13.0.tgz", - "integrity": "sha512-96lgJagobeVmazXFaDrbmCLQxBysKu7U6Do3mLsx27gf5Dk85ezysrs2BZUpXD703U/Su1xTBDxxar2oa4jAGg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz", + "integrity": "sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.13.0.tgz", - "integrity": "sha512-3j6E004Dx0K3eGmhxVJxwwI89CTJrce7lg3UrtFuDAVQ/2+SJ/h/aSFOeE6/n0WB1GsOffsJp6MnPQNQ8nmwhg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz", + "integrity": "sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-remap-async-to-generator": "^7.13.0" + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.14.5" } }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.13.tgz", - "integrity": "sha512-zNyFqbc3kI/fVpqwfqkg6RvBgFpC4J18aKKMmv7KdQ/1GgREapSJAykLMVNwfRGO3BtHj3YQZl8kxCXPcVMVeg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.14.5.tgz", + "integrity": "sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-block-scoping": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.13.tgz", - "integrity": "sha512-Pxwe0iqWJX4fOOM2kEZeUuAxHMWb9nK+9oh5d11bsLoB0xMg+mkDpt0eYuDZB7ETrY9bbcVlKUGTOGWy7BHsMQ==", + "version": "7.15.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.15.3.tgz", + "integrity": "sha512-nBAzfZwZb4DkaGtOes1Up1nOAp9TDRRFw4XBzBBSG9QK7KVFmYzgj9o9sbPv7TX5ofL4Auq4wZnxCoPnI/lz2Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-classes": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.13.0.tgz", - "integrity": "sha512-9BtHCPUARyVH1oXGcSJD3YpsqRLROJx5ZNP6tN5vnk17N0SVf9WCtf8Nuh1CFmgByKKAIMstitKduoCmsaDK5g==", + "version": "7.14.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.9.tgz", + "integrity": "sha512-NfZpTcxU3foGWbl4wxmZ35mTsYJy8oQocbeIMoDAGGFarAmSQlL+LWMkDx/tj6pNotpbX3rltIA4dprgAPOq5A==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.12.13", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-replace-supers": "^7.13.0", - "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", "globals": "^11.1.0" - }, - "dependencies": { - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - } } }, "@babel/plugin-transform-computed-properties": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.13.0.tgz", - "integrity": "sha512-RRqTYTeZkZAz8WbieLTvKUEUxZlUTdmL5KGMyZj7FnMfLNKV4+r5549aORG/mgojRmFlQMJDUupwAMiF2Q7OUg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.14.5.tgz", + "integrity": "sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-destructuring": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.13.0.tgz", - "integrity": "sha512-zym5em7tePoNT9s964c0/KU3JPPnuq7VhIxPRefJ4/s82cD+q1mgKfuGRDMCPL0HTyKz4dISuQlCusfgCJ86HA==", + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.7.tgz", + "integrity": "sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-dotall-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.13.tgz", - "integrity": "sha512-foDrozE65ZFdUC2OfgeOCrEPTxdB3yjqxpXh8CH+ipd9CHd4s/iq81kcUpyH8ACGNEPdFqbtzfgzbT/ZGlbDeQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz", + "integrity": "sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.13.tgz", - "integrity": "sha512-NfADJiiHdhLBW3pulJlJI2NB0t4cci4WTZ8FtdIuNc2+8pslXdPtRRAEWqUY+m9kNOk2eRYbTAOipAxlrOcwwQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.14.5.tgz", + "integrity": "sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.13.tgz", - "integrity": "sha512-fbUelkM1apvqez/yYx1/oICVnGo2KM5s63mhGylrmXUxK/IAXSIf87QIxVfZldWf4QsOafY6vV3bX8aMHSvNrA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.14.5.tgz", + "integrity": "sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA==", "dev": true, "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-for-of": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.13.0.tgz", - "integrity": "sha512-IHKT00mwUVYE0zzbkDgNRP6SRzvfGCYsOxIRz8KsiaaHCcT9BWIkO+H9QRJseHBLOGBZkHUdHiqj6r0POsdytg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.14.5.tgz", + "integrity": "sha512-CfmqxSUZzBl0rSjpoQSFoR9UEj3HzbGuGNL21/iFTmjb5gFggJp3ph0xR1YBhexmLoKRHzgxuFvty2xdSt6gTA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-function-name": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.13.tgz", - "integrity": "sha512-6K7gZycG0cmIwwF7uMK/ZqeCikCGVBdyP2J5SKNCXO5EOHcqi+z7Jwf8AmyDNcBgxET8DrEtCt/mPKPyAzXyqQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.14.5.tgz", + "integrity": "sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-literals": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.13.tgz", - "integrity": "sha512-FW+WPjSR7hiUxMcKqyNjP05tQ2kmBCdpEpZHY1ARm96tGQCCBvXKnpjILtDplUnJ/eHZ0lALLM+d2lMFSpYJrQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.14.5.tgz", + "integrity": "sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-member-expression-literals": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.13.tgz", - "integrity": "sha512-kxLkOsg8yir4YeEPHLuO2tXP9R/gTjpuTOjshqSpELUN3ZAg2jfDnKUvzzJxObun38sw3wm4Uu69sX/zA7iRvg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.14.5.tgz", + "integrity": "sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-modules-amd": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.13.0.tgz", - "integrity": "sha512-EKy/E2NHhY/6Vw5d1k3rgoobftcNUmp9fGjb9XZwQLtTctsRBOTRO7RHHxfIky1ogMN5BxN7p9uMA3SzPfotMQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.5.tgz", + "integrity": "sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.13.8.tgz", - "integrity": "sha512-9QiOx4MEGglfYZ4XOnU79OHr6vIWUakIj9b4mioN8eQIoEh+pf5p/zEB36JpDFWA12nNMiRf7bfoRvl9Rn79Bw==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.0.tgz", + "integrity": "sha512-3H/R9s8cXcOGE8kgMlmjYYC9nqr5ELiPkJn4q0mypBrjhYQoc+5/Maq69vV4xRPWnkzZuwJPf5rArxpB/35Cig==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-simple-access": "^7.12.13", + "@babel/helper-module-transforms": "^7.15.0", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-simple-access": "^7.14.8", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.13.8.tgz", - "integrity": "sha512-hwqctPYjhM6cWvVIlOIe27jCIBgHCsdH2xCJVAYQm7V5yTMoilbVMi9f6wKg0rpQAOn6ZG4AOyvCqFF/hUh6+A==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.14.5.tgz", + "integrity": "sha512-mNMQdvBEE5DcMQaL5LbzXFMANrQjd2W7FPzg34Y4yEz7dBgdaC+9B84dSO+/1Wba98zoDbInctCDo4JGxz1VYA==", "dev": true, "requires": { - "@babel/helper-hoist-variables": "^7.13.0", - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-validator-identifier": "^7.12.11", + "@babel/helper-hoist-variables": "^7.14.5", + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-identifier": "^7.14.5", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-umd": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.13.0.tgz", - "integrity": "sha512-D/ILzAh6uyvkWjKKyFE/W0FzWwasv6vPTSqPcjxFqn6QpX3u8DjRVliq4F2BamO2Wee/om06Vyy+vPkNrd4wxw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.5.tgz", + "integrity": "sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.13.tgz", - "integrity": "sha512-Xsm8P2hr5hAxyYblrfACXpQKdQbx4m2df9/ZZSQ8MAhsadw06+jW7s9zsSw6he+mJZXRlVMyEnVktJo4zjk1WA==", + "version": "7.14.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.9.tgz", + "integrity": "sha512-l666wCVYO75mlAtGFfyFwnWmIXQm3kSH0C3IRnJqWcZbWkoihyAdDhFm2ZWaxWTqvBvhVFfJjMRQ0ez4oN1yYA==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13" + "@babel/helper-create-regexp-features-plugin": "^7.14.5" } }, "@babel/plugin-transform-new-target": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.13.tgz", - "integrity": "sha512-/KY2hbLxrG5GTQ9zzZSc3xWiOy379pIETEhbtzwZcw9rvuaVV4Fqy7BYGYOWZnaoXIQYbbJ0ziXLa/sKcGCYEQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.14.5.tgz", + "integrity": "sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-object-assign": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.12.13.tgz", - "integrity": "sha512-4QxDMc0lAOkIBSfCrnSGbAJ+4epDBF2XXwcLXuBcG1xl9u7LrktNVD4+LwhL47XuKVPQ7R25e/WdcV+h97HyZA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.14.5.tgz", + "integrity": "sha512-lvhjk4UN9xJJYB1mI5KC0/o1D5EcJXdbhVe+4fSk08D6ZN+iuAIs7LJC+71h8av9Ew4+uRq9452v9R93SFmQlQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-object-super": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.13.tgz", - "integrity": "sha512-JzYIcj3XtYspZDV8j9ulnoMPZZnF/Cj0LUxPOjR89BdBVx+zYJI9MdMIlUZjbXDX+6YVeS6I3e8op+qQ3BYBoQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.14.5.tgz", + "integrity": "sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13", - "@babel/helper-replace-supers": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5" } }, "@babel/plugin-transform-parameters": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.13.0.tgz", - "integrity": "sha512-Jt8k/h/mIwE2JFEOb3lURoY5C85ETcYPnbuAJ96zRBzh1XHtQZfs62ChZ6EP22QlC8c7Xqr9q+e1SU5qttwwjw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.14.5.tgz", + "integrity": "sha512-Tl7LWdr6HUxTmzQtzuU14SqbgrSKmaR77M0OKyq4njZLQTPfOvzblNKyNkGwOfEFCEx7KeYHQHDI0P3F02IVkA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-property-literals": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.13.tgz", - "integrity": "sha512-nqVigwVan+lR+g8Fj8Exl0UQX2kymtjcWfMOYM1vTYEKujeyv2SkMgazf2qNcK7l4SDiKyTA/nHCPqL4e2zo1A==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.14.5.tgz", + "integrity": "sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-regenerator": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.13.tgz", - "integrity": "sha512-lxb2ZAvSLyJ2PEe47hoGWPmW22v7CtSl9jW8mingV4H2sEX/JOcrAj2nPuGWi56ERUm2bUpjKzONAuT6HCn2EA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.14.5.tgz", + "integrity": "sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg==", "dev": true, "requires": { "regenerator-transform": "^0.14.2" } }, "@babel/plugin-transform-reserved-words": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.13.tgz", - "integrity": "sha512-xhUPzDXxZN1QfiOy/I5tyye+TRz6lA7z6xaT4CLOjPRMVg1ldRf0LHw0TDBpYL4vG78556WuHdyO9oi5UmzZBg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.14.5.tgz", + "integrity": "sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.13.tgz", - "integrity": "sha512-xpL49pqPnLtf0tVluuqvzWIgLEhuPpZzvs2yabUHSKRNlN7ScYU7aMlmavOeyXJZKgZKQRBlh8rHbKiJDraTSw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.14.5.tgz", + "integrity": "sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-spread": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.13.0.tgz", - "integrity": "sha512-V6vkiXijjzYeFmQTr3dBxPtZYLPcUfY34DebOU27jIl2M/Y8Egm52Hw82CSjjPqd54GTlJs5x+CR7HeNr24ckg==", + "version": "7.14.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.14.6.tgz", + "integrity": "sha512-Zr0x0YroFJku7n7+/HH3A2eIrGMjbmAIbJSVv0IZ+t3U2WUQUA64S/oeied2e+MaGSjmt4alzBCsK9E8gh+fag==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5" } }, "@babel/plugin-transform-sticky-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.13.tgz", - "integrity": "sha512-Jc3JSaaWT8+fr7GRvQP02fKDsYk4K/lYwWq38r/UGfaxo89ajud321NH28KRQ7xy1Ybc0VUE5Pz8psjNNDUglg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.14.5.tgz", + "integrity": "sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-template-literals": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.13.0.tgz", - "integrity": "sha512-d67umW6nlfmr1iehCcBv69eSUSySk1EsIS8aTDX4Xo9qajAh6mYtcl4kJrBkGXuxZPEgVr7RVfAvNW6YQkd4Mw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz", + "integrity": "sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.13.0" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.13.tgz", - "integrity": "sha512-eKv/LmUJpMnu4npgfvs3LiHhJua5fo/CysENxa45YCQXZwKnGCQKAg87bvoqSW1fFT+HA32l03Qxsm8ouTY3ZQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.14.5.tgz", + "integrity": "sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-unicode-escapes": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.13.tgz", - "integrity": "sha512-0bHEkdwJ/sN/ikBHfSmOXPypN/beiGqjo+o4/5K+vxEFNPRPdImhviPakMKG4x96l85emoa0Z6cDflsdBusZbw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.14.5.tgz", + "integrity": "sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-unicode-regex": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.13.tgz", - "integrity": "sha512-mDRzSNY7/zopwisPZ5kM9XKCfhchqIYwAKRERtEnhYscZB79VRekuRSoYbN0+KVe3y8+q1h6A4svXtP7N+UoCA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.14.5.tgz", + "integrity": "sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.13", - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/preset-env": { - "version": "7.13.9", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.13.9.tgz", - "integrity": "sha512-mcsHUlh2rIhViqMG823JpscLMesRt3QbMsv1+jhopXEb3W2wXvQ9QoiOlZI9ZbR3XqPtaFpZwEZKYqGJnGMZTQ==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.13.8", - "@babel/helper-compilation-targets": "^7.13.8", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-validator-option": "^7.12.17", - "@babel/plugin-proposal-async-generator-functions": "^7.13.8", - "@babel/plugin-proposal-class-properties": "^7.13.0", - "@babel/plugin-proposal-dynamic-import": "^7.13.8", - "@babel/plugin-proposal-export-namespace-from": "^7.12.13", - "@babel/plugin-proposal-json-strings": "^7.13.8", - "@babel/plugin-proposal-logical-assignment-operators": "^7.13.8", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", - "@babel/plugin-proposal-numeric-separator": "^7.12.13", - "@babel/plugin-proposal-object-rest-spread": "^7.13.8", - "@babel/plugin-proposal-optional-catch-binding": "^7.13.8", - "@babel/plugin-proposal-optional-chaining": "^7.13.8", - "@babel/plugin-proposal-private-methods": "^7.13.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.12.13", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.15.0.tgz", + "integrity": "sha512-FhEpCNFCcWW3iZLg0L2NPE9UerdtsCR6ZcsGHUX6Om6kbCQeL5QZDqFDmeNHC6/fy6UH3jEge7K4qG5uC9In0Q==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.15.0", + "@babel/helper-compilation-targets": "^7.15.0", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-option": "^7.14.5", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.14.5", + "@babel/plugin-proposal-async-generator-functions": "^7.14.9", + "@babel/plugin-proposal-class-properties": "^7.14.5", + "@babel/plugin-proposal-class-static-block": "^7.14.5", + "@babel/plugin-proposal-dynamic-import": "^7.14.5", + "@babel/plugin-proposal-export-namespace-from": "^7.14.5", + "@babel/plugin-proposal-json-strings": "^7.14.5", + "@babel/plugin-proposal-logical-assignment-operators": "^7.14.5", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.5", + "@babel/plugin-proposal-numeric-separator": "^7.14.5", + "@babel/plugin-proposal-object-rest-spread": "^7.14.7", + "@babel/plugin-proposal-optional-catch-binding": "^7.14.5", + "@babel/plugin-proposal-optional-chaining": "^7.14.5", + "@babel/plugin-proposal-private-methods": "^7.14.5", + "@babel/plugin-proposal-private-property-in-object": "^7.14.5", + "@babel/plugin-proposal-unicode-property-regex": "^7.14.5", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", "@babel/plugin-syntax-json-strings": "^7.8.3", @@ -13362,45 +12326,46 @@ "@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.12.13", - "@babel/plugin-transform-arrow-functions": "^7.13.0", - "@babel/plugin-transform-async-to-generator": "^7.13.0", - "@babel/plugin-transform-block-scoped-functions": "^7.12.13", - "@babel/plugin-transform-block-scoping": "^7.12.13", - "@babel/plugin-transform-classes": "^7.13.0", - "@babel/plugin-transform-computed-properties": "^7.13.0", - "@babel/plugin-transform-destructuring": "^7.13.0", - "@babel/plugin-transform-dotall-regex": "^7.12.13", - "@babel/plugin-transform-duplicate-keys": "^7.12.13", - "@babel/plugin-transform-exponentiation-operator": "^7.12.13", - "@babel/plugin-transform-for-of": "^7.13.0", - "@babel/plugin-transform-function-name": "^7.12.13", - "@babel/plugin-transform-literals": "^7.12.13", - "@babel/plugin-transform-member-expression-literals": "^7.12.13", - "@babel/plugin-transform-modules-amd": "^7.13.0", - "@babel/plugin-transform-modules-commonjs": "^7.13.8", - "@babel/plugin-transform-modules-systemjs": "^7.13.8", - "@babel/plugin-transform-modules-umd": "^7.13.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.13", - "@babel/plugin-transform-new-target": "^7.12.13", - "@babel/plugin-transform-object-super": "^7.12.13", - "@babel/plugin-transform-parameters": "^7.13.0", - "@babel/plugin-transform-property-literals": "^7.12.13", - "@babel/plugin-transform-regenerator": "^7.12.13", - "@babel/plugin-transform-reserved-words": "^7.12.13", - "@babel/plugin-transform-shorthand-properties": "^7.12.13", - "@babel/plugin-transform-spread": "^7.13.0", - "@babel/plugin-transform-sticky-regex": "^7.12.13", - "@babel/plugin-transform-template-literals": "^7.13.0", - "@babel/plugin-transform-typeof-symbol": "^7.12.13", - "@babel/plugin-transform-unicode-escapes": "^7.12.13", - "@babel/plugin-transform-unicode-regex": "^7.12.13", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.14.5", + "@babel/plugin-transform-async-to-generator": "^7.14.5", + "@babel/plugin-transform-block-scoped-functions": "^7.14.5", + "@babel/plugin-transform-block-scoping": "^7.14.5", + "@babel/plugin-transform-classes": "^7.14.9", + "@babel/plugin-transform-computed-properties": "^7.14.5", + "@babel/plugin-transform-destructuring": "^7.14.7", + "@babel/plugin-transform-dotall-regex": "^7.14.5", + "@babel/plugin-transform-duplicate-keys": "^7.14.5", + "@babel/plugin-transform-exponentiation-operator": "^7.14.5", + "@babel/plugin-transform-for-of": "^7.14.5", + "@babel/plugin-transform-function-name": "^7.14.5", + "@babel/plugin-transform-literals": "^7.14.5", + "@babel/plugin-transform-member-expression-literals": "^7.14.5", + "@babel/plugin-transform-modules-amd": "^7.14.5", + "@babel/plugin-transform-modules-commonjs": "^7.15.0", + "@babel/plugin-transform-modules-systemjs": "^7.14.5", + "@babel/plugin-transform-modules-umd": "^7.14.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.9", + "@babel/plugin-transform-new-target": "^7.14.5", + "@babel/plugin-transform-object-super": "^7.14.5", + "@babel/plugin-transform-parameters": "^7.14.5", + "@babel/plugin-transform-property-literals": "^7.14.5", + "@babel/plugin-transform-regenerator": "^7.14.5", + "@babel/plugin-transform-reserved-words": "^7.14.5", + "@babel/plugin-transform-shorthand-properties": "^7.14.5", + "@babel/plugin-transform-spread": "^7.14.6", + "@babel/plugin-transform-sticky-regex": "^7.14.5", + "@babel/plugin-transform-template-literals": "^7.14.5", + "@babel/plugin-transform-typeof-symbol": "^7.14.5", + "@babel/plugin-transform-unicode-escapes": "^7.14.5", + "@babel/plugin-transform-unicode-regex": "^7.14.5", "@babel/preset-modules": "^0.1.4", - "@babel/types": "^7.13.0", - "babel-plugin-polyfill-corejs2": "^0.1.4", - "babel-plugin-polyfill-corejs3": "^0.1.3", - "babel-plugin-polyfill-regenerator": "^0.1.2", - "core-js-compat": "^3.9.0", + "@babel/types": "^7.15.0", + "babel-plugin-polyfill-corejs2": "^0.2.2", + "babel-plugin-polyfill-corejs3": "^0.2.2", + "babel-plugin-polyfill-regenerator": "^0.2.2", + "core-js-compat": "^3.16.0", "semver": "^6.3.0" } }, @@ -13418,73 +12383,49 @@ } }, "@babel/runtime": { - "version": "7.13.9", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.13.9.tgz", - "integrity": "sha512-aY2kU+xgJ3dJ1eU6FMB9EH8dIe8dmusF1xEku52joLvw6eAFN0AI+WxCLDnpev2LEejWBAy2sBvBOBAjI3zmvA==", + "version": "7.15.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.3.tgz", + "integrity": "sha512-OvwMLqNXkCXSz1kSm58sEsNuhqOx/fKpnUnKnFB5v8uDda5bLNEHNgKPvhDN6IU0LDcnHQ90LlJ0Q6jnyBSIBA==", "dev": true, "requires": { "regenerator-runtime": "^0.13.4" } }, "@babel/template": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", - "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", + "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", "dev": true, "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/parser": "^7.12.13", - "@babel/types": "^7.12.13" + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.14.5", + "@babel/types": "^7.14.5" } }, "@babel/traverse": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.0.tgz", - "integrity": "sha512-xys5xi5JEhzC3RzEmSGrs/b3pJW/o87SypZ+G/PhaE7uqVQNv/jlmVIBXuoh5atqQ434LfXV+sf23Oxj0bchJQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.13.0", - "@babel/helper-function-name": "^7.12.13", - "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/parser": "^7.13.0", - "@babel/types": "^7.13.0", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.0.tgz", + "integrity": "sha512-392d8BN0C9eVxVWd8H6x9WfipgVH5IaIoLp23334Sc1vbKKWINnvwRpb4us0xtPaCumlwbTtIYNA0Dv/32sVFw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.15.0", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-hoist-variables": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/parser": "^7.15.0", + "@babel/types": "^7.15.0", "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - }, - "dependencies": { - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } + "globals": "^11.1.0" } }, "@babel/types": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.0.tgz", - "integrity": "sha512-hE+HE8rnG1Z6Wzo+MhaKE5lM5eMx71T4EHJgku2E3xIfaULhDcxiiRxUYgwX8qwP1BBSlag+TdGOt6JAidIZTA==", + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.0.tgz", + "integrity": "sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", + "@babel/helper-validator-identifier": "^7.14.9", "to-fast-properties": "^2.0.0" } }, @@ -13506,6 +12447,22 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "through2": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", + "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "readable-stream": "2 || 3" + } } } }, @@ -13527,25 +12484,9 @@ "requires": { "remove-trailing-separator": "^1.0.1" } - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } } } }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true - }, "accepts": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", @@ -13563,9 +12504,9 @@ "dev": true }, "acorn-jsx": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", - "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, "requires": {} }, @@ -13594,12 +12535,6 @@ "dev": true, "requires": {} }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "dev": true - }, "ansi-colors": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", @@ -13619,20 +12554,12 @@ } }, "ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, "requires": { - "type-fest": "^0.11.0" - }, - "dependencies": { - "type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", - "dev": true - } + "type-fest": "^0.21.3" } }, "ansi-gray": { @@ -13675,9 +12602,9 @@ "dev": true }, "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", "dev": true, "requires": { "normalize-path": "^3.0.0", @@ -13693,28 +12620,12 @@ "buffer-equal": "^1.0.0" } }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true - }, "archy": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", "dev": true }, - "are-we-there-yet": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", - "dev": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, "argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", @@ -13766,12 +12677,6 @@ "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", "dev": true }, - "array-find-index": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", - "dev": true - }, "array-initial": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/array-initial/-/array-initial-1.1.0.tgz", @@ -13836,21 +12741,6 @@ "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==", "dev": true }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "dev": true, - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - }, "assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", @@ -13893,12 +12783,6 @@ "integrity": "sha1-dhfBkXQB/Yykooqtzj266Yr+tDI=", "dev": true }, - "async-foreach": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", - "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", - "dev": true - }, "async-settle": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/async-settle/-/async-settle-1.0.0.tgz", @@ -13908,30 +12792,12 @@ "async-done": "^1.2.2" } }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, "atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", "dev": true }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true - }, - "aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", - "dev": true - }, "axios": { "version": "0.21.1", "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", @@ -13951,33 +12817,33 @@ } }, "babel-plugin-polyfill-corejs2": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.1.10.tgz", - "integrity": "sha512-DO95wD4g0A8KRaHKi0D51NdGXzvpqVLnLu5BTvDlpqUEpTmeEtypgC1xqesORaWmiUOQI14UHKlzNd9iZ2G3ZA==", + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz", + "integrity": "sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ==", "dev": true, "requires": { - "@babel/compat-data": "^7.13.0", - "@babel/helper-define-polyfill-provider": "^0.1.5", + "@babel/compat-data": "^7.13.11", + "@babel/helper-define-polyfill-provider": "^0.2.2", "semver": "^6.1.1" } }, "babel-plugin-polyfill-corejs3": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.1.7.tgz", - "integrity": "sha512-u+gbS9bbPhZWEeyy1oR/YaaSpod/KDT07arZHb80aTpl8H5ZBq+uN1nN9/xtX7jQyfLdPfoqI4Rue/MQSWJquw==", + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.4.tgz", + "integrity": "sha512-z3HnJE5TY/j4EFEa/qpQMSbcUJZ5JQi+3UFjXzn6pQCmIKc5Ug5j98SuYyH+m4xQnvKlMDIW4plLfgyVnd0IcQ==", "dev": true, "requires": { - "@babel/helper-define-polyfill-provider": "^0.1.5", - "core-js-compat": "^3.8.1" + "@babel/helper-define-polyfill-provider": "^0.2.2", + "core-js-compat": "^3.14.0" } }, "babel-plugin-polyfill-regenerator": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.1.6.tgz", - "integrity": "sha512-OUrYG9iKPKz8NxswXbRAdSwF0GhRdIEMTloQATJi4bDuFqrXaXcCUT/VGNrr8pBcjMh1RxZ7Xt9cytVJTJfvMg==", + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz", + "integrity": "sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg==", "dev": true, "requires": { - "@babel/helper-define-polyfill-provider": "^0.1.5" + "@babel/helper-define-polyfill-provider": "^0.2.2" } }, "bach": { @@ -14004,9 +12870,9 @@ "dev": true }, "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, "base": { @@ -14053,22 +12919,13 @@ "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", "dev": true }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, - "requires": { - "tweetnacl": "^0.14.3" - } - }, "beeper": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/beeper/-/beeper-2.1.0.tgz", - "integrity": "sha512-85+CcymhlP0jM4fs4ZMiMRl58VthoN9NRdvi+knXiQpP2UggkSre+A9rOZ0c2g2Vh+pEF5ZAlT+k8dsJNoanAA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/beeper/-/beeper-3.0.0.tgz", + "integrity": "sha512-8d0BXEuBIiPfmKvATnSCN58sGKCB3vy+lwORdSvfC5uN6OMlPj9/aVMXsmvt5dIvjjyxiuKYfMVWpiAh/kJr5w==", "dev": true, "requires": { - "yoctodelay": "^1.1.0" + "yoctodelay": "^1.2.0" } }, "binary-extensions": { @@ -14093,15 +12950,6 @@ "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==", "dev": true }, - "block-stream": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", - "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", - "dev": true, - "requires": { - "inherits": "~2.0.0" - } - }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -14122,13 +12970,13 @@ } }, "browser-sync": { - "version": "2.26.14", - "resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-2.26.14.tgz", - "integrity": "sha512-3TtpsheGolJT6UFtM2CZWEcGJmI4ZEvoCKiKE2bvcDnPxRkhQT4nIGVtfiyPcoHKXGM0LwMOZmYJNWfiNfVXWA==", + "version": "2.27.5", + "resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-2.27.5.tgz", + "integrity": "sha512-0GMEPDqccbTxwYOUGCk5AZloDj9I/1eDZCLXUKXu7iBJPznGGOnMHs88mrhaFL0fTA0R23EmsXX9nLZP+k5YzA==", "dev": true, "requires": { - "browser-sync-client": "^2.26.14", - "browser-sync-ui": "^2.26.14", + "browser-sync-client": "^2.27.5", + "browser-sync-ui": "^2.27.5", "bs-recipes": "1.3.4", "bs-snippet-injector": "^2.0.1", "chokidar": "^3.5.1", @@ -14155,14 +13003,14 @@ "serve-static": "1.13.2", "server-destroy": "1.0.1", "socket.io": "2.4.0", - "ua-parser-js": "^0.7.18", + "ua-parser-js": "^0.7.28", "yargs": "^15.4.1" } }, "browser-sync-client": { - "version": "2.26.14", - "resolved": "https://registry.npmjs.org/browser-sync-client/-/browser-sync-client-2.26.14.tgz", - "integrity": "sha512-be0m1MchmKv/26r/yyyolxXcBi052aYrmaQep5nm8YNMjFcEyzv0ZoOKn/c3WEXNlEB/KeXWaw70fAOJ+/F1zQ==", + "version": "2.27.5", + "resolved": "https://registry.npmjs.org/browser-sync-client/-/browser-sync-client-2.27.5.tgz", + "integrity": "sha512-l2jtf60/exv0fQiZkhi3z8RgexYYLGS7DVDnyepkrp+oFAPlKW69daL6NrVSgrwu6lzSTCCTAiPXnUSrQ57e/Q==", "dev": true, "requires": { "etag": "1.8.1", @@ -14172,9 +13020,9 @@ } }, "browser-sync-ui": { - "version": "2.26.14", - "resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-2.26.14.tgz", - "integrity": "sha512-6oT1sboM4KVNnWCCJDMGbRIeTBw97toMFQ+srImvwQ6J5t9KMgizaIX8HcKLiemsUMSJkgGM9RVKIpq2UblgOA==", + "version": "2.27.5", + "resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-2.27.5.tgz", + "integrity": "sha512-KxBJhQ6XNbQ8w8UlkPa9/J5R0nBHgHuJUtDpEXQx1jBapDy32WGzD0NENDozP4zGNvJUgZk3N80hqB7YCieC3g==", "dev": true, "requires": { "async-each-series": "0.1.1", @@ -14186,16 +13034,16 @@ } }, "browserslist": { - "version": "4.16.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz", - "integrity": "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==", + "version": "4.16.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.7.tgz", + "integrity": "sha512-7I4qVwqZltJ7j37wObBe3SoTz+nS8APaNcrBOlgoirb6/HbEU2XxW/LpUDTCngM6iauwFqmRTuOMfyKnFGY5JA==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001181", - "colorette": "^1.2.1", - "electron-to-chromium": "^1.3.649", + "caniuse-lite": "^1.0.30001248", + "colorette": "^1.2.2", + "electron-to-chromium": "^1.3.793", "escalade": "^3.1.1", - "node-releases": "^1.1.70" + "node-releases": "^1.1.73" } }, "bs-recipes": { @@ -14217,9 +13065,9 @@ "dev": true }, "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, "bytes": { @@ -14278,32 +13126,10 @@ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true }, - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", - "dev": true - }, - "camelcase-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", - "dev": true, - "requires": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" - } - }, "caniuse-lite": { - "version": "1.0.30001196", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001196.tgz", - "integrity": "sha512-CPvObjD3ovWrNBaXlAIGWmg2gQQuJ5YhuciUOjPRox6hIQttu8O+b51dx6VIpIY9ESd2d0Vac1RKpICdG4rGUg==", - "dev": true - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "version": "1.0.30001251", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001251.tgz", + "integrity": "sha512-HOe1r+9VkU4TFmnU70z+r7OLmtR+/chB1rdcJUeQlAinjEeb0cKL20tlAtOagNZhbrtLnCvV19B4FmF1rgzl6A==", "dev": true }, "chalk": { @@ -14324,27 +13150,21 @@ "dev": true }, "chokidar": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", - "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", + "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", "dev": true, "requires": { - "anymatch": "~3.1.1", + "anymatch": "~3.1.2", "braces": "~3.0.2", - "fsevents": "~2.3.1", - "glob-parent": "~5.1.0", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" + "readdirp": "~3.6.0" } }, - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true - }, "circular-json": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", @@ -14432,6 +13252,14 @@ "dev": true, "requires": { "source-map": "~0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, "cli-cursor": { @@ -14444,9 +13272,9 @@ } }, "cli-table": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.5.tgz", - "integrity": "sha512-7uo2+RMNQUZ13M199udxqwk1qxTOS53EUak4gmu/aioUpdH5RvBz0JkJslcWz6ABKedZNqXXzikMZgHh+qF16A==", + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.6.tgz", + "integrity": "sha512-ZkNZbnZjKERTY5NwC2SeMeLeifSPq/pubeRoTpdr3WchLlnZg6hEgvHkK5zL7KNFdd9PmHN8lxrENUwI3cE8vQ==", "dev": true, "requires": { "colors": "1.0.3" @@ -14570,9 +13398,9 @@ "dev": true }, "colorette": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", - "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.3.0.tgz", + "integrity": "sha512-ecORCqbSFP7Wm8Y6lyqMJjexBQqXSF7SSeaTyGGphogUjBlFP9m9o08wy86HL2uB7fMTxtOUzLMk7ogKcxMg1w==", "dev": true }, "colors": { @@ -14581,15 +13409,6 @@ "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", "dev": true }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, "commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", @@ -14639,6 +13458,14 @@ "dev": true, "requires": { "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, "connect": { @@ -14651,6 +13478,23 @@ "finalhandler": "1.1.0", "parseurl": "~1.3.2", "utils-merge": "1.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } } }, "connect-history-api-fallback": { @@ -14659,16 +13503,10 @@ "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", "dev": true }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "dev": true - }, "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", "dev": true, "requires": { "safe-buffer": "~5.1.1" @@ -14687,22 +13525,22 @@ "dev": true }, "copy-props": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/copy-props/-/copy-props-2.0.4.tgz", - "integrity": "sha512-7cjuUME+p+S3HZlbllgsn2CDwS+5eCCX16qBgNC4jgSTf49qR1VKy/Zhl400m0IQXl/bPGEVqncgUUMjrr4s8A==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/copy-props/-/copy-props-2.0.5.tgz", + "integrity": "sha512-XBlx8HSqrT0ObQwmSzM7WE5k8FxTV75h1DX1Z3n6NhQ/UYYAvInWYmG06vFt7hQZArE2fuO62aihiWIVQwh1sw==", "dev": true, "requires": { - "each-props": "^1.3.0", - "is-plain-object": "^2.0.1" + "each-props": "^1.3.2", + "is-plain-object": "^5.0.0" } }, "core-js-compat": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.9.1.tgz", - "integrity": "sha512-jXAirMQxrkbiiLsCx9bQPJFA6llDadKMpYrBJQJ3/c4/vsPP/fAf29h24tviRlvwUL6AmY5CHLu2GvjuYviQqA==", + "version": "3.16.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.16.1.tgz", + "integrity": "sha512-NHXQXvRbd4nxp9TEmooTJLUf94ySUG6+DSsscBpTftN1lQLQ4LjnWvc7AoIo4UjDsFF3hB8Uh5LLCRRdaiT5MQ==", "dev": true, "requires": { - "browserslist": "^4.16.3", + "browserslist": "^4.16.7", "semver": "7.0.0" }, "dependencies": { @@ -14750,15 +13588,14 @@ "inherits": "^2.0.4", "source-map": "^0.6.1", "source-map-resolve": "^0.6.0" - } - }, - "currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", - "dev": true, - "requires": { - "array-find-index": "^1.0.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, "d": { @@ -14771,22 +13608,13 @@ "type": "^1.0.1" } }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", "dev": true, "requires": { - "ms": "2.0.0" + "ms": "2.1.2" } }, "debug-fabulous": { @@ -14808,12 +13636,6 @@ "requires": { "ms": "^2.1.1" } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true } } }, @@ -14869,18 +13691,6 @@ "isobject": "^3.0.1" } }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "dev": true - }, "depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", @@ -14952,6 +13762,17 @@ "requires": { "is-plain-object": "^2.0.1", "object.defaults": "^1.1.0" + }, + "dependencies": { + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + } } }, "easy-extender": { @@ -14972,16 +13793,6 @@ "tfunk": "^4.0.0" } }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -14989,9 +13800,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.3.682", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.682.tgz", - "integrity": "sha512-zok2y37qR00U14uM6qBz/3iIjWHom2eRfC2S1StA0RslP7x34jX+j4mxv80t8OEOHLJPVG54ZPeaFxEI7gPrwg==", + "version": "1.3.806", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.806.tgz", + "integrity": "sha512-AH/otJLAAecgyrYp0XK1DPiGVWcOgwPeJBOLeuFQ5l//vhQhwC9u6d+GijClqJAmsHG4XDue81ndSQPohUu0xA==", "dev": true }, "emoji-regex": { @@ -15037,19 +13848,13 @@ "requires": { "ms": "^2.1.1" } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true } } }, "engine.io-client": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.5.0.tgz", - "integrity": "sha512-12wPRfMrugVw/DNyJk34GQ5vIVArEcVMXWugQGGuw2XxUSztFNmJggZmv8IZlLyEdnpO1QB9LkcjeWewO2vxtA==", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.5.2.tgz", + "integrity": "sha512-QEqIp+gJ/kMHeUun7f5Vv3bteRHppHH/FMBQX/esFj/fuYfjyUKWGMo3VCvIP/V8bE9KcjHmRZrhIz2Z9oNsDA==", "dev": true, "requires": { "component-emitter": "~1.3.0", @@ -15061,7 +13866,7 @@ "parseqs": "0.0.6", "parseuri": "0.0.6", "ws": "~7.4.2", - "xmlhttprequest-ssl": "~1.5.4", + "xmlhttprequest-ssl": "~1.6.2", "yeast": "0.1.2" }, "dependencies": { @@ -15073,6 +13878,12 @@ "requires": { "ms": "2.0.0" } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true } } }, @@ -15089,12 +13900,6 @@ "has-binary2": "~1.0.2" } }, - "env-paths": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.0.tgz", - "integrity": "sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA==", - "dev": true - }, "error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -15270,19 +14075,19 @@ "v8-compile-cache": "^2.0.3" }, "dependencies": { - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", "dev": true, "requires": { - "ms": "2.1.2" + "type-fest": "^0.8.1" } }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", "dev": true } } @@ -15418,6 +14223,15 @@ "to-regex": "^3.0.1" }, "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", @@ -15492,6 +14306,12 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true } } }, @@ -15514,9 +14334,9 @@ }, "dependencies": { "type": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/type/-/type-2.3.0.tgz", - "integrity": "sha512-rgPIqOdfK/4J9FhiVrZ3cveAjRRo5rsQBAIhnylX874y1DX/kEKSVdLsnuHB6l1KTjHyU01VjiMBHgU2adejyg==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.5.0.tgz", + "integrity": "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==", "dev": true } } @@ -15590,12 +14410,6 @@ } } }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true - }, "fancy-log": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz", @@ -15673,6 +14487,23 @@ "parseurl": "~1.3.2", "statuses": "~1.3.1", "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } } }, "find-up": { @@ -15825,6 +14656,17 @@ "object.defaults": "^1.1.0", "object.pick": "^1.2.0", "parse-filepath": "^1.0.1" + }, + "dependencies": { + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + } } }, "flagged-respawn": { @@ -15861,9 +14703,9 @@ } }, "follow-redirects": { - "version": "1.13.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.3.tgz", - "integrity": "sha512-DUgl6+HDzB0iEptNQEXLx/KhTmDb8tZUHSeLqpnjpknR70H0nC2t9N73BK6fN4hOvJ84pKlIQVQ4k5FFlBedKA==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.1.tgz", + "integrity": "sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg==", "dev": true }, "for-in": { @@ -15881,23 +14723,6 @@ "for-in": "^1.0.1" } }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, "fragment-cache": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", @@ -15933,15 +14758,6 @@ "universalify": "^0.1.0" } }, - "fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, "fs-mkdirp-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz", @@ -15950,18 +14766,6 @@ "requires": { "graceful-fs": "^4.1.11", "through2": "^2.0.3" - }, - "dependencies": { - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - } } }, "fs.realpath": { @@ -15977,18 +14781,6 @@ "dev": true, "optional": true }, - "fstream": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", - "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "inherits": "~2.0.0", - "mkdirp": ">=0.5 0", - "rimraf": "2" - } - }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -16001,68 +14793,6 @@ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", "dev": true }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "dev": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - } - } - }, - "gaze": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", - "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", - "dev": true, - "requires": { - "globule": "^1.0.0" - } - }, "generate-function": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", @@ -16105,31 +14835,16 @@ "has-symbols": "^1.0.1" } }, - "get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", - "dev": true - }, "get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", "dev": true }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -16141,9 +14856,9 @@ } }, "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "requires": { "is-glob": "^4.0.1" @@ -16444,13 +15159,10 @@ } }, "globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "dev": true, - "requires": { - "type-fest": "^0.8.1" - } + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true }, "globule": { "version": "1.3.2", @@ -16490,9 +15202,9 @@ } }, "graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", - "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", + "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==", "dev": true }, "growly": { @@ -16523,18 +15235,6 @@ "replace-ext": "^1.0.0", "through2": "^2.0.0", "vinyl-sourcemaps-apply": "^0.2.0" - }, - "dependencies": { - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - } } }, "gulp-clean-css": { @@ -16547,6 +15247,17 @@ "plugin-error": "1.0.1", "through2": "3.0.1", "vinyl-sourcemaps-apply": "0.2.1" + }, + "dependencies": { + "through2": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", + "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", + "dev": true, + "requires": { + "readable-stream": "2 || 3" + } + } } }, "gulp-cli": { @@ -16662,9 +15373,9 @@ "dev": true }, "yargs": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.1.tgz", - "integrity": "sha512-huO4Fr1f9PmiJJdll5kwoS2e4GqzGSsMT3PPMpOwoVkOK8ckqAewMTZyA6LXVQWflleb/Z8oPBEvNsMft0XE+g==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.2.tgz", + "integrity": "sha512-ZEjj/dQYQy0Zx0lgLMLR8QuaqTihnxirir7EwUHp1Axq4e3+k8jXU5K0VLbNvedv1f4EWtBonDIZm0NUr+jCcA==", "dev": true, "requires": { "camelcase": "^3.0.0", @@ -16679,13 +15390,13 @@ "string-width": "^1.0.2", "which-module": "^1.0.0", "y18n": "^3.2.1", - "yargs-parser": "5.0.0-security.0" + "yargs-parser": "^5.0.1" } }, "yargs-parser": { - "version": "5.0.0-security.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0-security.0.tgz", - "integrity": "sha512-T69y4Ps64LNesYxeYGYPvfoMTt/7y1XtfpIslUeK4um+9Hu7hlGoRtaDLvdXb7+/tfq4opVa2HRY5xGip022rQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.1.tgz", + "integrity": "sha512-wpav5XYiddjXxirPoCTUPbqM0PXvJ9hiBMvuJgInvo4/lAOTZzUprArw17q2O1P2+GHhbBr18/iQwjL5Z9BqfA==", "dev": true, "requires": { "camelcase": "^3.0.0", @@ -16703,18 +15414,6 @@ "concat-with-sourcemaps": "^1.0.0", "through2": "^2.0.0", "vinyl": "^2.0.0" - }, - "dependencies": { - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - } } }, "gulp-eslint": { @@ -16739,110 +15438,66 @@ "lodash._reinterpolate": "^3.0.0", "lodash.template": "^3.6.2", "map-stream": "0.0.7" - }, - "dependencies": { - "lodash.template": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz", - "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=", - "dev": true, - "requires": { - "lodash._basecopy": "^3.0.0", - "lodash._basetostring": "^3.0.0", - "lodash._basevalues": "^3.0.0", - "lodash._isiterateecall": "^3.0.0", - "lodash._reinterpolate": "^3.0.0", - "lodash.escape": "^3.0.0", - "lodash.keys": "^3.0.0", - "lodash.restparam": "^3.0.0", - "lodash.templatesettings": "^3.0.0" - } - }, - "lodash.templatesettings": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz", - "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=", - "dev": true, - "requires": { - "lodash._reinterpolate": "^3.0.0", - "lodash.escape": "^3.0.0" - } - } } }, "gulp-notify": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/gulp-notify/-/gulp-notify-3.2.0.tgz", - "integrity": "sha512-qEocs1UVoDKKUjfsxJNMNwkRla0PbsyJwsqNNXpzYWsLQ29LhxRMY3wnTGZcc4hMHtalnvah/Dwlwb4NijH/0A==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/gulp-notify/-/gulp-notify-4.0.0.tgz", + "integrity": "sha512-0cdDvZkHVqu4tqrcOI/jL5YdxYEIPQ7+p3YxnO48w5hhPSisvogZ887qL+fpYItg9m4MUhJ5Se8p8xGy3uJESA==", "dev": true, "requires": { - "ansi-colors": "^1.0.1", - "fancy-log": "^1.3.2", - "lodash.template": "^4.4.0", - "node-notifier": "^5.2.1", - "node.extend": "^2.0.0", - "plugin-error": "^0.1.2", - "through2": "^2.0.3" + "ansi-colors": "^4.1.1", + "fancy-log": "^1.3.3", + "lodash.template": "^4.5.0", + "node-notifier": "^9.0.1", + "node.extend": "^2.0.2", + "plugin-error": "^1.0.1", + "through2": "^4.0.2" }, "dependencies": { - "arr-diff": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz", - "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=", + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true + }, + "lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", "dev": true, "requires": { - "arr-flatten": "^1.0.1", - "array-slice": "^0.2.3" + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" } }, - "arr-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz", - "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=", - "dev": true - }, - "array-slice": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", - "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=", - "dev": true - }, - "extend-shallow": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz", - "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=", + "lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", "dev": true, "requires": { - "kind-of": "^1.1.0" + "lodash._reinterpolate": "^3.0.0" } }, - "kind-of": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", - "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=", - "dev": true - }, - "plugin-error": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz", - "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=", + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, "requires": { - "ansi-cyan": "^0.1.1", - "ansi-red": "^0.1.1", - "arr-diff": "^1.0.1", - "arr-union": "^2.0.1", - "extend-shallow": "^1.1.2" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" } }, "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", "dev": true, "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" + "readable-stream": "3" } } } @@ -16948,16 +15603,6 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", "dev": true - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } } } }, @@ -16968,167 +15613,88 @@ "dev": true }, "gulp-sass": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/gulp-sass/-/gulp-sass-4.1.0.tgz", - "integrity": "sha512-xIiwp9nkBLcJDpmYHbEHdoWZv+j+WtYaKD6Zil/67F3nrAaZtWYN5mDwerdo7EvcdBenSAj7Xb2hx2DqURLGdA==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/gulp-sass/-/gulp-sass-5.0.0.tgz", + "integrity": "sha512-J0aH0/2N4+2szGCeut0ktGHK0Wg8L9uWivuigrl7xv+nhxozBQRAKLrhnDDaTa3FeUWYtgT8w4RlgdhRy5v16w==", "dev": true, "requires": { - "chalk": "^2.3.0", - "lodash": "^4.17.11", - "node-sass": "^4.8.3", + "chalk": "^4.1.1", + "lodash": "^4.17.20", "plugin-error": "^1.0.1", - "replace-ext": "^1.0.0", - "strip-ansi": "^4.0.0", - "through2": "^2.0.0", - "vinyl-sourcemaps-apply": "^0.2.0" + "replace-ext": "^2.0.0", + "strip-ansi": "^6.0.0", + "transfob": "^1.0.0", + "vinyl-sourcemaps-apply": "^0.2.1" }, "dependencies": { "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true }, "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "cross-spawn": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", - "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "which": "^1.2.9" - } - }, - "node-gyp": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", - "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "fstream": "^1.0.0", - "glob": "^7.0.3", - "graceful-fs": "^4.1.2", - "mkdirp": "^0.5.0", - "nopt": "2 || 3", - "npmlog": "0 || 1 || 2 || 3 || 4", - "osenv": "0", - "request": "^2.87.0", - "rimraf": "2", - "semver": "~5.3.0", - "tar": "^2.0.0", - "which": "1" + "color-convert": "^2.0.1" } }, - "node-sass": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.14.1.tgz", - "integrity": "sha512-sjCuOlvGyCJS40R8BscF5vhVlQjNN069NtQ1gSxyK1u9iqvn6tf7O1R4GNowVZfiZUCRt5MmMs1xd+4V/7Yr0g==", + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { - "async-foreach": "^0.1.3", - "chalk": "^1.1.1", - "cross-spawn": "^3.0.0", - "gaze": "^1.0.0", - "get-stdin": "^4.0.1", - "glob": "^7.0.3", - "in-publish": "^2.0.0", - "lodash": "^4.17.15", - "meow": "^3.7.0", - "mkdirp": "^0.5.1", - "nan": "^2.13.2", - "node-gyp": "^3.8.0", - "npmlog": "^4.0.0", - "request": "^2.88.0", - "sass-graph": "2.2.5", - "stdout-stream": "^1.4.0", - "true-case-path": "^1.0.2" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - } + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, - "nopt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { - "abbrev": "1" + "color-name": "~1.1.4" } }, - "semver": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "strip-ansi": { + "has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true }, - "supports-color": { + "replace-ext": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-2.0.0.tgz", + "integrity": "sha512-UszKE5KVK6JvyD92nzMn9cDapSk6w/CaFZ96CnmDMUqH9oowfxF/ZjRITD25H4DnOQClLA4/j7jLGXXLVKxAug==", "dev": true }, - "tar": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", - "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "dev": true, "requires": { - "block-stream": "*", - "fstream": "^1.0.12", - "inherits": "2" + "ansi-regex": "^5.0.0" } }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" + "has-flag": "^4.0.0" } } } @@ -17193,16 +15759,6 @@ "arr-union": "^2.0.1", "extend-shallow": "^1.1.2" } - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } } } }, @@ -17226,16 +15782,6 @@ "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz", "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=", "dev": true - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } } } }, @@ -17264,15 +15810,11 @@ "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", "dev": true }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true } } }, @@ -17328,22 +15870,6 @@ "duplexer": "^0.1.1" } }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true - }, - "har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "dev": true, - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - } - }, "has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -17400,15 +15926,9 @@ "dev": true }, "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "dev": true - }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", "dev": true }, "has-value": { @@ -17473,9 +15993,9 @@ } }, "hosted-git-info": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", - "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", "dev": true }, "http-errors": { @@ -17510,17 +16030,6 @@ "requires-port": "^1.0.0" } }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, "iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -17558,21 +16067,6 @@ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, - "in-publish": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.1.tgz", - "integrity": "sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ==", - "dev": true - }, - "indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", - "dev": true, - "requires": { - "repeating": "^2.0.0" - } - }, "indexof": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", @@ -17638,9 +16132,9 @@ } }, "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -17669,9 +16163,9 @@ "dev": true }, "rxjs": { - "version": "6.6.6", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.6.tgz", - "integrity": "sha512-/oTwee4N4iWzAMAL9xdGKjkEHmIwupR3oXbQjCKywF1BeFohswF3vZdogbmEF6pZkOsXTzWkrZszrWpQTByYVg==", + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", "dev": true, "requires": { "tslib": "^1.9.0" @@ -17764,9 +16258,9 @@ "dev": true }, "is-core-module": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", - "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.5.0.tgz", + "integrity": "sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg==", "dev": true, "requires": { "has": "^1.0.3" @@ -17808,6 +16302,12 @@ } } }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true + }, "is-extendable": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", @@ -17815,6 +16315,17 @@ "dev": true, "requires": { "is-plain-object": "^2.0.4" + }, + "dependencies": { + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + } } }, "is-extglob": { @@ -17823,12 +16334,6 @@ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true }, - "is-finite": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", - "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", - "dev": true - }, "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -17885,13 +16390,10 @@ } }, "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true }, "is-promise": { "version": "2.2.2", @@ -17920,12 +16422,6 @@ "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", "dev": true }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, "is-unc-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", @@ -17977,18 +16473,6 @@ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, - "js-base64": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", - "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==", - "dev": true - }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -18005,24 +16489,12 @@ "esprima": "^4.0.0" } }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true - }, "jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true - }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -18044,12 +16516,6 @@ "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", "dev": true }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true - }, "json5": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", @@ -18081,18 +16547,6 @@ "integrity": "sha512-CXcRvMyTlnR53xMcKnuMzfCA5i/nfblTnnr74CZb6C4vG39eu6w51t7nKmU5MfLfbTgGItliNyjO/ciNPDqClg==", "dev": true }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, "just-debounce": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.1.0.tgz", @@ -18172,6 +16626,17 @@ "object.map": "^1.0.0", "rechoir": "^0.6.2", "resolve": "^1.1.7" + }, + "dependencies": { + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + } } }, "limiter": { @@ -18255,12 +16720,6 @@ "ms": "2.1.2" } }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, "strip-ansi": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", @@ -18282,9 +16741,9 @@ } }, "y18n": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz", - "integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==", + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true }, "yargs": { @@ -18303,27 +16762,9 @@ } }, "yargs-parser": { - "version": "20.2.6", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.6.tgz", - "integrity": "sha512-AP1+fQIWSM/sMiET8fyayjx/J+JmTPt2Mr0FkrgqB4todtfa53sOsrSAcIrJRD5XS20bKUwaDIuMkWKCEiQLKA==", - "dev": true - } - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "dependencies": { - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true } } @@ -18451,50 +16892,39 @@ "dev": true }, "lodash.template": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", - "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz", + "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=", "dev": true, "requires": { + "lodash._basecopy": "^3.0.0", + "lodash._basetostring": "^3.0.0", + "lodash._basevalues": "^3.0.0", + "lodash._isiterateecall": "^3.0.0", "lodash._reinterpolate": "^3.0.0", - "lodash.templatesettings": "^4.0.0" + "lodash.escape": "^3.0.0", + "lodash.keys": "^3.0.0", + "lodash.restparam": "^3.0.0", + "lodash.templatesettings": "^3.0.0" } }, "lodash.templatesettings": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", - "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", - "dev": true, - "requires": { - "lodash._reinterpolate": "^3.0.0" - } - }, - "loud-rejection": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", - "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz", + "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=", "dev": true, "requires": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" + "lodash._reinterpolate": "^3.0.0", + "lodash.escape": "^3.0.0" } }, "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - }, - "dependencies": { - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - } + "yallist": "^4.0.0" } }, "lru-queue": { @@ -18529,12 +16959,6 @@ "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", "dev": true }, - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true - }, "map-stream": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.0.7.tgz", @@ -18716,24 +17140,6 @@ "timers-ext": "^0.1.7" } }, - "meow": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", - "dev": true, - "requires": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" - } - }, "merge": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz", @@ -18741,13 +17147,13 @@ "dev": true }, "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", "dev": true, "requires": { "braces": "^3.0.1", - "picomatch": "^2.0.5" + "picomatch": "^2.2.3" } }, "mime": { @@ -18757,18 +17163,18 @@ "dev": true }, "mime-db": { - "version": "1.46.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.46.0.tgz", - "integrity": "sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ==", + "version": "1.49.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz", + "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==", "dev": true }, "mime-types": { - "version": "2.1.29", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.29.tgz", - "integrity": "sha512-Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ==", + "version": "2.1.32", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz", + "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==", "dev": true, "requires": { - "mime-db": "1.46.0" + "mime-db": "1.49.0" } }, "mimic-fn": { @@ -18792,25 +17198,6 @@ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true }, - "minipass": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", - "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dev": true, - "requires": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - } - }, "mitt": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/mitt/-/mitt-1.2.0.tgz", @@ -18837,9 +17224,9 @@ } }, "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, "mute-stdout": { @@ -18855,10 +17242,11 @@ "dev": true }, "nan": { - "version": "2.14.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", - "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", - "dev": true + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", + "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==", + "dev": true, + "optional": true }, "nanomatch": { "version": "1.2.13", @@ -18911,185 +17299,38 @@ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", "dev": true }, - "node-gyp": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-7.1.2.tgz", - "integrity": "sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ==", - "dev": true, - "requires": { - "env-paths": "^2.2.0", - "glob": "^7.1.4", - "graceful-fs": "^4.2.3", - "nopt": "^5.0.0", - "npmlog": "^4.1.2", - "request": "^2.88.2", - "rimraf": "^3.0.2", - "semver": "^7.3.2", - "tar": "^6.0.2", - "which": "^2.0.2" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "node-notifier": { - "version": "5.4.3", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.3.tgz", - "integrity": "sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q==", - "dev": true, - "requires": { - "growly": "^1.3.0", - "is-wsl": "^1.1.0", - "semver": "^5.5.0", - "shellwords": "^0.1.1", - "which": "^1.3.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "node-releases": { - "version": "1.1.71", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz", - "integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==", - "dev": true - }, - "node-sass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-5.0.0.tgz", - "integrity": "sha512-opNgmlu83ZCF792U281Ry7tak9IbVC+AKnXGovcQ8LG8wFaJv6cLnRlc6DIHlmNxWEexB5bZxi9SZ9JyUuOYjw==", + "node-notifier": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-9.0.1.tgz", + "integrity": "sha512-fPNFIp2hF/Dq7qLDzSg4vZ0J4e9v60gJR+Qx7RbjbWqzPDdEqeVpEx5CFeDAELIl+A/woaaNn1fQ5nEVerMxJg==", "dev": true, "requires": { - "async-foreach": "^0.1.3", - "chalk": "^1.1.1", - "cross-spawn": "^7.0.3", - "gaze": "^1.0.0", - "get-stdin": "^4.0.1", - "glob": "^7.0.3", - "lodash": "^4.17.15", - "meow": "^3.7.0", - "mkdirp": "^0.5.1", - "nan": "^2.13.2", - "node-gyp": "^7.1.0", - "npmlog": "^4.0.0", - "request": "^2.88.0", - "sass-graph": "2.2.5", - "stdout-stream": "^1.4.0", - "true-case-path": "^1.0.2" + "growly": "^1.3.0", + "is-wsl": "^2.2.0", + "semver": "^7.3.2", + "shellwords": "^0.1.1", + "uuid": "^8.3.0", + "which": "^2.0.2" }, "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", "dev": true, "requires": { - "shebang-regex": "^3.0.0" + "is-docker": "^2.0.0" } }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "lru-cache": "^6.0.0" } }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - }, "which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -19101,6 +17342,12 @@ } } }, + "node-releases": { + "version": "1.1.74", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.74.tgz", + "integrity": "sha512-caJBVempXZPepZoZAPCWRTNxYQ+xtG/KAi4ozTA5A+nJ7IU+kLQCbqaUjb5Rwy14M9upBWiQ4NutcmW04LJSRw==", + "dev": true + }, "node.extend": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/node.extend/-/node.extend-2.0.2.tgz", @@ -19111,15 +17358,6 @@ "is": "^3.2.1" } }, - "nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", - "dev": true, - "requires": { - "abbrev": "1" - } - }, "normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", @@ -19155,30 +17393,12 @@ "once": "^1.3.2" } }, - "npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "dev": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, "number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "dev": true }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true - }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -19407,16 +17627,6 @@ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true }, - "osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "dev": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, "p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", @@ -19426,15 +17636,6 @@ "p-try": "^2.0.0" } }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, "p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", @@ -19540,9 +17741,9 @@ "dev": true }, "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, "path-root": { @@ -19571,16 +17772,10 @@ "pinkie-promise": "^2.0.0" } }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true - }, "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", "dev": true }, "pify": { @@ -19639,9 +17834,9 @@ "dev": true }, "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", "dev": true, "requires": { "chalk": "^2.4.2", @@ -19649,6 +17844,12 @@ "supports-color": "^6.1.0" }, "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, "supports-color": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", @@ -19693,18 +17894,6 @@ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true - }, - "psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", - "dev": true - }, "pump": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", @@ -19793,9 +17982,9 @@ } }, "readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, "requires": { "picomatch": "^2.2.1" @@ -19838,16 +18027,6 @@ "resolve": "^1.1.6" } }, - "redent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", - "dev": true, - "requires": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" - } - }, "regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", @@ -19864,9 +18043,9 @@ } }, "regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", - "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", "dev": true }, "regenerator-transform": { @@ -19915,9 +18094,9 @@ "dev": true }, "regjsparser": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.7.tgz", - "integrity": "sha512-ib77G0uxsA2ovgiYbCVGx4Pv3PSttAx2vIwidqQzbL2U5S4Q+j00HdSAneSBuyVcMvEnTXMjiGgB+DlXozVhpQ==", + "version": "0.6.9", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.9.tgz", + "integrity": "sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ==", "dev": true, "requires": { "jsesc": "~0.5.0" @@ -19950,18 +18129,6 @@ "remove-bom-buffer": "^3.0.0", "safe-buffer": "^5.1.0", "through2": "^2.0.3" - }, - "dependencies": { - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - } } }, "remove-trailing-separator": { @@ -19971,9 +18138,9 @@ "dev": true }, "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", "dev": true }, "repeat-string": { @@ -19982,15 +18149,6 @@ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", "dev": true }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "dev": true, - "requires": { - "is-finite": "^1.0.0" - } - }, "replace-ext": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", @@ -20008,42 +18166,6 @@ "remove-trailing-separator": "^1.1.0" } }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "dev": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true - } - } - }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -20129,6 +18251,23 @@ "requires": { "debug": "^2.2.0", "minimatch": "^3.0.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } } }, "restore-cursor": { @@ -20147,163 +18286,70 @@ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "dev": true }, - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true - }, - "rx": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz", - "integrity": "sha1-pfE/957zt0D+MKqAP7CfmIBdR4I=", - "dev": true - }, - "rx-lite": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz", - "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=", - "dev": true - }, - "rxjs": { - "version": "5.5.12", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.12.tgz", - "integrity": "sha512-xx2itnL5sBbqeeiVgNPVuQQ1nC8Jp2WfNJhXWHmElW9YmrpS9UVnNzhP3EH3HFqexO5Tlp8GhYY+WEcqcVMvGw==", - "dev": true, - "requires": { - "symbol-observable": "1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, - "requires": { - "ret": "~0.1.10" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "sass-graph": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.5.tgz", - "integrity": "sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==", - "dev": true, - "requires": { - "glob": "^7.0.0", - "lodash": "^4.0.0", - "scss-tokenizer": "^0.2.3", - "yargs": "^13.3.2" - }, - "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - } - }, - "yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dev": true, - "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - }, - "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true + }, + "rx": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz", + "integrity": "sha1-pfE/957zt0D+MKqAP7CfmIBdR4I=", + "dev": true + }, + "rx-lite": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz", + "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=", + "dev": true + }, + "rxjs": { + "version": "5.5.12", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.12.tgz", + "integrity": "sha512-xx2itnL5sBbqeeiVgNPVuQQ1nC8Jp2WfNJhXWHmElW9YmrpS9UVnNzhP3EH3HFqexO5Tlp8GhYY+WEcqcVMvGw==", + "dev": true, + "requires": { + "symbol-observable": "1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "sass": { + "version": "1.37.5", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.37.5.tgz", + "integrity": "sha512-Cx3ewxz9QB/ErnVIiWg2cH0kiYZ0FPvheDTVC6BsiEGBTZKKZJ1Gq5Kq6jy3PKtL6+EJ8NIoaBW/RSd2R6cZOA==", + "dev": true, + "requires": { + "chokidar": ">=3.0.0 <4.0.0" } }, "sass-lint": { @@ -20407,6 +18453,15 @@ "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", "dev": true }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, "doctrine": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", @@ -20542,6 +18597,12 @@ "number-is-nan": "^1.0.0" } }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, "onetime": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", @@ -20669,27 +18730,6 @@ } } }, - "scss-tokenizer": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", - "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", - "dev": true, - "requires": { - "js-base64": "^2.1.8", - "source-map": "^0.4.2" - }, - "dependencies": { - "source-map": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", - "dev": true, - "requires": { - "amdefine": ">=0.0.4" - } - } - } - }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", @@ -20726,6 +18766,15 @@ "statuses": "~1.4.0" }, "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, "http-errors": { "version": "1.6.3", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", @@ -20744,6 +18793,12 @@ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, "setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", @@ -20773,6 +18828,15 @@ "parseurl": "~1.3.2" }, "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, "http-errors": { "version": "1.6.3", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", @@ -20791,6 +18855,12 @@ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, "setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", @@ -20855,6 +18925,15 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } } } }, @@ -20932,6 +19011,15 @@ "use": "^3.1.0" }, "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", @@ -21007,10 +19095,10 @@ "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", "dev": true }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, "source-map-resolve": { @@ -21092,12 +19180,6 @@ "requires": { "ms": "^2.1.1" } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true } } }, @@ -21141,6 +19223,12 @@ "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", "dev": true }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, "socket.io-parser": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.2.tgz", @@ -21185,19 +19273,13 @@ "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", "dev": true - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true } } }, "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true }, "source-map-resolve": { @@ -21218,6 +19300,14 @@ "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, "source-map-url": { @@ -21259,9 +19349,9 @@ } }, "spdx-license-ids": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", - "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.10.tgz", + "integrity": "sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA==", "dev": true }, "split-string": { @@ -21279,23 +19369,6 @@ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, - "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "dev": true, - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, "stack-trace": { "version": "0.0.10", "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", @@ -21380,15 +19453,6 @@ "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=", "dev": true }, - "stdout-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", - "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", - "dev": true, - "requires": { - "readable-stream": "^2.0.1" - } - }, "stream-exhaust": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz", @@ -21421,9 +19485,9 @@ } }, "string-width": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.1.tgz", - "integrity": "sha512-LL0OLyN6AnfV9xqGQpDBwedT2Rt63737LxvsRxbcwpa2aIeynBApG2Sm//F3TaLHIR1aJBN52DWklc06b94o5Q==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", "dev": true, "requires": { "emoji-regex": "^8.0.0", @@ -21472,15 +19536,6 @@ "integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=", "dev": true }, - "strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", - "dev": true, - "requires": { - "get-stdin": "^4.0.1" - } - }, "strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -21549,28 +19604,6 @@ } } }, - "tar": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz", - "integrity": "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==", - "dev": true, - "requires": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "dependencies": { - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - } - } - }, "terser": { "version": "5.4.0", "resolved": "https://registry.npmjs.org/terser/-/terser-5.4.0.tgz", @@ -21655,12 +19688,13 @@ "dev": true }, "through2": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", - "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, "requires": { - "readable-stream": "2 || 3" + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" } }, "through2-filter": { @@ -21671,18 +19705,6 @@ "requires": { "through2": "~2.0.0", "xtend": "~4.0.0" - }, - "dependencies": { - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - } } }, "time-stamp": { @@ -21780,18 +19802,6 @@ "dev": true, "requires": { "through2": "^2.0.3" - }, - "dependencies": { - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - } } }, "toidentifier": { @@ -21800,52 +19810,18 @@ "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", "dev": true }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, - "trim-newlines": { + "transfob": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "resolved": "https://registry.npmjs.org/transfob/-/transfob-1.0.0.tgz", + "integrity": "sha1-x/wnpbVDCtSGJnrmZtkj90oKsyA=", "dev": true }, - "true-case-path": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", - "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", - "dev": true, - "requires": { - "glob": "^7.1.2" - } - }, "tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true - }, "type": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", @@ -21862,9 +19838,9 @@ } }, "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true }, "typedarray": { @@ -21874,9 +19850,9 @@ "dev": true }, "ua-parser-js": { - "version": "0.7.24", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.24.tgz", - "integrity": "sha512-yo+miGzQx5gakzVK3QFfN0/L9uVhosXBBO7qmnk7c2iw1IhL212wfA3zbnI54B0obGwC/5NWub/iT9sReMx+Fw==", + "version": "0.7.28", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.28.tgz", + "integrity": "sha512-6Gurc1n//gjp9eQNXjD9O3M/sMwVtN5S8Lv9bvOYBfKfDNiIIhqiyi01vMBO45u4zkDE420w/e0se7Vs+sIg+g==", "dev": true }, "unc-path-regex": { @@ -22093,15 +20069,15 @@ "dev": true }, "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "dev": true }, "v8-compile-cache": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", - "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", "dev": true }, "v8flags": { @@ -22129,17 +20105,6 @@ "integrity": "sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM=", "dev": true }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, "vinyl": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", @@ -22177,18 +20142,6 @@ "value-or-function": "^3.0.0", "vinyl": "^2.0.0", "vinyl-sourcemap": "^1.1.0" - }, - "dependencies": { - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - } } }, "vinyl-sourcemap": { @@ -22224,14 +20177,6 @@ "dev": true, "requires": { "source-map": "^0.5.1" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } } }, "which": { @@ -22249,48 +20194,6 @@ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, - "wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "dev": true, - "requires": { - "string-width": "^1.0.2 || 2" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, "word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", @@ -22365,16 +20268,16 @@ } }, "ws": { - "version": "7.4.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.3.tgz", - "integrity": "sha512-hr6vCR76GsossIRsr8OLR9acVVm1jyfEWvhbNjtgPOrfvAlKzvyeg/P6r8RuDjRyrcQoPQT7K0DGEPc7Ae6jzA==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", + "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", "dev": true, "requires": {} }, "xmlhttprequest-ssl": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", - "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=", + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.6.3.tgz", + "integrity": "sha512-3XfeQE/wNkvrIktn2Kf0869fC0BN6UpydVasGIeSm2B1Llihf7/0UfZM+eCkOw3P7bP4+qPgqhm7ZoxuJtFU0Q==", "dev": true }, "xtend": { @@ -22384,9 +20287,9 @@ "dev": true }, "y18n": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", - "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", "dev": true }, "yallist": { diff --git a/package.json b/package.json index 77a02ce..7a6403f 100755 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "@babel/plugin-transform-object-assign": "^7.12.13", "@babel/plugin-transform-parameters": "^7.13.0", "@babel/preset-env": "^7.13.9", - "beeper": "^2.0.0", + "beeper": "^3.0.0", "browser-sync": "^2.26.7", "gulp": "^4.0.2", "gulp-babel": "^8.0.0", @@ -32,14 +32,14 @@ "gulp-concat": "^2.6.1", "gulp-eslint": "^6.0.0", "gulp-footer": "^2.0.2", - "gulp-notify": "^3.2.0", + "gulp-notify": "^4.0.0", "gulp-plumber": "^1.2.1", "gulp-rename": "^2.0.0", - "gulp-sass": "^4.0.2", + "gulp-sass": "^5.0.0", "gulp-sass-lint": "^1.4.0", "gulp-sizereport": "^1.2.1", "gulp-sourcemaps": "^3.0.0", "gulp-terser": "^2.0.0", - "node-sass": "^5.0.0" + "sass": "^1.37.5" } } From 3ccdfa5879e436fabf25266ff8d977fdac48b1ce Mon Sep 17 00:00:00 2001 From: Ville Fokke Saarivaara Date: Sat, 14 Aug 2021 14:48:44 +0300 Subject: [PATCH 08/15] Remove beeper --- package-lock.json | 40 ---------------------------------------- package.json | 1 - 2 files changed, 41 deletions(-) diff --git a/package-lock.json b/package-lock.json index 38beb45..a527702 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,6 @@ "@babel/plugin-transform-object-assign": "^7.12.13", "@babel/plugin-transform-parameters": "^7.13.0", "@babel/preset-env": "^7.13.9", - "beeper": "^3.0.0", "browser-sync": "^2.26.7", "gulp": "^4.0.2", "gulp-babel": "^8.0.0", @@ -2203,21 +2202,6 @@ "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", "dev": true }, - "node_modules/beeper": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/beeper/-/beeper-3.0.0.tgz", - "integrity": "sha512-8d0BXEuBIiPfmKvATnSCN58sGKCB3vy+lwORdSvfC5uN6OMlPj9/aVMXsmvt5dIvjjyxiuKYfMVWpiAh/kJr5w==", - "dev": true, - "dependencies": { - "yoctodelay": "^1.2.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -11349,15 +11333,6 @@ "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=", "dev": true - }, - "node_modules/yoctodelay": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/yoctodelay/-/yoctodelay-1.2.0.tgz", - "integrity": "sha512-12y/P9MSig9/5BEhBgylss+fkHiCRZCvYR81eH35NW9uw801cvJt31EAV+WOLcwZRZbLiIQl/hxcdXXXFmGvXg==", - "dev": true, - "engines": { - "node": ">=4" - } } }, "dependencies": { @@ -12919,15 +12894,6 @@ "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", "dev": true }, - "beeper": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/beeper/-/beeper-3.0.0.tgz", - "integrity": "sha512-8d0BXEuBIiPfmKvATnSCN58sGKCB3vy+lwORdSvfC5uN6OMlPj9/aVMXsmvt5dIvjjyxiuKYfMVWpiAh/kJr5w==", - "dev": true, - "requires": { - "yoctodelay": "^1.2.0" - } - }, "binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -20376,12 +20342,6 @@ "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=", "dev": true - }, - "yoctodelay": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/yoctodelay/-/yoctodelay-1.2.0.tgz", - "integrity": "sha512-12y/P9MSig9/5BEhBgylss+fkHiCRZCvYR81eH35NW9uw801cvJt31EAV+WOLcwZRZbLiIQl/hxcdXXXFmGvXg==", - "dev": true } } } diff --git a/package.json b/package.json index 7a6403f..8ebe911 100755 --- a/package.json +++ b/package.json @@ -24,7 +24,6 @@ "@babel/plugin-transform-object-assign": "^7.12.13", "@babel/plugin-transform-parameters": "^7.13.0", "@babel/preset-env": "^7.13.9", - "beeper": "^3.0.0", "browser-sync": "^2.26.7", "gulp": "^4.0.2", "gulp-babel": "^8.0.0", From 168ef49bc5590c507c49f1f67dda981df57928b6 Mon Sep 17 00:00:00 2001 From: Ville Fokke Saarivaara Date: Sat, 14 Aug 2021 14:49:00 +0300 Subject: [PATCH 09/15] Fix css build --- gulpfile.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/gulpfile.js b/gulpfile.js index e7ca147..a7a7909 100755 --- a/gulpfile.js +++ b/gulpfile.js @@ -1,10 +1,9 @@ const gulp = require('gulp') const sizereport = require('gulp-sizereport') const plumber = require('gulp-plumber') -const beeper = require('beeper') const notify = require('gulp-notify') const sourcemaps = require('gulp-sourcemaps') -const sass = require('gulp-sass') +const sass = require('gulp-sass')(require('sass')); const browserSync = require('browser-sync').create() const cleanCSS = require('gulp-clean-css') const terser = require('gulp-terser') @@ -59,7 +58,6 @@ function plumbError () { title: 'Gulp error in ' + err.plugin, message: err.formatted, })(err) - beeper() this.emit('end') }, }) From bbbb4c0e2224c71fc8cd77c30f7631fe56df5c18 Mon Sep 17 00:00:00 2001 From: Ville Fokke Saarivaara Date: Sat, 14 Aug 2021 14:50:12 +0300 Subject: [PATCH 10/15] Bump version --- README.md | 6 +++--- package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 989e466..fcb3f18 100644 --- a/README.md +++ b/README.md @@ -75,7 +75,7 @@ Check `/demo/minimal.html` for minimal working example. Note that it's highly re #### ...or include CSS from CDN ```html - + ``` ### 2. Include JS @@ -100,10 +100,10 @@ import Bartender from '@fokke-/bartender.js' ```html - + - + ``` ### 3. Set the required wrapper elements diff --git a/package.json b/package.json index 8ebe911..fb63e34 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@fokke-/bartender.js", - "version": "1.0.7", + "version": "1.0.8", "description": "Accessible off-canvas bars", "author": "Ville Fokke Saarivaara", "license": "MIT", From cbf996cb371249880a1e4afdbf3dc5300a34e506 Mon Sep 17 00:00:00 2001 From: Ville Fokke Saarivaara Date: Sat, 14 Aug 2021 14:54:13 +0300 Subject: [PATCH 11/15] Add editor config --- .gitignore | 1 - .vscode/settings.json | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 .vscode/settings.json diff --git a/.gitignore b/.gitignore index a54b813..f91f696 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,3 @@ .DS_Store -.vscode /node_modules /test diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..e23b7c4 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,14 @@ +{ + "editor.insertSpaces": true, + "editor.detectIndentation": false, + "files.associations": { + ".sasslintrc": "json", + }, + "search.exclude": { + "**/node_modules": true, + "**/dist": true, + "**/demo": true + }, + "search.useIgnoreFiles": false, + "files.trimTrailingWhitespace": true +} From 6a9784008fb3df3e99c3cc97b417c4af6028b28c Mon Sep 17 00:00:00 2001 From: Ville Fokke Saarivaara Date: Sat, 14 Aug 2021 15:08:35 +0300 Subject: [PATCH 12/15] Remove transitions when user prefers reduced motion --- scss/bartender.scss | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/scss/bartender.scss b/scss/bartender.scss index 05d0dd2..1d73aad 100644 --- a/scss/bartender.scss +++ b/scss/bartender.scss @@ -12,6 +12,17 @@ body { margin: 0; } +// Add transitions +.bartender-content, +[data-bartender-bar], +[data-bartender-push] { + transition: $bartender-transition; + + @media (prefers-reduced-motion) { + transition: none; + } +} + .bartender-main { position: relative; width: 100%; @@ -27,7 +38,6 @@ body { position: relative; width: 100%; min-height: calc(100vh - calc(100vh - 100%)); - transition: $bartender-transition; will-change: transform; background: #fff; @@ -41,7 +51,6 @@ body { position: fixed; background: #000; color: #fff; - transition: $bartender-transition; will-change: transform; overflow: auto; @@ -114,10 +123,6 @@ body { } } -[data-bartender-push] { - transition: $bartender-transition; -} - .bartender-overlay { z-index: 9999; visibility: hidden; From c74fc883cb621761e80fce7d881e8431bf348b92 Mon Sep 17 00:00:00 2001 From: Ville Fokke Saarivaara Date: Sat, 14 Aug 2021 15:14:36 +0300 Subject: [PATCH 13/15] Documention for reduced motion --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index fcb3f18..8050a3b 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ The following accessibility concerns have been taken into account: - When bar is open, it's child elements are focusable, and the focus will be initially set on the bar element - Optionally trap focus to the open bar - After closing the bar the focus will return to the button which was used to open the bar +- All transitions are disabled if user prefers reduced motion ## Browser support @@ -321,6 +322,9 @@ bartender.removeBar('right', false) ## Styling +Please note that all transitions are disabled, if user prefers reduced motion. [Read more about reduced motion](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion). + + ### Bars ```css From 739b4cea809e1d5cdaf413378899fff2cb9b611e Mon Sep 17 00:00:00 2001 From: Ville Fokke Saarivaara Date: Sat, 14 Aug 2021 15:36:26 +0300 Subject: [PATCH 14/15] Documentation for pushable elements. Fixes #7 --- README.md | 10 +++++++++- src/bartender.js | 1 - 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8050a3b..65e4192 100644 --- a/README.md +++ b/README.md @@ -169,7 +169,15 @@ If you want to create button (or any other element) to close any open bar, add ` ``` -### 7. Initialize Bartender +### 7. Add pushable elements (optional) + +If you have elements with fixed positioning (e.g. toolbar) and bar is opened, these elements will stay in place. If you want them to be moved alongside the bar, add `data-bartender-push` attribute to the fixed elements, and **place them as direct children of Bartender main element.** + +```html +
+``` + +### 8. Initialize Bartender ```javascript // Use default options diff --git a/src/bartender.js b/src/bartender.js index 354310f..5075f8a 100644 --- a/src/bartender.js +++ b/src/bartender.js @@ -79,7 +79,6 @@ class Bartender { this.toggleButtons = [] // Array for storing pushable elements - // These elements will be moved when bar with "push" or "reveal" mode is being opened. this.pushElements = [] // Valid bar positions From d71ee9b99ba3ab6b95789f8012cc0ff74332c179 Mon Sep 17 00:00:00 2001 From: Ville Fokke Saarivaara Date: Sat, 14 Aug 2021 15:37:03 +0300 Subject: [PATCH 15/15] Build --- dist/bartender.compat.js | 1 - dist/bartender.compat.js.map | 2 +- dist/bartender.min.css | 2 +- dist/bartender.min.css.map | 2 +- dist/bartender.min.js.map | 2 +- dist/bartender.module.js | 1 - dist/bartender.module.js.map | 2 +- dist/bartender.scss | 17 +++++++++++------ 8 files changed, 16 insertions(+), 13 deletions(-) diff --git a/dist/bartender.compat.js b/dist/bartender.compat.js index f0a79a9..6eaaefa 100644 --- a/dist/bartender.compat.js +++ b/dist/bartender.compat.js @@ -72,7 +72,6 @@ var Bartender = /*#__PURE__*/function () { this.openButtons = []; this.closeButtons = []; this.toggleButtons = []; // Array for storing pushable elements - // These elements will be moved when bar with "push" or "reveal" mode is being opened. this.pushElements = []; // Valid bar positions diff --git a/dist/bartender.compat.js.map b/dist/bartender.compat.js.map index ec761dc..34eb2d7 100644 --- a/dist/bartender.compat.js.map +++ b/dist/bartender.compat.js.map @@ -1 +1 @@ -{"version":3,"sources":["bartender.compat.js"],"names":["Bartender","options","window","CustomEvent","event","params","bubbles","cancelable","detail","evt","document","createEvent","initCustomEvent","debug","overlay","closeOnOverlayClick","closeOnEsc","trapFocus","scrollTop","mainWrapSelector","contentWrapSelector","focusableElementSelector","readyClass","openClass","currentOpenBar","previousOpenButton","resizeTimeout","bars","openButtons","closeButtons","toggleButtons","pushElements","validBarPositions","validModes","contentWrapMutationObserver","init","text","console","log","error","elements","startTime","performance","now","iterationCount","i","length","element","matches","getAttribute","setAttribute","endTime","removeAttribute","position","indexOf","mainWrap","querySelector","classList","add","contentWrap","querySelectorAll","addBar","button","isValidPosition","logError","join","addEventListener","open","toggle","close","createElement","appendChild","key","keyCode","clearTimeout","setTimeout","setPush","MutationObserver","mutationsList","mutation","type","addedNodes","disableFocus","observe","attributes","childList","subtree","newElement","style","transition","mode","newBar","mutationObserver","removeElement","removeChild","bar","enableFocus","focus","showOverlay","dispatchEvent","enableFocusOfContentWrap","hideOverlay","removeProperty","remove","transform","overflow","offsetWidth","offsetHeight","contains"],"mappings":"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","sourcesContent":["'use strict'\n\n/**\n * Class for creating accessible off-canvas bars.\n */\nclass Bartender {\n\n /**\n * @param {object} options - User defined options\n */\n constructor (options) {\n // Polyfill custom events\n if (typeof window.CustomEvent !== 'function') {\n window.CustomEvent = function (event, params) {\n params = params || {\n bubbles: false,\n cancelable: false,\n detail: null,\n }\n\n var evt = document.createEvent('CustomEvent')\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail)\n return evt\n }\n }\n\n // Apply user configuration\n this.options = Object.assign({\n // Debug mode\n debug: false,\n\n // Show shading overlay over content wrapper when bar is open?\n overlay: true,\n\n // Close open bar by clicking the overlay?\n closeOnOverlayClick: true,\n\n // Close open bar with escape key?\n closeOnEsc: true,\n\n // Trap focus to the open bar?\n trapFocus: false,\n\n // Scroll bar to the top when opening it?\n scrollTop: true,\n\n // Selector to find main wrapper\n mainWrapSelector: '.bartender-main',\n\n // Selector to find content wrapper\n contentWrapSelector: '.bartender-content',\n\n // Selector for focusable elements\n focusableElementSelector: '[href], button, input, textarea, select, details, [tabindex]:not([tabindex=\"-1\"])',\n\n // Classes\n readyClass: 'bartender-ready',\n openClass: 'bartender-open',\n }, options)\n\n // Overlay element\n this.overlay = null\n\n // Currently open bar\n this.currentOpenBar = null\n\n // Button which was previously used to open the bar\n this.previousOpenButton = null\n\n // Window resize timeout\n this.resizeTimeout = null\n\n // Object for storing the bars\n this.bars = {}\n\n // Arrays for storing buttons\n this.openButtons = []\n this.closeButtons = []\n this.toggleButtons = []\n\n // Array for storing pushable elements\n // These elements will be moved when bar with \"push\" or \"reveal\" mode is being opened.\n this.pushElements = []\n\n // Valid bar positions\n this.validBarPositions = [\n 'left',\n 'right',\n 'top',\n 'bottom',\n ]\n\n // Valid bar modes\n this.validModes = [\n 'float',\n 'push',\n 'reveal',\n ]\n\n // Mutation observer for content wrap\n this.contentWrapMutationObserver = null\n\n // Run initializer\n this.init()\n }\n\n /**\n * Log to console\n *\n * @param {string} text - Text to log\n * @returns {void}\n */\n log (text = '') {\n console.log('Bartender: ' + text)\n }\n\n /**\n * Log error to console\n *\n * @param {string} text - Text to log\n * @returns {void}\n */\n logError (text = '') {\n console.error('Bartender: ' + text)\n }\n\n /**\n * Log debug message to console\n *\n * @param {string} text - Text to log\n * @returns {void}\n */\n debug (text = '') {\n if (!this.options.debug) return\n\n console.log('Bartender debug: ' + text)\n }\n\n /**\n * Disable focus of elements\n *\n * @param {array} Array of DOM elements\n * @returns {void}\n */\n disableFocus (elements = []) {\n const startTime = performance.now()\n\n let iterationCount = 0\n\n for (let i = 0; i < elements.length; i++) {\n let element = elements[i]\n\n // Discard element if it's not focusable, or if it's already disabled\n if (typeof element.matches !== 'function' || !element.matches(this.options.focusableElementSelector) || element.getAttribute('data-bartender-prevtabindex')) continue\n\n element.setAttribute('data-bartender-prevtabindex', element.getAttribute('tabindex'))\n element.setAttribute('tabindex', '-1')\n\n iterationCount++\n }\n\n const endTime = performance.now()\n\n if (iterationCount > 0) {\n this.debug('Disabled focus of ' + iterationCount + ' elements in ' + (endTime - startTime))\n }\n }\n\n /**\n * Enable focus of elements\n *\n * @param {array} Array of DOM elements\n * @returns {void}\n */\n enableFocus (elements = []) {\n const startTime = performance.now()\n\n let iterationCount = 0\n\n for (let i = 0; i < elements.length; i++) {\n let element = elements[i]\n\n // If element has previous tabindex marked, return it. Otherwise just remove tabindex attribute.\n if (element.getAttribute('data-bartender-prevtabindex') != 'null') {\n element.setAttribute('tabindex', element.getAttribute('data-bartender-prevtabindex'))\n } else {\n element.removeAttribute('tabindex')\n }\n\n element.removeAttribute('data-bartender-prevtabindex')\n\n iterationCount++\n }\n\n const endTime = performance.now()\n\n if (iterationCount > 0) {\n this.debug('Enabled focus of ' + iterationCount + ' elements in ' + (endTime - startTime))\n }\n }\n\n /**\n * Is defined bar position valid?\n *\n * @param {string} position - Position to validate\n * @returns {boolean}\n */\n isValidPosition (position = null) {\n return this.validBarPositions.indexOf(position) >= 0\n }\n\n /**\n * Initialize Bartender\n *\n * @returns {object} Bartender instance\n */\n init () {\n try {\n // Main wrap\n this.mainWrap = document.querySelector(this.options.mainWrapSelector)\n if (!this.mainWrap) throw 'Main wrap element was not found with selector: ' + this.options.mainWrapSelector\n this.mainWrap.classList.add('bartender-main')\n\n // Content wrap\n this.contentWrap = this.mainWrap.querySelector(this.options.contentWrapSelector)\n if (!this.contentWrap) throw 'Content wrap element was not found with selector: ' + this.options.contentWrapSelector\n this.contentWrap.classList.add('bartender-content')\n this.contentWrap.setAttribute('tabindex', '-1')\n\n // Find buttons\n this.openButtons = this.mainWrap.querySelectorAll('[data-bartender-open]')\n this.closeButtons = this.mainWrap.querySelectorAll('[data-bartender-close]')\n this.toggleButtons = this.mainWrap.querySelectorAll('[data-bartender-toggle]')\n\n // Find bars\n const bars = this.mainWrap.querySelectorAll('[data-bartender-bar]')\n\n for (let i = 0; i < bars.length; i++) {\n this.addBar(bars[i])\n }\n\n // Open buttons\n for (let i = 0; i < this.openButtons.length; i++) {\n let button = this.openButtons[i]\n let position = button.getAttribute('data-bartender-open')\n\n if (!this.isValidPosition(position)) {\n this.logError('Open button has invalid bar position \\'' + position + '\\' defined. Use one of the following values: ' + this.validBarPositions.join(', '))\n return\n }\n\n button.setAttribute('aria-expanded', 'false')\n button.addEventListener('click', () => {\n this.open(position, button)\n })\n }\n\n // Toggle buttons\n for (let i = 0; i < this.toggleButtons.length; i++) {\n let button = this.toggleButtons[i]\n let position = button.getAttribute('data-bartender-toggle')\n\n if (!this.isValidPosition(position)) {\n this.logError('Toggle button has invalid bar position \\'' + position + '\\' defined. Use one of the following values: ' + this.validBarPositions.join(', '))\n return\n }\n\n button.setAttribute('aria-expanded', 'false')\n button.addEventListener('click', () => {\n this.toggle(position, button)\n })\n }\n\n // Close buttons\n for (let i = 0; i < this.closeButtons.length; i++) {\n let button = this.closeButtons[i]\n\n button.addEventListener('click', () => {\n this.close()\n })\n }\n\n // Find pushable elements\n this.pushElements = this.mainWrap.querySelectorAll('[data-bartender-push]')\n\n if (this.pushElements.length) this.debug('Registered ' + this.pushElements.length + ' pushable elements.')\n\n // Add overlay\n if (this.options.overlay && !this.overlay) {\n this.overlay = document.createElement('div')\n this.overlay.classList.add('bartender-overlay')\n\n if (this.options.closeOnOverlayClick === true) {\n this.overlay.addEventListener('click', () => this.close())\n }\n\n this.contentWrap.appendChild(this.overlay)\n }\n\n // Enable closing the bar with escape key\n if (this.options.closeOnEsc) {\n window.addEventListener('keydown', event => {\n let key = event.key || event.keyCode\n\n if (key === 'Escape' || key === 'Esc' || key === 27) {\n this.close()\n }\n })\n }\n\n // Adjust content wrapper transform when window is resized\n window.addEventListener('resize', () => {\n clearTimeout(this.resizeTimeout)\n\n this.resizeTimeout = setTimeout(() => {\n this.setPush()\n }, 200)\n })\n\n // Add mutation observer for content wrapper\n if (this.options.trapFocus === true) {\n this.contentWrapMutationObserver = new MutationObserver((mutationsList) => {\n if (!this.currentOpenBar) return\n\n for (let i = 0; i < mutationsList.length; i++) {\n let mutation = mutationsList[i]\n\n if (mutation.type === 'childList') {\n if (mutation.addedNodes && mutation.addedNodes.length) {\n this.disableFocus(mutation.addedNodes)\n }\n }\n }\n })\n\n this.contentWrapMutationObserver.observe(this.contentWrap, {\n attributes: false,\n childList: true,\n subtree: true,\n })\n }\n\n // Add class to the main wrap\n this.mainWrap.classList.add(this.options.readyClass)\n } catch (error) {\n this.logError(error)\n }\n\n return this\n }\n\n /**\n * Add a new off-canvas bar\n *\n * @param {object} element - DOM element. If undefined, the element will be created.\n * @param {object} options - Bar options\n * @returns {object} Added bar instance\n */\n addBar (element = null, options = {}) {\n try {\n // If element doesn't exist, create it\n let newElement = false\n\n if (element === null) {\n newElement = true\n element = document.createElement('div')\n }\n\n // Initially remove transition\n element.style.transition = 'none'\n\n // Get bar configuration\n let position = options.position || element.getAttribute('data-bartender-bar')\n let mode = options.mode || element.getAttribute('data-bartender-bar-mode')\n\n // If mode is not specified, fall back to 'float'\n mode = mode || 'float'\n\n // Validate configuration\n if (!this.isValidPosition(position)) throw 'Invalid bar position \\'' + position + '\\'. Use one of the following values: ' + this.validBarPositions.join(', ')\n if (this.validModes.indexOf(mode) < 0) throw 'Invalid mode \\'' + mode + '\\' for bar \\'' + position + '\\'. Use one of the following values: ' + this.validModes.join(', ')\n if (this.bars[position]) throw 'Bar with position \\'' + position + '\\' is already defined'\n\n // Initially disable focus of the bar and it's child elements\n element.setAttribute('tabindex', '-1')\n element.setAttribute('aria-hidden', 'true')\n this.disableFocus(element.querySelectorAll(this.options.focusableElementSelector))\n\n // Set data-attributes\n element.setAttribute('data-bartender-bar', position)\n element.setAttribute('data-bartender-bar-mode', mode)\n\n // If element is new, append to main container\n if (newElement === true) this.mainWrap.appendChild(element)\n\n // Return transition\n setTimeout(() => {\n element.style.transition = null\n })\n\n // Create new bar object\n const newBar = {\n element: element,\n position: position,\n mode: mode,\n mutationObserver: new MutationObserver((mutationsList) => {\n if (this.currentOpenBar && this.currentOpenBar.position === position) return\n\n for (let i = 0; i < mutationsList.length; i++) {\n let mutation = mutationsList[i]\n\n if (mutation.type === 'childList') {\n if (mutation.addedNodes && mutation.addedNodes.length) {\n this.disableFocus(mutation.addedNodes)\n }\n }\n }\n }),\n }\n\n newBar.mutationObserver.observe(newBar.element, {\n attributes: false,\n childList: true,\n subtree: true,\n })\n\n this.bars[position] = newBar\n\n this.debug('Added bar \\'' + position + '\\' with mode \\'' + mode + '\\'')\n\n return newBar\n } catch (error) {\n this.logError(error)\n\n return null\n }\n }\n\n /**\n * Remove bar\n *\n * @param {string} position - Bar position to remove\n * @param {boolean} removeElement - Remove DOM element?\n * @returns {void}\n */\n removeBar (position = null, removeElement = true) {\n try {\n // If this bar is currently open, close it first\n if (this.currentOpenBar && this.currentOpenBar.position === position) {\n this.close()\n }\n\n // Validate position\n if (!this.isValidPosition(position)) throw 'Invalid bar position \\'' + position + '\\'. Use one of the following values: ' + this.validBarPositions.join(', ')\n if (!this.bars[position]) throw 'Bar with position \\'' + position + '\\' doesn\\'t exist'\n\n if (removeElement === true) {\n this.mainWrap.removeChild(this.bars[position].element)\n }\n\n delete this.bars[position]\n\n this.debug('Removed bar with position \\'' + position + '\\'')\n } catch (error) {\n this.logError(error)\n }\n }\n\n /**\n * Open off-canvas bar\n *\n * @param {string} position - Bar position\n * @param {object} button - Button which was used to run this method\n * @returns {object} Opened bar instance\n */\n open (position = '', button = null) {\n try {\n // Validate position\n if (!this.isValidPosition(position)) throw 'Invalid bar position \\'' + position + '\\'. Use one of the following values: ' + this.validBarPositions.join(', ')\n\n // Get bar instance\n const bar = this.bars[position]\n\n if (!bar) throw 'Bar with position \\'' + position + '\\' is not defined.'\n\n // Close other bars\n if (this.currentOpenBar) {\n this.close(false)\n } else if (this.options.trapFocus === true) {\n this.disableFocus(this.contentWrap.querySelectorAll(this.options.focusableElementSelector))\n }\n\n this.contentWrap.setAttribute('aria-hidden', 'true')\n\n this.debug('Opening bar \\'' + position + '\\'')\n\n // Mark this bar as open\n this.currentOpenBar = bar\n bar.element.classList.add('bartender-bar--open')\n\n // Scroll to top\n if (this.options.scrollTop) {\n bar.element.scrollTop = 0\n }\n\n // Focus on bar\n bar.element.removeAttribute('aria-hidden')\n this.enableFocus(bar.element.querySelectorAll('[data-bartender-prevtabindex]'))\n bar.element.focus()\n\n // Push elements\n this.setPush()\n\n // Remember the button which was used to open the bar\n this.previousOpenButton = button\n\n // Set ARIA attributes of the button\n if (button) button.setAttribute('aria-expanded', true)\n\n // Show overlay\n this.showOverlay()\n\n // Add class to the main element\n this.mainWrap.classList.add(this.options.openClass)\n\n // Dispatch event\n this.mainWrap.dispatchEvent(new CustomEvent('bartender-open', {\n bubbles: true,\n detail: {\n bar: bar,\n button: button,\n },\n }))\n\n return bar\n } catch (error) {\n this.logError(error)\n }\n }\n\n /**\n * Toggle off-canvas bar\n *\n * @param {string} position - Bar position\n * @param {object} button - Button which was used to run this method\n * @returns {object} Toggled bar instance\n */\n toggle (position = null, button = null) {\n try {\n if (!this.isValidPosition(position)) throw 'Invalid bar position \\'' + position + '\\'. Use one of the following values: ' + this.validBarPositions.join(', ')\n\n if (this.currentOpenBar && this.currentOpenBar.position == position) {\n return this.close()\n } else {\n this.close()\n return this.open(position, button)\n }\n } catch (error) {\n this.logError(error)\n }\n }\n\n /**\n * Close any open off-canvas bar\n *\n * @param {boolean} enableFocusOfContentWrap - Enable focus of content wrap\n * @returns {object} Closed bar\n */\n close (enableFocusOfContentWrap = true) {\n try {\n if (!this.currentOpenBar) return\n\n let bar = this.bars[this.currentOpenBar.position]\n\n this.debug('Closing bar \\'' + bar.position + '\\'')\n\n // Dispatch event\n this.mainWrap.dispatchEvent(new CustomEvent('bartender-close', {\n bubbles: true,\n detail: {\n bar: bar,\n },\n }))\n\n // Hide overlay\n this.hideOverlay()\n\n // Remove transform from wrapper element\n this.contentWrap.style.removeProperty('transform')\n\n // Remove transforms from pushable elements\n for (let i = 0; i < this.pushElements.length; i++) {\n this.pushElements[i].style.removeProperty('transform')\n }\n\n // Disable focus of bar element\n this.disableFocus(bar.element.querySelectorAll(this.options.focusableElementSelector))\n bar.element.setAttribute('tabindex', '-1')\n bar.element.setAttribute('aria-hidden', 'true')\n\n // Enable focus on content element\n this.contentWrap.removeAttribute('aria-hidden')\n\n if (this.options.trapFocus === true && enableFocusOfContentWrap === true) {\n this.enableFocus(this.contentWrap.querySelectorAll('[data-bartender-prevtabindex]'))\n }\n\n // Close the bar\n bar.element.classList.remove('bartender-bar--open')\n this.currentOpenBar = null\n\n // Restore scrolling to the main wrap\n this.mainWrap.style.removeProperty('overflow')\n\n // Remove class from the main wrap\n this.mainWrap.classList.remove(this.options.openClass)\n\n // Focus open button which was used to open the bar\n if (this.previousOpenButton && this.previousOpenButton.getAttribute('tabindex') >= 0) {\n this.previousOpenButton.focus()\n this.previousOpenButton.setAttribute('aria-expanded', 'false')\n this.previousOpenButton = null\n } else if (enableFocusOfContentWrap === true) {\n // Bar was closed using keyboard or API. Focus on content wrapper instead.\n this.contentWrap.focus()\n }\n\n return bar\n } catch (error) {\n this.logError(error)\n }\n }\n\n /**\n * Set transforms for pushable elements\n *\n * @returns {void}\n */\n setPush () {\n if (!this.currentOpenBar || !this.currentOpenBar.mode) return\n\n let transform = null\n\n // Hide overflow of main wrapper\n // This has to be done first in order to get correct width/height\n this.mainWrap.style.overflow = 'hidden'\n\n switch (this.currentOpenBar.position) {\n case 'left':\n transform = 'translateX(' + this.currentOpenBar.element.offsetWidth + 'px)'\n break\n\n case 'right':\n transform = 'translateX(-' + this.currentOpenBar.element.offsetWidth + 'px)'\n break\n\n case 'top':\n transform = 'translateY(' + this.currentOpenBar.element.offsetHeight + 'px)'\n break\n\n case 'bottom':\n transform = 'translateY(-' + this.currentOpenBar.element.offsetHeight + 'px)'\n break\n }\n\n if ([\n 'push',\n 'reveal',\n ].indexOf(this.currentOpenBar.mode) >= 0) {\n // Transform content wrapper\n this.contentWrap.style.transform = transform\n }\n\n // Transform other pushable elements\n for (let i = 0; i < this.pushElements.length; i++) {\n this.pushElements[i].style.transform = transform\n }\n }\n\n /**\n * Show shading overlay\n *\n * @returns {void}\n */\n showOverlay () {\n if (!this.overlay) return\n if (this.overlay.classList.contains('bartender-overlay--visible')) return\n\n this.overlay.classList.add('bartender-overlay--visible')\n }\n\n /**\n * Hide shading overlay\n *\n * @returns {void}\n */\n hideOverlay () {\n if (!this.overlay) return\n if (!this.overlay.classList.contains('bartender-overlay--visible')) return\n\n this.overlay.classList.remove('bartender-overlay--visible')\n }\n}\n"],"file":"bartender.compat.js"} \ No newline at end of file +{"version":3,"sources":["bartender.compat.js"],"names":["Bartender","options","window","CustomEvent","event","params","bubbles","cancelable","detail","evt","document","createEvent","initCustomEvent","debug","overlay","closeOnOverlayClick","closeOnEsc","trapFocus","scrollTop","mainWrapSelector","contentWrapSelector","focusableElementSelector","readyClass","openClass","currentOpenBar","previousOpenButton","resizeTimeout","bars","openButtons","closeButtons","toggleButtons","pushElements","validBarPositions","validModes","contentWrapMutationObserver","init","text","console","log","error","elements","startTime","performance","now","iterationCount","i","length","element","matches","getAttribute","setAttribute","endTime","removeAttribute","position","indexOf","mainWrap","querySelector","classList","add","contentWrap","querySelectorAll","addBar","button","isValidPosition","logError","join","addEventListener","open","toggle","close","createElement","appendChild","key","keyCode","clearTimeout","setTimeout","setPush","MutationObserver","mutationsList","mutation","type","addedNodes","disableFocus","observe","attributes","childList","subtree","newElement","style","transition","mode","newBar","mutationObserver","removeElement","removeChild","bar","enableFocus","focus","showOverlay","dispatchEvent","enableFocusOfContentWrap","hideOverlay","removeProperty","remove","transform","overflow","offsetWidth","offsetHeight","contains"],"mappings":"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","sourcesContent":["'use strict'\n\n/**\n * Class for creating accessible off-canvas bars.\n */\nclass Bartender {\n\n /**\n * @param {object} options - User defined options\n */\n constructor (options) {\n // Polyfill custom events\n if (typeof window.CustomEvent !== 'function') {\n window.CustomEvent = function (event, params) {\n params = params || {\n bubbles: false,\n cancelable: false,\n detail: null,\n }\n\n var evt = document.createEvent('CustomEvent')\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail)\n return evt\n }\n }\n\n // Apply user configuration\n this.options = Object.assign({\n // Debug mode\n debug: false,\n\n // Show shading overlay over content wrapper when bar is open?\n overlay: true,\n\n // Close open bar by clicking the overlay?\n closeOnOverlayClick: true,\n\n // Close open bar with escape key?\n closeOnEsc: true,\n\n // Trap focus to the open bar?\n trapFocus: false,\n\n // Scroll bar to the top when opening it?\n scrollTop: true,\n\n // Selector to find main wrapper\n mainWrapSelector: '.bartender-main',\n\n // Selector to find content wrapper\n contentWrapSelector: '.bartender-content',\n\n // Selector for focusable elements\n focusableElementSelector: '[href], button, input, textarea, select, details, [tabindex]:not([tabindex=\"-1\"])',\n\n // Classes\n readyClass: 'bartender-ready',\n openClass: 'bartender-open',\n }, options)\n\n // Overlay element\n this.overlay = null\n\n // Currently open bar\n this.currentOpenBar = null\n\n // Button which was previously used to open the bar\n this.previousOpenButton = null\n\n // Window resize timeout\n this.resizeTimeout = null\n\n // Object for storing the bars\n this.bars = {}\n\n // Arrays for storing buttons\n this.openButtons = []\n this.closeButtons = []\n this.toggleButtons = []\n\n // Array for storing pushable elements\n this.pushElements = []\n\n // Valid bar positions\n this.validBarPositions = [\n 'left',\n 'right',\n 'top',\n 'bottom',\n ]\n\n // Valid bar modes\n this.validModes = [\n 'float',\n 'push',\n 'reveal',\n ]\n\n // Mutation observer for content wrap\n this.contentWrapMutationObserver = null\n\n // Run initializer\n this.init()\n }\n\n /**\n * Log to console\n *\n * @param {string} text - Text to log\n * @returns {void}\n */\n log (text = '') {\n console.log('Bartender: ' + text)\n }\n\n /**\n * Log error to console\n *\n * @param {string} text - Text to log\n * @returns {void}\n */\n logError (text = '') {\n console.error('Bartender: ' + text)\n }\n\n /**\n * Log debug message to console\n *\n * @param {string} text - Text to log\n * @returns {void}\n */\n debug (text = '') {\n if (!this.options.debug) return\n\n console.log('Bartender debug: ' + text)\n }\n\n /**\n * Disable focus of elements\n *\n * @param {array} Array of DOM elements\n * @returns {void}\n */\n disableFocus (elements = []) {\n const startTime = performance.now()\n\n let iterationCount = 0\n\n for (let i = 0; i < elements.length; i++) {\n let element = elements[i]\n\n // Discard element if it's not focusable, or if it's already disabled\n if (typeof element.matches !== 'function' || !element.matches(this.options.focusableElementSelector) || element.getAttribute('data-bartender-prevtabindex')) continue\n\n element.setAttribute('data-bartender-prevtabindex', element.getAttribute('tabindex'))\n element.setAttribute('tabindex', '-1')\n\n iterationCount++\n }\n\n const endTime = performance.now()\n\n if (iterationCount > 0) {\n this.debug('Disabled focus of ' + iterationCount + ' elements in ' + (endTime - startTime))\n }\n }\n\n /**\n * Enable focus of elements\n *\n * @param {array} Array of DOM elements\n * @returns {void}\n */\n enableFocus (elements = []) {\n const startTime = performance.now()\n\n let iterationCount = 0\n\n for (let i = 0; i < elements.length; i++) {\n let element = elements[i]\n\n // If element has previous tabindex marked, return it. Otherwise just remove tabindex attribute.\n if (element.getAttribute('data-bartender-prevtabindex') != 'null') {\n element.setAttribute('tabindex', element.getAttribute('data-bartender-prevtabindex'))\n } else {\n element.removeAttribute('tabindex')\n }\n\n element.removeAttribute('data-bartender-prevtabindex')\n\n iterationCount++\n }\n\n const endTime = performance.now()\n\n if (iterationCount > 0) {\n this.debug('Enabled focus of ' + iterationCount + ' elements in ' + (endTime - startTime))\n }\n }\n\n /**\n * Is defined bar position valid?\n *\n * @param {string} position - Position to validate\n * @returns {boolean}\n */\n isValidPosition (position = null) {\n return this.validBarPositions.indexOf(position) >= 0\n }\n\n /**\n * Initialize Bartender\n *\n * @returns {object} Bartender instance\n */\n init () {\n try {\n // Main wrap\n this.mainWrap = document.querySelector(this.options.mainWrapSelector)\n if (!this.mainWrap) throw 'Main wrap element was not found with selector: ' + this.options.mainWrapSelector\n this.mainWrap.classList.add('bartender-main')\n\n // Content wrap\n this.contentWrap = this.mainWrap.querySelector(this.options.contentWrapSelector)\n if (!this.contentWrap) throw 'Content wrap element was not found with selector: ' + this.options.contentWrapSelector\n this.contentWrap.classList.add('bartender-content')\n this.contentWrap.setAttribute('tabindex', '-1')\n\n // Find buttons\n this.openButtons = this.mainWrap.querySelectorAll('[data-bartender-open]')\n this.closeButtons = this.mainWrap.querySelectorAll('[data-bartender-close]')\n this.toggleButtons = this.mainWrap.querySelectorAll('[data-bartender-toggle]')\n\n // Find bars\n const bars = this.mainWrap.querySelectorAll('[data-bartender-bar]')\n\n for (let i = 0; i < bars.length; i++) {\n this.addBar(bars[i])\n }\n\n // Open buttons\n for (let i = 0; i < this.openButtons.length; i++) {\n let button = this.openButtons[i]\n let position = button.getAttribute('data-bartender-open')\n\n if (!this.isValidPosition(position)) {\n this.logError('Open button has invalid bar position \\'' + position + '\\' defined. Use one of the following values: ' + this.validBarPositions.join(', '))\n return\n }\n\n button.setAttribute('aria-expanded', 'false')\n button.addEventListener('click', () => {\n this.open(position, button)\n })\n }\n\n // Toggle buttons\n for (let i = 0; i < this.toggleButtons.length; i++) {\n let button = this.toggleButtons[i]\n let position = button.getAttribute('data-bartender-toggle')\n\n if (!this.isValidPosition(position)) {\n this.logError('Toggle button has invalid bar position \\'' + position + '\\' defined. Use one of the following values: ' + this.validBarPositions.join(', '))\n return\n }\n\n button.setAttribute('aria-expanded', 'false')\n button.addEventListener('click', () => {\n this.toggle(position, button)\n })\n }\n\n // Close buttons\n for (let i = 0; i < this.closeButtons.length; i++) {\n let button = this.closeButtons[i]\n\n button.addEventListener('click', () => {\n this.close()\n })\n }\n\n // Find pushable elements\n this.pushElements = this.mainWrap.querySelectorAll('[data-bartender-push]')\n\n if (this.pushElements.length) this.debug('Registered ' + this.pushElements.length + ' pushable elements.')\n\n // Add overlay\n if (this.options.overlay && !this.overlay) {\n this.overlay = document.createElement('div')\n this.overlay.classList.add('bartender-overlay')\n\n if (this.options.closeOnOverlayClick === true) {\n this.overlay.addEventListener('click', () => this.close())\n }\n\n this.contentWrap.appendChild(this.overlay)\n }\n\n // Enable closing the bar with escape key\n if (this.options.closeOnEsc) {\n window.addEventListener('keydown', event => {\n let key = event.key || event.keyCode\n\n if (key === 'Escape' || key === 'Esc' || key === 27) {\n this.close()\n }\n })\n }\n\n // Adjust content wrapper transform when window is resized\n window.addEventListener('resize', () => {\n clearTimeout(this.resizeTimeout)\n\n this.resizeTimeout = setTimeout(() => {\n this.setPush()\n }, 200)\n })\n\n // Add mutation observer for content wrapper\n if (this.options.trapFocus === true) {\n this.contentWrapMutationObserver = new MutationObserver((mutationsList) => {\n if (!this.currentOpenBar) return\n\n for (let i = 0; i < mutationsList.length; i++) {\n let mutation = mutationsList[i]\n\n if (mutation.type === 'childList') {\n if (mutation.addedNodes && mutation.addedNodes.length) {\n this.disableFocus(mutation.addedNodes)\n }\n }\n }\n })\n\n this.contentWrapMutationObserver.observe(this.contentWrap, {\n attributes: false,\n childList: true,\n subtree: true,\n })\n }\n\n // Add class to the main wrap\n this.mainWrap.classList.add(this.options.readyClass)\n } catch (error) {\n this.logError(error)\n }\n\n return this\n }\n\n /**\n * Add a new off-canvas bar\n *\n * @param {object} element - DOM element. If undefined, the element will be created.\n * @param {object} options - Bar options\n * @returns {object} Added bar instance\n */\n addBar (element = null, options = {}) {\n try {\n // If element doesn't exist, create it\n let newElement = false\n\n if (element === null) {\n newElement = true\n element = document.createElement('div')\n }\n\n // Initially remove transition\n element.style.transition = 'none'\n\n // Get bar configuration\n let position = options.position || element.getAttribute('data-bartender-bar')\n let mode = options.mode || element.getAttribute('data-bartender-bar-mode')\n\n // If mode is not specified, fall back to 'float'\n mode = mode || 'float'\n\n // Validate configuration\n if (!this.isValidPosition(position)) throw 'Invalid bar position \\'' + position + '\\'. Use one of the following values: ' + this.validBarPositions.join(', ')\n if (this.validModes.indexOf(mode) < 0) throw 'Invalid mode \\'' + mode + '\\' for bar \\'' + position + '\\'. Use one of the following values: ' + this.validModes.join(', ')\n if (this.bars[position]) throw 'Bar with position \\'' + position + '\\' is already defined'\n\n // Initially disable focus of the bar and it's child elements\n element.setAttribute('tabindex', '-1')\n element.setAttribute('aria-hidden', 'true')\n this.disableFocus(element.querySelectorAll(this.options.focusableElementSelector))\n\n // Set data-attributes\n element.setAttribute('data-bartender-bar', position)\n element.setAttribute('data-bartender-bar-mode', mode)\n\n // If element is new, append to main container\n if (newElement === true) this.mainWrap.appendChild(element)\n\n // Return transition\n setTimeout(() => {\n element.style.transition = null\n })\n\n // Create new bar object\n const newBar = {\n element: element,\n position: position,\n mode: mode,\n mutationObserver: new MutationObserver((mutationsList) => {\n if (this.currentOpenBar && this.currentOpenBar.position === position) return\n\n for (let i = 0; i < mutationsList.length; i++) {\n let mutation = mutationsList[i]\n\n if (mutation.type === 'childList') {\n if (mutation.addedNodes && mutation.addedNodes.length) {\n this.disableFocus(mutation.addedNodes)\n }\n }\n }\n }),\n }\n\n newBar.mutationObserver.observe(newBar.element, {\n attributes: false,\n childList: true,\n subtree: true,\n })\n\n this.bars[position] = newBar\n\n this.debug('Added bar \\'' + position + '\\' with mode \\'' + mode + '\\'')\n\n return newBar\n } catch (error) {\n this.logError(error)\n\n return null\n }\n }\n\n /**\n * Remove bar\n *\n * @param {string} position - Bar position to remove\n * @param {boolean} removeElement - Remove DOM element?\n * @returns {void}\n */\n removeBar (position = null, removeElement = true) {\n try {\n // If this bar is currently open, close it first\n if (this.currentOpenBar && this.currentOpenBar.position === position) {\n this.close()\n }\n\n // Validate position\n if (!this.isValidPosition(position)) throw 'Invalid bar position \\'' + position + '\\'. Use one of the following values: ' + this.validBarPositions.join(', ')\n if (!this.bars[position]) throw 'Bar with position \\'' + position + '\\' doesn\\'t exist'\n\n if (removeElement === true) {\n this.mainWrap.removeChild(this.bars[position].element)\n }\n\n delete this.bars[position]\n\n this.debug('Removed bar with position \\'' + position + '\\'')\n } catch (error) {\n this.logError(error)\n }\n }\n\n /**\n * Open off-canvas bar\n *\n * @param {string} position - Bar position\n * @param {object} button - Button which was used to run this method\n * @returns {object} Opened bar instance\n */\n open (position = '', button = null) {\n try {\n // Validate position\n if (!this.isValidPosition(position)) throw 'Invalid bar position \\'' + position + '\\'. Use one of the following values: ' + this.validBarPositions.join(', ')\n\n // Get bar instance\n const bar = this.bars[position]\n\n if (!bar) throw 'Bar with position \\'' + position + '\\' is not defined.'\n\n // Close other bars\n if (this.currentOpenBar) {\n this.close(false)\n } else if (this.options.trapFocus === true) {\n this.disableFocus(this.contentWrap.querySelectorAll(this.options.focusableElementSelector))\n }\n\n this.contentWrap.setAttribute('aria-hidden', 'true')\n\n this.debug('Opening bar \\'' + position + '\\'')\n\n // Mark this bar as open\n this.currentOpenBar = bar\n bar.element.classList.add('bartender-bar--open')\n\n // Scroll to top\n if (this.options.scrollTop) {\n bar.element.scrollTop = 0\n }\n\n // Focus on bar\n bar.element.removeAttribute('aria-hidden')\n this.enableFocus(bar.element.querySelectorAll('[data-bartender-prevtabindex]'))\n bar.element.focus()\n\n // Push elements\n this.setPush()\n\n // Remember the button which was used to open the bar\n this.previousOpenButton = button\n\n // Set ARIA attributes of the button\n if (button) button.setAttribute('aria-expanded', true)\n\n // Show overlay\n this.showOverlay()\n\n // Add class to the main element\n this.mainWrap.classList.add(this.options.openClass)\n\n // Dispatch event\n this.mainWrap.dispatchEvent(new CustomEvent('bartender-open', {\n bubbles: true,\n detail: {\n bar: bar,\n button: button,\n },\n }))\n\n return bar\n } catch (error) {\n this.logError(error)\n }\n }\n\n /**\n * Toggle off-canvas bar\n *\n * @param {string} position - Bar position\n * @param {object} button - Button which was used to run this method\n * @returns {object} Toggled bar instance\n */\n toggle (position = null, button = null) {\n try {\n if (!this.isValidPosition(position)) throw 'Invalid bar position \\'' + position + '\\'. Use one of the following values: ' + this.validBarPositions.join(', ')\n\n if (this.currentOpenBar && this.currentOpenBar.position == position) {\n return this.close()\n } else {\n this.close()\n return this.open(position, button)\n }\n } catch (error) {\n this.logError(error)\n }\n }\n\n /**\n * Close any open off-canvas bar\n *\n * @param {boolean} enableFocusOfContentWrap - Enable focus of content wrap\n * @returns {object} Closed bar\n */\n close (enableFocusOfContentWrap = true) {\n try {\n if (!this.currentOpenBar) return\n\n let bar = this.bars[this.currentOpenBar.position]\n\n this.debug('Closing bar \\'' + bar.position + '\\'')\n\n // Dispatch event\n this.mainWrap.dispatchEvent(new CustomEvent('bartender-close', {\n bubbles: true,\n detail: {\n bar: bar,\n },\n }))\n\n // Hide overlay\n this.hideOverlay()\n\n // Remove transform from wrapper element\n this.contentWrap.style.removeProperty('transform')\n\n // Remove transforms from pushable elements\n for (let i = 0; i < this.pushElements.length; i++) {\n this.pushElements[i].style.removeProperty('transform')\n }\n\n // Disable focus of bar element\n this.disableFocus(bar.element.querySelectorAll(this.options.focusableElementSelector))\n bar.element.setAttribute('tabindex', '-1')\n bar.element.setAttribute('aria-hidden', 'true')\n\n // Enable focus on content element\n this.contentWrap.removeAttribute('aria-hidden')\n\n if (this.options.trapFocus === true && enableFocusOfContentWrap === true) {\n this.enableFocus(this.contentWrap.querySelectorAll('[data-bartender-prevtabindex]'))\n }\n\n // Close the bar\n bar.element.classList.remove('bartender-bar--open')\n this.currentOpenBar = null\n\n // Restore scrolling to the main wrap\n this.mainWrap.style.removeProperty('overflow')\n\n // Remove class from the main wrap\n this.mainWrap.classList.remove(this.options.openClass)\n\n // Focus open button which was used to open the bar\n if (this.previousOpenButton && this.previousOpenButton.getAttribute('tabindex') >= 0) {\n this.previousOpenButton.focus()\n this.previousOpenButton.setAttribute('aria-expanded', 'false')\n this.previousOpenButton = null\n } else if (enableFocusOfContentWrap === true) {\n // Bar was closed using keyboard or API. Focus on content wrapper instead.\n this.contentWrap.focus()\n }\n\n return bar\n } catch (error) {\n this.logError(error)\n }\n }\n\n /**\n * Set transforms for pushable elements\n *\n * @returns {void}\n */\n setPush () {\n if (!this.currentOpenBar || !this.currentOpenBar.mode) return\n\n let transform = null\n\n // Hide overflow of main wrapper\n // This has to be done first in order to get correct width/height\n this.mainWrap.style.overflow = 'hidden'\n\n switch (this.currentOpenBar.position) {\n case 'left':\n transform = 'translateX(' + this.currentOpenBar.element.offsetWidth + 'px)'\n break\n\n case 'right':\n transform = 'translateX(-' + this.currentOpenBar.element.offsetWidth + 'px)'\n break\n\n case 'top':\n transform = 'translateY(' + this.currentOpenBar.element.offsetHeight + 'px)'\n break\n\n case 'bottom':\n transform = 'translateY(-' + this.currentOpenBar.element.offsetHeight + 'px)'\n break\n }\n\n if ([\n 'push',\n 'reveal',\n ].indexOf(this.currentOpenBar.mode) >= 0) {\n // Transform content wrapper\n this.contentWrap.style.transform = transform\n }\n\n // Transform other pushable elements\n for (let i = 0; i < this.pushElements.length; i++) {\n this.pushElements[i].style.transform = transform\n }\n }\n\n /**\n * Show shading overlay\n *\n * @returns {void}\n */\n showOverlay () {\n if (!this.overlay) return\n if (this.overlay.classList.contains('bartender-overlay--visible')) return\n\n this.overlay.classList.add('bartender-overlay--visible')\n }\n\n /**\n * Hide shading overlay\n *\n * @returns {void}\n */\n hideOverlay () {\n if (!this.overlay) return\n if (!this.overlay.classList.contains('bartender-overlay--visible')) return\n\n this.overlay.classList.remove('bartender-overlay--visible')\n }\n}\n"],"file":"bartender.compat.js"} \ No newline at end of file diff --git a/dist/bartender.min.css b/dist/bartender.min.css index 5636168..05b5798 100644 --- a/dist/bartender.min.css +++ b/dist/bartender.min.css @@ -1,2 +1,2 @@ -body,html{height:100%}.bartender-content,.bartender-main,[data-bartender-bar]{box-sizing:border-box;margin:0}.bartender-main{position:relative;width:100%;margin:0}.bartender-main.bartender-open{overflow:hidden!important}.bartender-content{z-index:30;position:relative;width:100%;min-height:calc(100vh - calc(100vh - 100%));transition:transform 250ms linear;will-change:transform;background:#fff}.bartender-content:focus{outline:0}[data-bartender-bar]{z-index:50;position:fixed;background:#000;color:#fff;transition:transform 250ms linear;will-change:transform;overflow:auto}[data-bartender-bar][data-bartender-bar-mode=reveal]{z-index:10}[data-bartender-bar]:focus{outline:0}[data-bartender-bar=left],[data-bartender-bar=right]{top:0;width:80%;max-width:400px;height:calc(100vh - calc(100vh - 100%))}[data-bartender-bar=left].bartender-bar--open,[data-bartender-bar=right].bartender-bar--open{transform:translateX(0)!important}[data-bartender-bar=bottom],[data-bartender-bar=top]{position:fixed;left:0;width:100%;height:50%}[data-bartender-bar=bottom].bartender-bar--open,[data-bartender-bar=top].bartender-bar--open{transform:translateY(0)!important}[data-bartender-bar=left]{left:0;transform:translateX(-100%)}[data-bartender-bar=left][data-bartender-bar-mode=reveal]{transform:translateX(0)}[data-bartender-bar=right]{right:0;transform:translateX(100%)}[data-bartender-bar=right][data-bartender-bar-mode=reveal]{transform:translateX(0)}[data-bartender-bar=top]{top:0;transform:translateY(-100%)}[data-bartender-bar=top][data-bartender-bar-mode=reveal]{transform:translateY(0)}[data-bartender-bar=bottom]{bottom:0;transform:translateY(100%)}[data-bartender-bar=bottom][data-bartender-bar-mode=reveal]{transform:translateY(0)}[data-bartender-push]{transition:transform 250ms linear}.bartender-overlay{z-index:9999;visibility:hidden;position:absolute;left:0;right:0;top:0;bottom:0;background:#000;opacity:.75;transition:opacity .5s ease;will-change:opacity}.bartender-overlay--visible{visibility:visible} +body,html{height:100%}.bartender-content,.bartender-main,[data-bartender-bar]{box-sizing:border-box;margin:0}.bartender-content,[data-bartender-bar],[data-bartender-push]{transition:transform 250ms linear}@media (prefers-reduced-motion){.bartender-content,[data-bartender-bar],[data-bartender-push]{transition:none}}.bartender-main{position:relative;width:100%;margin:0}.bartender-main.bartender-open{overflow:hidden!important}.bartender-content{z-index:30;position:relative;width:100%;min-height:calc(100vh - calc(100vh - 100%));will-change:transform;background:#fff}.bartender-content:focus{outline:0}[data-bartender-bar]{z-index:50;position:fixed;background:#000;color:#fff;will-change:transform;overflow:auto}[data-bartender-bar][data-bartender-bar-mode=reveal]{z-index:10}[data-bartender-bar]:focus{outline:0}[data-bartender-bar=left],[data-bartender-bar=right]{top:0;width:80%;max-width:400px;height:calc(100vh - calc(100vh - 100%))}[data-bartender-bar=left].bartender-bar--open,[data-bartender-bar=right].bartender-bar--open{transform:translateX(0)!important}[data-bartender-bar=bottom],[data-bartender-bar=top]{position:fixed;left:0;width:100%;height:50%}[data-bartender-bar=bottom].bartender-bar--open,[data-bartender-bar=top].bartender-bar--open{transform:translateY(0)!important}[data-bartender-bar=left]{left:0;transform:translateX(-100%)}[data-bartender-bar=left][data-bartender-bar-mode=reveal]{transform:translateX(0)}[data-bartender-bar=right]{right:0;transform:translateX(100%)}[data-bartender-bar=right][data-bartender-bar-mode=reveal]{transform:translateX(0)}[data-bartender-bar=top]{top:0;transform:translateY(-100%)}[data-bartender-bar=top][data-bartender-bar-mode=reveal]{transform:translateY(0)}[data-bartender-bar=bottom]{bottom:0;transform:translateY(100%)}[data-bartender-bar=bottom][data-bartender-bar-mode=reveal]{transform:translateY(0)}.bartender-overlay{z-index:9999;visibility:hidden;position:absolute;left:0;right:0;top:0;bottom:0;background:#000;opacity:.75;transition:opacity .5s ease;will-change:opacity}.bartender-overlay--visible{visibility:visible} /*# sourceMappingURL=bartender.min.css.map */ diff --git a/dist/bartender.min.css.map b/dist/bartender.min.css.map index 80184cc..3f0abd9 100644 --- a/dist/bartender.min.css.map +++ b/dist/bartender.min.css.map @@ -1 +1 @@ -{"version":3,"sources":["bartender.min.css"],"names":[],"mappings":"AAGA,KADA,KAEE,OAAQ,KAIV,mBADA,gBADA,qBAIE,WAAY,WACZ,OAAQ,EAGV,gBACE,SAAU,SACV,MAAO,KACP,OAAQ,EAHV,+BAMI,SAAU,iBAId,mBACE,QAAS,GACT,SAAU,SACV,MAAO,KACP,WAAY,iCACZ,WA7BqB,UAAU,MAAM,OA8BrC,YAAa,UACb,WAAY,KAPd,yBAUI,QAAS,EANb,qBAWE,QAAS,GACT,SAAU,MACV,WAAY,KACZ,MAAO,KACP,WA3CqB,UAAU,MAAM,OA4CrC,YAAa,UACb,SAAU,KATV,qDAYE,QAAS,GAVX,2BAcE,QAAS,EAXb,0BACA,2BAgBE,IAAK,EACL,MAAO,IACP,UAAW,MACX,OAAQ,iCAdR,8CACA,+CAgBE,UAAW,wBAZf,4BADA,yBAmBE,SAAU,MACV,KAAM,EACN,MAAO,KACP,OAAQ,IAfR,gDADA,6CAmBE,UAAW,wBAff,0BAoBE,KAAM,EACN,UAAW,kBAlBX,0DAqBE,UAAW,cAlBf,2BAuBE,MAAO,EACP,UAAW,iBArBX,2DAwBE,UAAW,cArBf,yBA0BE,IAAK,EACL,UAAW,kBAxBX,yDA2BE,UAAW,cAxBf,4BA6BE,OAAQ,EACR,UAAW,iBA3BX,4DA8BE,UAAW,cA3Bf,sBAgCE,WArHqB,UAAU,MAAM,OAwHvC,mBACE,QAAS,KACT,WAAY,OACZ,SAAU,SACV,KAAM,EACN,MAAO,EACP,IAAK,EACL,OAAQ,EACR,WAAY,KACZ,QAAS,IACT,WAAY,QAAA,IAAA,KACZ,YAAa,QAEb,4BACE,WAAY","file":"bartender.min.css","sourcesContent":["$bartender-transition: transform 250ms linear !default;\n\nhtml,\nbody {\n height: 100%;\n}\n\n.bartender-main,\n.bartender-content,\n[data-bartender-bar] {\n box-sizing: border-box;\n margin: 0;\n}\n\n.bartender-main {\n position: relative;\n width: 100%;\n margin: 0;\n\n &.bartender-open {\n overflow: hidden !important;\n }\n}\n\n.bartender-content {\n z-index: 30;\n position: relative;\n width: 100%;\n min-height: calc(100vh - calc(100vh - 100%));\n transition: $bartender-transition;\n will-change: transform;\n background: #fff;\n\n &:focus {\n outline: 0;\n }\n}\n\n[data-bartender-bar] {\n z-index: 50;\n position: fixed;\n background: #000;\n color: #fff;\n transition: $bartender-transition;\n will-change: transform;\n overflow: auto;\n\n &[data-bartender-bar-mode='reveal'] {\n z-index: 10;\n }\n\n &:focus {\n outline: 0;\n }\n}\n\n[data-bartender-bar='left'],\n[data-bartender-bar='right'] {\n top: 0;\n width: 80%;\n max-width: 400px;\n height: calc(100vh - calc(100vh - 100%));\n\n &.bartender-bar--open {\n transform: translateX(0) !important;\n }\n}\n\n[data-bartender-bar='top'],\n[data-bartender-bar='bottom'] {\n position: fixed;\n left: 0;\n width: 100%;\n height: 50%;\n\n &.bartender-bar--open {\n transform: translateY(0) !important;\n }\n}\n\n[data-bartender-bar='left'] {\n left: 0;\n transform: translateX(-100%);\n\n &[data-bartender-bar-mode='reveal'] {\n transform: translateX(0);\n }\n}\n\n[data-bartender-bar='right'] {\n right: 0;\n transform: translateX(100%);\n\n &[data-bartender-bar-mode='reveal'] {\n transform: translateX(0);\n }\n}\n\n[data-bartender-bar='top'] {\n top: 0;\n transform: translateY(-100%);\n\n &[data-bartender-bar-mode='reveal'] {\n transform: translateY(0);\n }\n}\n\n[data-bartender-bar='bottom'] {\n bottom: 0;\n transform: translateY(100%);\n\n &[data-bartender-bar-mode='reveal'] {\n transform: translateY(0);\n }\n}\n\n[data-bartender-push] {\n transition: $bartender-transition;\n}\n\n.bartender-overlay {\n z-index: 9999;\n visibility: hidden;\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n background: #000;\n opacity: 0.75;\n transition: opacity 500ms ease;\n will-change: opacity;\n\n &--visible {\n visibility: visible;\n }\n}\n"]} \ No newline at end of file +{"version":3,"sources":["bartender.min.css"],"names":[],"mappings":"AAEA,KAAA,KAEE,OAAA,KAGF,mBAAA,gBAAA,qBAGE,WAAA,WACA,OAAA,EAIF,mBAAA,qBAAA,sBAGE,WAlBqB,UAAA,MAAA,OAoBrB,gCALF,mBAAA,qBAAA,sBAMI,WAAA,MAIJ,gBACE,SAAA,SACA,MAAA,KACA,OAAA,EAEA,+BACE,SAAA,iBAIJ,mBACE,QAAA,GACA,SAAA,SACA,MAAA,KACA,WAAA,iCACA,YAAA,UACA,WAAA,KAEA,yBACE,QAAA,EAIJ,qBACE,QAAA,GACA,SAAA,MACA,WAAA,KACA,MAAA,KACA,YAAA,UACA,SAAA,KAEA,qDACE,QAAA,GAGF,2BACE,QAAA,EAIJ,0BAAA,2BAEE,IAAA,EACA,MAAA,IACA,UAAA,MACA,OAAA,iCAEA,8CAAA,+CACE,UAAA,wBAIJ,4BAAA,yBAEE,SAAA,MACA,KAAA,EACA,MAAA,KACA,OAAA,IAEA,gDAAA,6CACE,UAAA,wBAIJ,0BACE,KAAA,EACA,UAAA,kBAEA,0DACE,UAAA,cAIJ,2BACE,MAAA,EACA,UAAA,iBAEA,2DACE,UAAA,cAIJ,yBACE,IAAA,EACA,UAAA,kBAEA,yDACE,UAAA,cAIJ,4BACE,OAAA,EACA,UAAA,iBAEA,4DACE,UAAA,cAIJ,mBACE,QAAA,KACA,WAAA,OACA,SAAA,SACA,KAAA,EACA,MAAA,EACA,IAAA,EACA,OAAA,EACA,WAAA,KACA,QAAA,IACA,WAAA,QAAA,IAAA,KACA,YAAA,QAEA,4BACE,WAAA","file":"bartender.min.css","sourcesContent":["$bartender-transition: transform 250ms linear !default;\n\nhtml,\nbody {\n height: 100%;\n}\n\n.bartender-main,\n.bartender-content,\n[data-bartender-bar] {\n box-sizing: border-box;\n margin: 0;\n}\n\n// Add transitions\n.bartender-content,\n[data-bartender-bar],\n[data-bartender-push] {\n transition: $bartender-transition;\n\n @media (prefers-reduced-motion) {\n transition: none;\n }\n}\n\n.bartender-main {\n position: relative;\n width: 100%;\n margin: 0;\n\n &.bartender-open {\n overflow: hidden !important;\n }\n}\n\n.bartender-content {\n z-index: 30;\n position: relative;\n width: 100%;\n min-height: calc(100vh - calc(100vh - 100%));\n will-change: transform;\n background: #fff;\n\n &:focus {\n outline: 0;\n }\n}\n\n[data-bartender-bar] {\n z-index: 50;\n position: fixed;\n background: #000;\n color: #fff;\n will-change: transform;\n overflow: auto;\n\n &[data-bartender-bar-mode='reveal'] {\n z-index: 10;\n }\n\n &:focus {\n outline: 0;\n }\n}\n\n[data-bartender-bar='left'],\n[data-bartender-bar='right'] {\n top: 0;\n width: 80%;\n max-width: 400px;\n height: calc(100vh - calc(100vh - 100%));\n\n &.bartender-bar--open {\n transform: translateX(0) !important;\n }\n}\n\n[data-bartender-bar='top'],\n[data-bartender-bar='bottom'] {\n position: fixed;\n left: 0;\n width: 100%;\n height: 50%;\n\n &.bartender-bar--open {\n transform: translateY(0) !important;\n }\n}\n\n[data-bartender-bar='left'] {\n left: 0;\n transform: translateX(-100%);\n\n &[data-bartender-bar-mode='reveal'] {\n transform: translateX(0);\n }\n}\n\n[data-bartender-bar='right'] {\n right: 0;\n transform: translateX(100%);\n\n &[data-bartender-bar-mode='reveal'] {\n transform: translateX(0);\n }\n}\n\n[data-bartender-bar='top'] {\n top: 0;\n transform: translateY(-100%);\n\n &[data-bartender-bar-mode='reveal'] {\n transform: translateY(0);\n }\n}\n\n[data-bartender-bar='bottom'] {\n bottom: 0;\n transform: translateY(100%);\n\n &[data-bartender-bar-mode='reveal'] {\n transform: translateY(0);\n }\n}\n\n.bartender-overlay {\n z-index: 9999;\n visibility: hidden;\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n background: #000;\n opacity: 0.75;\n transition: opacity 500ms ease;\n will-change: opacity;\n\n &--visible {\n visibility: visible;\n }\n}\n"]} \ No newline at end of file diff --git a/dist/bartender.min.js.map b/dist/bartender.min.js.map index 128df38..04a666d 100644 --- a/dist/bartender.min.js.map +++ b/dist/bartender.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["bartender.min.js"],"names":["Bartender","[object Object]","options","window","CustomEvent","event","params","bubbles","cancelable","detail","evt","document","createEvent","initCustomEvent","this","Object","assign","debug","overlay","closeOnOverlayClick","closeOnEsc","trapFocus","scrollTop","mainWrapSelector","contentWrapSelector","focusableElementSelector","readyClass","openClass","currentOpenBar","previousOpenButton","resizeTimeout","bars","openButtons","closeButtons","toggleButtons","pushElements","validBarPositions","validModes","contentWrapMutationObserver","init","text","console","log","error","elements","startTime","performance","now","iterationCount","i","length","element","matches","getAttribute","setAttribute","endTime","removeAttribute","position","indexOf","mainWrap","querySelector","classList","add","contentWrap","querySelectorAll","addBar","button","isValidPosition","logError","join","addEventListener","open","toggle","close","createElement","appendChild","key","keyCode","clearTimeout","setTimeout","setPush","MutationObserver","mutationsList","mutation","type","addedNodes","disableFocus","observe","attributes","childList","subtree","newElement","style","transition","mode","newBar","mutationObserver","removeElement","removeChild","bar","enableFocus","focus","showOverlay","dispatchEvent","enableFocusOfContentWrap","hideOverlay","removeProperty","remove","transform","overflow","offsetWidth","offsetHeight","contains"],"mappings":"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","file":"bartender.min.js","sourcesContent":[]} \ No newline at end of file +{"version":3,"sources":["bartender.min.js"],"names":["Bartender","[object Object]","options","window","CustomEvent","event","params","bubbles","cancelable","detail","evt","document","createEvent","initCustomEvent","this","Object","assign","debug","overlay","closeOnOverlayClick","closeOnEsc","trapFocus","scrollTop","mainWrapSelector","contentWrapSelector","focusableElementSelector","readyClass","openClass","currentOpenBar","previousOpenButton","resizeTimeout","bars","openButtons","closeButtons","toggleButtons","pushElements","validBarPositions","validModes","contentWrapMutationObserver","init","text","console","log","error","elements","startTime","performance","now","iterationCount","i","length","element","matches","getAttribute","setAttribute","endTime","removeAttribute","position","indexOf","mainWrap","querySelector","classList","add","contentWrap","querySelectorAll","addBar","button","isValidPosition","logError","join","addEventListener","open","toggle","close","createElement","appendChild","key","keyCode","clearTimeout","setTimeout","setPush","MutationObserver","mutationsList","mutation","type","addedNodes","disableFocus","observe","attributes","childList","subtree","newElement","style","transition","mode","newBar","mutationObserver","removeElement","removeChild","bar","enableFocus","focus","showOverlay","dispatchEvent","enableFocusOfContentWrap","hideOverlay","removeProperty","remove","transform","overflow","offsetWidth","offsetHeight","contains"],"mappings":"AAAA,aAKA,MAAMA,UAKJC,YAAaC,GAEuB,mBAAvBC,OAAOC,cAChBD,OAAOC,YAAc,SAAUC,EAAOC,GACpCA,EAASA,GAAU,CACjBC,SAAS,EACTC,YAAY,EACZC,OAAQ,MAGV,IAAIC,EAAMC,SAASC,YAAY,eAE/B,OADAF,EAAIG,gBAAgBR,EAAOC,EAAOC,QAASD,EAAOE,WAAYF,EAAOG,QAC9DC,IAKXI,KAAKZ,QAAUa,OAAOC,OAAO,CAE3BC,OAAO,EAGPC,SAAS,EAGTC,qBAAqB,EAGrBC,YAAY,EAGZC,WAAW,EAGXC,WAAW,EAGXC,iBAAkB,kBAGlBC,oBAAqB,qBAGrBC,yBAA0B,oFAG1BC,WAAY,kBACZC,UAAW,kBACVzB,GAGHY,KAAKI,QAAU,KAGfJ,KAAKc,eAAiB,KAGtBd,KAAKe,mBAAqB,KAG1Bf,KAAKgB,cAAgB,KAGrBhB,KAAKiB,KAAO,GAGZjB,KAAKkB,YAAc,GACnBlB,KAAKmB,aAAe,GACpBnB,KAAKoB,cAAgB,GAGrBpB,KAAKqB,aAAe,GAGpBrB,KAAKsB,kBAAoB,CACvB,OACA,QACA,MACA,UAIFtB,KAAKuB,WAAa,CAChB,QACA,OACA,UAIFvB,KAAKwB,4BAA8B,KAGnCxB,KAAKyB,OASPtC,IAAKuC,EAAO,IACVC,QAAQC,IAAI,cAAgBF,GAS9BvC,SAAUuC,EAAO,IACfC,QAAQE,MAAM,cAAgBH,GAShCvC,MAAOuC,EAAO,IACP1B,KAAKZ,QAAQe,OAElBwB,QAAQC,IAAI,oBAAsBF,GASpCvC,aAAc2C,EAAW,IACvB,MAAMC,EAAYC,YAAYC,MAE9B,IAAIC,EAAiB,EAErB,IAAK,IAAIC,EAAI,EAAGA,EAAIL,EAASM,OAAQD,IAAK,CACxC,IAAIE,EAAUP,EAASK,GAGQ,mBAApBE,EAAQC,SAA2BD,EAAQC,QAAQtC,KAAKZ,QAAQuB,4BAA6B0B,EAAQE,aAAa,iCAE7HF,EAAQG,aAAa,8BAA+BH,EAAQE,aAAa,aACzEF,EAAQG,aAAa,WAAY,MAEjCN,KAGF,MAAMO,EAAUT,YAAYC,MAExBC,EAAiB,GACnBlC,KAAKG,MAAM,qBAAuB+B,EAAiB,iBAAmBO,EAAUV,IAUpF5C,YAAa2C,EAAW,IACtB,MAAMC,EAAYC,YAAYC,MAE9B,IAAIC,EAAiB,EAErB,IAAK,IAAIC,EAAI,EAAGA,EAAIL,EAASM,OAAQD,IAAK,CACxC,IAAIE,EAAUP,EAASK,GAGoC,QAAvDE,EAAQE,aAAa,+BACvBF,EAAQG,aAAa,WAAYH,EAAQE,aAAa,gCAEtDF,EAAQK,gBAAgB,YAG1BL,EAAQK,gBAAgB,+BAExBR,IAGF,MAAMO,EAAUT,YAAYC,MAExBC,EAAiB,GACnBlC,KAAKG,MAAM,oBAAsB+B,EAAiB,iBAAmBO,EAAUV,IAUnF5C,gBAAiBwD,EAAW,MAC1B,OAAO3C,KAAKsB,kBAAkBsB,QAAQD,IAAa,EAQrDxD,OACE,IAGE,GADAa,KAAK6C,SAAWhD,SAASiD,cAAc9C,KAAKZ,QAAQqB,mBAC/CT,KAAK6C,SAAU,KAAM,kDAAoD7C,KAAKZ,QAAQqB,iBAK3F,GAJAT,KAAK6C,SAASE,UAAUC,IAAI,kBAG5BhD,KAAKiD,YAAcjD,KAAK6C,SAASC,cAAc9C,KAAKZ,QAAQsB,sBACvDV,KAAKiD,YAAa,KAAM,qDAAuDjD,KAAKZ,QAAQsB,oBACjGV,KAAKiD,YAAYF,UAAUC,IAAI,qBAC/BhD,KAAKiD,YAAYT,aAAa,WAAY,MAG1CxC,KAAKkB,YAAclB,KAAK6C,SAASK,iBAAiB,yBAClDlD,KAAKmB,aAAenB,KAAK6C,SAASK,iBAAiB,0BACnDlD,KAAKoB,cAAgBpB,KAAK6C,SAASK,iBAAiB,2BAGpD,MAAMjC,EAAOjB,KAAK6C,SAASK,iBAAiB,wBAE5C,IAAK,IAAIf,EAAI,EAAGA,EAAIlB,EAAKmB,OAAQD,IAC/BnC,KAAKmD,OAAOlC,EAAKkB,IAInB,IAAK,IAAIA,EAAI,EAAGA,EAAInC,KAAKkB,YAAYkB,OAAQD,IAAK,CAChD,IAAIiB,EAASpD,KAAKkB,YAAYiB,GAC1BQ,EAAWS,EAAOb,aAAa,uBAEnC,IAAKvC,KAAKqD,gBAAgBV,GAExB,YADA3C,KAAKsD,SAAS,yCAA4CX,EAAW,+CAAkD3C,KAAKsB,kBAAkBiC,KAAK,OAIrJH,EAAOZ,aAAa,gBAAiB,SACrCY,EAAOI,iBAAiB,SAAS,KAC/BxD,KAAKyD,KAAKd,EAAUS,MAKxB,IAAK,IAAIjB,EAAI,EAAGA,EAAInC,KAAKoB,cAAcgB,OAAQD,IAAK,CAClD,IAAIiB,EAASpD,KAAKoB,cAAce,GAC5BQ,EAAWS,EAAOb,aAAa,yBAEnC,IAAKvC,KAAKqD,gBAAgBV,GAExB,YADA3C,KAAKsD,SAAS,2CAA8CX,EAAW,+CAAkD3C,KAAKsB,kBAAkBiC,KAAK,OAIvJH,EAAOZ,aAAa,gBAAiB,SACrCY,EAAOI,iBAAiB,SAAS,KAC/BxD,KAAK0D,OAAOf,EAAUS,MAK1B,IAAK,IAAIjB,EAAI,EAAGA,EAAInC,KAAKmB,aAAaiB,OAAQD,IAAK,CACpCnC,KAAKmB,aAAagB,GAExBqB,iBAAiB,SAAS,KAC/BxD,KAAK2D,WAKT3D,KAAKqB,aAAerB,KAAK6C,SAASK,iBAAiB,yBAE/ClD,KAAKqB,aAAae,QAAQpC,KAAKG,MAAM,cAAgBH,KAAKqB,aAAae,OAAS,uBAGhFpC,KAAKZ,QAAQgB,UAAYJ,KAAKI,UAChCJ,KAAKI,QAAUP,SAAS+D,cAAc,OACtC5D,KAAKI,QAAQ2C,UAAUC,IAAI,sBAEc,IAArChD,KAAKZ,QAAQiB,qBACfL,KAAKI,QAAQoD,iBAAiB,SAAS,IAAMxD,KAAK2D,UAGpD3D,KAAKiD,YAAYY,YAAY7D,KAAKI,UAIhCJ,KAAKZ,QAAQkB,YACfjB,OAAOmE,iBAAiB,WAAWjE,IACjC,IAAIuE,EAAMvE,EAAMuE,KAAOvE,EAAMwE,QAEjB,WAARD,GAA4B,QAARA,GAAyB,KAARA,GACvC9D,KAAK2D,WAMXtE,OAAOmE,iBAAiB,UAAU,KAChCQ,aAAahE,KAAKgB,eAElBhB,KAAKgB,cAAgBiD,YAAW,KAC9BjE,KAAKkE,YACJ,SAI0B,IAA3BlE,KAAKZ,QAAQmB,YACfP,KAAKwB,4BAA8B,IAAI2C,kBAAkBC,IACvD,GAAKpE,KAAKc,eAEV,IAAK,IAAIqB,EAAI,EAAGA,EAAIiC,EAAchC,OAAQD,IAAK,CAC7C,IAAIkC,EAAWD,EAAcjC,GAEP,cAAlBkC,EAASC,MACPD,EAASE,YAAcF,EAASE,WAAWnC,QAC7CpC,KAAKwE,aAAaH,EAASE,gBAMnCvE,KAAKwB,4BAA4BiD,QAAQzE,KAAKiD,YAAa,CACzDyB,YAAY,EACZC,WAAW,EACXC,SAAS,KAKb5E,KAAK6C,SAASE,UAAUC,IAAIhD,KAAKZ,QAAQwB,YACzC,MAAOiB,GACP7B,KAAKsD,SAASzB,GAGhB,OAAO7B,KAUTb,OAAQkD,EAAU,KAAMjD,EAAU,IAChC,IAEE,IAAIyF,GAAa,EAED,OAAZxC,IACFwC,GAAa,EACbxC,EAAUxC,SAAS+D,cAAc,QAInCvB,EAAQyC,MAAMC,WAAa,OAG3B,IAAIpC,EAAWvD,EAAQuD,UAAYN,EAAQE,aAAa,sBACpDyC,EAAO5F,EAAQ4F,MAAQ3C,EAAQE,aAAa,2BAMhD,GAHAyC,EAAOA,GAAQ,SAGVhF,KAAKqD,gBAAgBV,GAAW,KAAM,yBAA4BA,EAAW,uCAA0C3C,KAAKsB,kBAAkBiC,KAAK,MACxJ,GAAIvD,KAAKuB,WAAWqB,QAAQoC,GAAQ,EAAG,KAAM,iBAAoBA,EAAO,cAAkBrC,EAAW,uCAA0C3C,KAAKuB,WAAWgC,KAAK,MACpK,GAAIvD,KAAKiB,KAAK0B,GAAW,KAAM,sBAAyBA,EAAW,uBAGnEN,EAAQG,aAAa,WAAY,MACjCH,EAAQG,aAAa,cAAe,QACpCxC,KAAKwE,aAAanC,EAAQa,iBAAiBlD,KAAKZ,QAAQuB,2BAGxD0B,EAAQG,aAAa,qBAAsBG,GAC3CN,EAAQG,aAAa,0BAA2BwC,IAG7B,IAAfH,GAAqB7E,KAAK6C,SAASgB,YAAYxB,GAGnD4B,YAAW,KACT5B,EAAQyC,MAAMC,WAAa,QAI7B,MAAME,EAAS,CACb5C,QAASA,EACTM,SAAUA,EACVqC,KAAMA,EACNE,iBAAkB,IAAIf,kBAAkBC,IACtC,IAAIpE,KAAKc,gBAAkBd,KAAKc,eAAe6B,WAAaA,EAE5D,IAAK,IAAIR,EAAI,EAAGA,EAAIiC,EAAchC,OAAQD,IAAK,CAC7C,IAAIkC,EAAWD,EAAcjC,GAEP,cAAlBkC,EAASC,MACPD,EAASE,YAAcF,EAASE,WAAWnC,QAC7CpC,KAAKwE,aAAaH,EAASE,iBAiBrC,OAVAU,EAAOC,iBAAiBT,QAAQQ,EAAO5C,QAAS,CAC9CqC,YAAY,EACZC,WAAW,EACXC,SAAS,IAGX5E,KAAKiB,KAAK0B,GAAYsC,EAEtBjF,KAAKG,MAAM,cAAiBwC,EAAW,gBAAoBqC,EAAO,KAE3DC,EACP,MAAOpD,GAGP,OAFA7B,KAAKsD,SAASzB,GAEP,MAWX1C,UAAWwD,EAAW,KAAMwC,GAAgB,GAC1C,IAOE,GALInF,KAAKc,gBAAkBd,KAAKc,eAAe6B,WAAaA,GAC1D3C,KAAK2D,SAIF3D,KAAKqD,gBAAgBV,GAAW,KAAM,yBAA4BA,EAAW,uCAA0C3C,KAAKsB,kBAAkBiC,KAAK,MACxJ,IAAKvD,KAAKiB,KAAK0B,GAAW,KAAM,sBAAyBA,EAAW,mBAE9C,IAAlBwC,GACFnF,KAAK6C,SAASuC,YAAYpF,KAAKiB,KAAK0B,GAAUN,gBAGzCrC,KAAKiB,KAAK0B,GAEjB3C,KAAKG,MAAM,8BAAiCwC,EAAW,KACvD,MAAOd,GACP7B,KAAKsD,SAASzB,IAWlB1C,KAAMwD,EAAW,GAAIS,EAAS,MAC5B,IAEE,IAAKpD,KAAKqD,gBAAgBV,GAAW,KAAM,yBAA4BA,EAAW,uCAA0C3C,KAAKsB,kBAAkBiC,KAAK,MAGxJ,MAAM8B,EAAMrF,KAAKiB,KAAK0B,GAEtB,IAAK0C,EAAK,KAAM,sBAAyB1C,EAAW,oBAmDpD,OAhDI3C,KAAKc,eACPd,KAAK2D,OAAM,IACyB,IAA3B3D,KAAKZ,QAAQmB,WACtBP,KAAKwE,aAAaxE,KAAKiD,YAAYC,iBAAiBlD,KAAKZ,QAAQuB,2BAGnEX,KAAKiD,YAAYT,aAAa,cAAe,QAE7CxC,KAAKG,MAAM,gBAAmBwC,EAAW,KAGzC3C,KAAKc,eAAiBuE,EACtBA,EAAIhD,QAAQU,UAAUC,IAAI,uBAGtBhD,KAAKZ,QAAQoB,YACf6E,EAAIhD,QAAQ7B,UAAY,GAI1B6E,EAAIhD,QAAQK,gBAAgB,eAC5B1C,KAAKsF,YAAYD,EAAIhD,QAAQa,iBAAiB,kCAC9CmC,EAAIhD,QAAQkD,QAGZvF,KAAKkE,UAGLlE,KAAKe,mBAAqBqC,EAGtBA,GAAQA,EAAOZ,aAAa,iBAAiB,GAGjDxC,KAAKwF,cAGLxF,KAAK6C,SAASE,UAAUC,IAAIhD,KAAKZ,QAAQyB,WAGzCb,KAAK6C,SAAS4C,cAAc,IAAInG,YAAY,iBAAkB,CAC5DG,SAAS,EACTE,OAAQ,CACN0F,IAAKA,EACLjC,OAAQA,MAILiC,EACP,MAAOxD,GACP7B,KAAKsD,SAASzB,IAWlB1C,OAAQwD,EAAW,KAAMS,EAAS,MAChC,IACE,IAAKpD,KAAKqD,gBAAgBV,GAAW,KAAM,yBAA4BA,EAAW,uCAA0C3C,KAAKsB,kBAAkBiC,KAAK,MAExJ,OAAIvD,KAAKc,gBAAkBd,KAAKc,eAAe6B,UAAYA,EAClD3C,KAAK2D,SAEZ3D,KAAK2D,QACE3D,KAAKyD,KAAKd,EAAUS,IAE7B,MAAOvB,GACP7B,KAAKsD,SAASzB,IAUlB1C,MAAOuG,GAA2B,GAChC,IACE,IAAK1F,KAAKc,eAAgB,OAE1B,IAAIuE,EAAMrF,KAAKiB,KAAKjB,KAAKc,eAAe6B,UAExC3C,KAAKG,MAAM,gBAAmBkF,EAAI1C,SAAW,KAG7C3C,KAAK6C,SAAS4C,cAAc,IAAInG,YAAY,kBAAmB,CAC7DG,SAAS,EACTE,OAAQ,CACN0F,IAAKA,MAKTrF,KAAK2F,cAGL3F,KAAKiD,YAAY6B,MAAMc,eAAe,aAGtC,IAAK,IAAIzD,EAAI,EAAGA,EAAInC,KAAKqB,aAAae,OAAQD,IAC5CnC,KAAKqB,aAAac,GAAG2C,MAAMc,eAAe,aAmC5C,OA/BA5F,KAAKwE,aAAaa,EAAIhD,QAAQa,iBAAiBlD,KAAKZ,QAAQuB,2BAC5D0E,EAAIhD,QAAQG,aAAa,WAAY,MACrC6C,EAAIhD,QAAQG,aAAa,cAAe,QAGxCxC,KAAKiD,YAAYP,gBAAgB,gBAEF,IAA3B1C,KAAKZ,QAAQmB,YAAmD,IAA7BmF,GACrC1F,KAAKsF,YAAYtF,KAAKiD,YAAYC,iBAAiB,kCAIrDmC,EAAIhD,QAAQU,UAAU8C,OAAO,uBAC7B7F,KAAKc,eAAiB,KAGtBd,KAAK6C,SAASiC,MAAMc,eAAe,YAGnC5F,KAAK6C,SAASE,UAAU8C,OAAO7F,KAAKZ,QAAQyB,WAGxCb,KAAKe,oBAAsBf,KAAKe,mBAAmBwB,aAAa,aAAe,GACjFvC,KAAKe,mBAAmBwE,QACxBvF,KAAKe,mBAAmByB,aAAa,gBAAiB,SACtDxC,KAAKe,mBAAqB,OACY,IAA7B2E,GAET1F,KAAKiD,YAAYsC,QAGZF,EACP,MAAOxD,GACP7B,KAAKsD,SAASzB,IASlB1C,UACE,IAAKa,KAAKc,iBAAmBd,KAAKc,eAAekE,KAAM,OAEvD,IAAIc,EAAY,KAMhB,OAFA9F,KAAK6C,SAASiC,MAAMiB,SAAW,SAEvB/F,KAAKc,eAAe6B,UAC1B,IAAK,OACHmD,EAAY,cAAgB9F,KAAKc,eAAeuB,QAAQ2D,YAAc,MACtE,MAEF,IAAK,QACHF,EAAY,eAAiB9F,KAAKc,eAAeuB,QAAQ2D,YAAc,MACvE,MAEF,IAAK,MACHF,EAAY,cAAgB9F,KAAKc,eAAeuB,QAAQ4D,aAAe,MACvE,MAEF,IAAK,SACHH,EAAY,eAAiB9F,KAAKc,eAAeuB,QAAQ4D,aAAe,MAIxE,CACF,OACA,UACArD,QAAQ5C,KAAKc,eAAekE,OAAS,IAErChF,KAAKiD,YAAY6B,MAAMgB,UAAYA,GAIrC,IAAK,IAAI3D,EAAI,EAAGA,EAAInC,KAAKqB,aAAae,OAAQD,IAC5CnC,KAAKqB,aAAac,GAAG2C,MAAMgB,UAAYA,EAS3C3G,cACOa,KAAKI,UACNJ,KAAKI,QAAQ2C,UAAUmD,SAAS,+BAEpClG,KAAKI,QAAQ2C,UAAUC,IAAI,+BAQ7B7D,cACOa,KAAKI,SACLJ,KAAKI,QAAQ2C,UAAUmD,SAAS,+BAErClG,KAAKI,QAAQ2C,UAAU8C,OAAO","file":"bartender.min.js","sourcesContent":[]} \ No newline at end of file diff --git a/dist/bartender.module.js b/dist/bartender.module.js index cf1a6e2..29ed7e6 100644 --- a/dist/bartender.module.js +++ b/dist/bartender.module.js @@ -79,7 +79,6 @@ class Bartender { this.toggleButtons = [] // Array for storing pushable elements - // These elements will be moved when bar with "push" or "reveal" mode is being opened. this.pushElements = [] // Valid bar positions diff --git a/dist/bartender.module.js.map b/dist/bartender.module.js.map index 89b240b..4a30ce1 100644 --- a/dist/bartender.module.js.map +++ b/dist/bartender.module.js.map @@ -1 +1 @@ -{"version":3,"names":[],"mappings":"","sources":["bartender.module.js"],"sourcesContent":["'use strict'\n\n/**\n * Class for creating accessible off-canvas bars.\n */\nclass Bartender {\n\n /**\n * @param {object} options - User defined options\n */\n constructor (options) {\n // Polyfill custom events\n if (typeof window.CustomEvent !== 'function') {\n window.CustomEvent = function (event, params) {\n params = params || {\n bubbles: false,\n cancelable: false,\n detail: null,\n }\n\n var evt = document.createEvent('CustomEvent')\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail)\n return evt\n }\n }\n\n // Apply user configuration\n this.options = Object.assign({\n // Debug mode\n debug: false,\n\n // Show shading overlay over content wrapper when bar is open?\n overlay: true,\n\n // Close open bar by clicking the overlay?\n closeOnOverlayClick: true,\n\n // Close open bar with escape key?\n closeOnEsc: true,\n\n // Trap focus to the open bar?\n trapFocus: false,\n\n // Scroll bar to the top when opening it?\n scrollTop: true,\n\n // Selector to find main wrapper\n mainWrapSelector: '.bartender-main',\n\n // Selector to find content wrapper\n contentWrapSelector: '.bartender-content',\n\n // Selector for focusable elements\n focusableElementSelector: '[href], button, input, textarea, select, details, [tabindex]:not([tabindex=\"-1\"])',\n\n // Classes\n readyClass: 'bartender-ready',\n openClass: 'bartender-open',\n }, options)\n\n // Overlay element\n this.overlay = null\n\n // Currently open bar\n this.currentOpenBar = null\n\n // Button which was previously used to open the bar\n this.previousOpenButton = null\n\n // Window resize timeout\n this.resizeTimeout = null\n\n // Object for storing the bars\n this.bars = {}\n\n // Arrays for storing buttons\n this.openButtons = []\n this.closeButtons = []\n this.toggleButtons = []\n\n // Array for storing pushable elements\n // These elements will be moved when bar with \"push\" or \"reveal\" mode is being opened.\n this.pushElements = []\n\n // Valid bar positions\n this.validBarPositions = [\n 'left',\n 'right',\n 'top',\n 'bottom',\n ]\n\n // Valid bar modes\n this.validModes = [\n 'float',\n 'push',\n 'reveal',\n ]\n\n // Mutation observer for content wrap\n this.contentWrapMutationObserver = null\n\n // Run initializer\n this.init()\n }\n\n /**\n * Log to console\n *\n * @param {string} text - Text to log\n * @returns {void}\n */\n log (text = '') {\n console.log('Bartender: ' + text)\n }\n\n /**\n * Log error to console\n *\n * @param {string} text - Text to log\n * @returns {void}\n */\n logError (text = '') {\n console.error('Bartender: ' + text)\n }\n\n /**\n * Log debug message to console\n *\n * @param {string} text - Text to log\n * @returns {void}\n */\n debug (text = '') {\n if (!this.options.debug) return\n\n console.log('Bartender debug: ' + text)\n }\n\n /**\n * Disable focus of elements\n *\n * @param {array} Array of DOM elements\n * @returns {void}\n */\n disableFocus (elements = []) {\n const startTime = performance.now()\n\n let iterationCount = 0\n\n for (let i = 0; i < elements.length; i++) {\n let element = elements[i]\n\n // Discard element if it's not focusable, or if it's already disabled\n if (typeof element.matches !== 'function' || !element.matches(this.options.focusableElementSelector) || element.getAttribute('data-bartender-prevtabindex')) continue\n\n element.setAttribute('data-bartender-prevtabindex', element.getAttribute('tabindex'))\n element.setAttribute('tabindex', '-1')\n\n iterationCount++\n }\n\n const endTime = performance.now()\n\n if (iterationCount > 0) {\n this.debug('Disabled focus of ' + iterationCount + ' elements in ' + (endTime - startTime))\n }\n }\n\n /**\n * Enable focus of elements\n *\n * @param {array} Array of DOM elements\n * @returns {void}\n */\n enableFocus (elements = []) {\n const startTime = performance.now()\n\n let iterationCount = 0\n\n for (let i = 0; i < elements.length; i++) {\n let element = elements[i]\n\n // If element has previous tabindex marked, return it. Otherwise just remove tabindex attribute.\n if (element.getAttribute('data-bartender-prevtabindex') != 'null') {\n element.setAttribute('tabindex', element.getAttribute('data-bartender-prevtabindex'))\n } else {\n element.removeAttribute('tabindex')\n }\n\n element.removeAttribute('data-bartender-prevtabindex')\n\n iterationCount++\n }\n\n const endTime = performance.now()\n\n if (iterationCount > 0) {\n this.debug('Enabled focus of ' + iterationCount + ' elements in ' + (endTime - startTime))\n }\n }\n\n /**\n * Is defined bar position valid?\n *\n * @param {string} position - Position to validate\n * @returns {boolean}\n */\n isValidPosition (position = null) {\n return this.validBarPositions.indexOf(position) >= 0\n }\n\n /**\n * Initialize Bartender\n *\n * @returns {object} Bartender instance\n */\n init () {\n try {\n // Main wrap\n this.mainWrap = document.querySelector(this.options.mainWrapSelector)\n if (!this.mainWrap) throw 'Main wrap element was not found with selector: ' + this.options.mainWrapSelector\n this.mainWrap.classList.add('bartender-main')\n\n // Content wrap\n this.contentWrap = this.mainWrap.querySelector(this.options.contentWrapSelector)\n if (!this.contentWrap) throw 'Content wrap element was not found with selector: ' + this.options.contentWrapSelector\n this.contentWrap.classList.add('bartender-content')\n this.contentWrap.setAttribute('tabindex', '-1')\n\n // Find buttons\n this.openButtons = this.mainWrap.querySelectorAll('[data-bartender-open]')\n this.closeButtons = this.mainWrap.querySelectorAll('[data-bartender-close]')\n this.toggleButtons = this.mainWrap.querySelectorAll('[data-bartender-toggle]')\n\n // Find bars\n const bars = this.mainWrap.querySelectorAll('[data-bartender-bar]')\n\n for (let i = 0; i < bars.length; i++) {\n this.addBar(bars[i])\n }\n\n // Open buttons\n for (let i = 0; i < this.openButtons.length; i++) {\n let button = this.openButtons[i]\n let position = button.getAttribute('data-bartender-open')\n\n if (!this.isValidPosition(position)) {\n this.logError('Open button has invalid bar position \\'' + position + '\\' defined. Use one of the following values: ' + this.validBarPositions.join(', '))\n return\n }\n\n button.setAttribute('aria-expanded', 'false')\n button.addEventListener('click', () => {\n this.open(position, button)\n })\n }\n\n // Toggle buttons\n for (let i = 0; i < this.toggleButtons.length; i++) {\n let button = this.toggleButtons[i]\n let position = button.getAttribute('data-bartender-toggle')\n\n if (!this.isValidPosition(position)) {\n this.logError('Toggle button has invalid bar position \\'' + position + '\\' defined. Use one of the following values: ' + this.validBarPositions.join(', '))\n return\n }\n\n button.setAttribute('aria-expanded', 'false')\n button.addEventListener('click', () => {\n this.toggle(position, button)\n })\n }\n\n // Close buttons\n for (let i = 0; i < this.closeButtons.length; i++) {\n let button = this.closeButtons[i]\n\n button.addEventListener('click', () => {\n this.close()\n })\n }\n\n // Find pushable elements\n this.pushElements = this.mainWrap.querySelectorAll('[data-bartender-push]')\n\n if (this.pushElements.length) this.debug('Registered ' + this.pushElements.length + ' pushable elements.')\n\n // Add overlay\n if (this.options.overlay && !this.overlay) {\n this.overlay = document.createElement('div')\n this.overlay.classList.add('bartender-overlay')\n\n if (this.options.closeOnOverlayClick === true) {\n this.overlay.addEventListener('click', () => this.close())\n }\n\n this.contentWrap.appendChild(this.overlay)\n }\n\n // Enable closing the bar with escape key\n if (this.options.closeOnEsc) {\n window.addEventListener('keydown', event => {\n let key = event.key || event.keyCode\n\n if (key === 'Escape' || key === 'Esc' || key === 27) {\n this.close()\n }\n })\n }\n\n // Adjust content wrapper transform when window is resized\n window.addEventListener('resize', () => {\n clearTimeout(this.resizeTimeout)\n\n this.resizeTimeout = setTimeout(() => {\n this.setPush()\n }, 200)\n })\n\n // Add mutation observer for content wrapper\n if (this.options.trapFocus === true) {\n this.contentWrapMutationObserver = new MutationObserver((mutationsList) => {\n if (!this.currentOpenBar) return\n\n for (let i = 0; i < mutationsList.length; i++) {\n let mutation = mutationsList[i]\n\n if (mutation.type === 'childList') {\n if (mutation.addedNodes && mutation.addedNodes.length) {\n this.disableFocus(mutation.addedNodes)\n }\n }\n }\n })\n\n this.contentWrapMutationObserver.observe(this.contentWrap, {\n attributes: false,\n childList: true,\n subtree: true,\n })\n }\n\n // Add class to the main wrap\n this.mainWrap.classList.add(this.options.readyClass)\n } catch (error) {\n this.logError(error)\n }\n\n return this\n }\n\n /**\n * Add a new off-canvas bar\n *\n * @param {object} element - DOM element. If undefined, the element will be created.\n * @param {object} options - Bar options\n * @returns {object} Added bar instance\n */\n addBar (element = null, options = {}) {\n try {\n // If element doesn't exist, create it\n let newElement = false\n\n if (element === null) {\n newElement = true\n element = document.createElement('div')\n }\n\n // Initially remove transition\n element.style.transition = 'none'\n\n // Get bar configuration\n let position = options.position || element.getAttribute('data-bartender-bar')\n let mode = options.mode || element.getAttribute('data-bartender-bar-mode')\n\n // If mode is not specified, fall back to 'float'\n mode = mode || 'float'\n\n // Validate configuration\n if (!this.isValidPosition(position)) throw 'Invalid bar position \\'' + position + '\\'. Use one of the following values: ' + this.validBarPositions.join(', ')\n if (this.validModes.indexOf(mode) < 0) throw 'Invalid mode \\'' + mode + '\\' for bar \\'' + position + '\\'. Use one of the following values: ' + this.validModes.join(', ')\n if (this.bars[position]) throw 'Bar with position \\'' + position + '\\' is already defined'\n\n // Initially disable focus of the bar and it's child elements\n element.setAttribute('tabindex', '-1')\n element.setAttribute('aria-hidden', 'true')\n this.disableFocus(element.querySelectorAll(this.options.focusableElementSelector))\n\n // Set data-attributes\n element.setAttribute('data-bartender-bar', position)\n element.setAttribute('data-bartender-bar-mode', mode)\n\n // If element is new, append to main container\n if (newElement === true) this.mainWrap.appendChild(element)\n\n // Return transition\n setTimeout(() => {\n element.style.transition = null\n })\n\n // Create new bar object\n const newBar = {\n element: element,\n position: position,\n mode: mode,\n mutationObserver: new MutationObserver((mutationsList) => {\n if (this.currentOpenBar && this.currentOpenBar.position === position) return\n\n for (let i = 0; i < mutationsList.length; i++) {\n let mutation = mutationsList[i]\n\n if (mutation.type === 'childList') {\n if (mutation.addedNodes && mutation.addedNodes.length) {\n this.disableFocus(mutation.addedNodes)\n }\n }\n }\n }),\n }\n\n newBar.mutationObserver.observe(newBar.element, {\n attributes: false,\n childList: true,\n subtree: true,\n })\n\n this.bars[position] = newBar\n\n this.debug('Added bar \\'' + position + '\\' with mode \\'' + mode + '\\'')\n\n return newBar\n } catch (error) {\n this.logError(error)\n\n return null\n }\n }\n\n /**\n * Remove bar\n *\n * @param {string} position - Bar position to remove\n * @param {boolean} removeElement - Remove DOM element?\n * @returns {void}\n */\n removeBar (position = null, removeElement = true) {\n try {\n // If this bar is currently open, close it first\n if (this.currentOpenBar && this.currentOpenBar.position === position) {\n this.close()\n }\n\n // Validate position\n if (!this.isValidPosition(position)) throw 'Invalid bar position \\'' + position + '\\'. Use one of the following values: ' + this.validBarPositions.join(', ')\n if (!this.bars[position]) throw 'Bar with position \\'' + position + '\\' doesn\\'t exist'\n\n if (removeElement === true) {\n this.mainWrap.removeChild(this.bars[position].element)\n }\n\n delete this.bars[position]\n\n this.debug('Removed bar with position \\'' + position + '\\'')\n } catch (error) {\n this.logError(error)\n }\n }\n\n /**\n * Open off-canvas bar\n *\n * @param {string} position - Bar position\n * @param {object} button - Button which was used to run this method\n * @returns {object} Opened bar instance\n */\n open (position = '', button = null) {\n try {\n // Validate position\n if (!this.isValidPosition(position)) throw 'Invalid bar position \\'' + position + '\\'. Use one of the following values: ' + this.validBarPositions.join(', ')\n\n // Get bar instance\n const bar = this.bars[position]\n\n if (!bar) throw 'Bar with position \\'' + position + '\\' is not defined.'\n\n // Close other bars\n if (this.currentOpenBar) {\n this.close(false)\n } else if (this.options.trapFocus === true) {\n this.disableFocus(this.contentWrap.querySelectorAll(this.options.focusableElementSelector))\n }\n\n this.contentWrap.setAttribute('aria-hidden', 'true')\n\n this.debug('Opening bar \\'' + position + '\\'')\n\n // Mark this bar as open\n this.currentOpenBar = bar\n bar.element.classList.add('bartender-bar--open')\n\n // Scroll to top\n if (this.options.scrollTop) {\n bar.element.scrollTop = 0\n }\n\n // Focus on bar\n bar.element.removeAttribute('aria-hidden')\n this.enableFocus(bar.element.querySelectorAll('[data-bartender-prevtabindex]'))\n bar.element.focus()\n\n // Push elements\n this.setPush()\n\n // Remember the button which was used to open the bar\n this.previousOpenButton = button\n\n // Set ARIA attributes of the button\n if (button) button.setAttribute('aria-expanded', true)\n\n // Show overlay\n this.showOverlay()\n\n // Add class to the main element\n this.mainWrap.classList.add(this.options.openClass)\n\n // Dispatch event\n this.mainWrap.dispatchEvent(new CustomEvent('bartender-open', {\n bubbles: true,\n detail: {\n bar: bar,\n button: button,\n },\n }))\n\n return bar\n } catch (error) {\n this.logError(error)\n }\n }\n\n /**\n * Toggle off-canvas bar\n *\n * @param {string} position - Bar position\n * @param {object} button - Button which was used to run this method\n * @returns {object} Toggled bar instance\n */\n toggle (position = null, button = null) {\n try {\n if (!this.isValidPosition(position)) throw 'Invalid bar position \\'' + position + '\\'. Use one of the following values: ' + this.validBarPositions.join(', ')\n\n if (this.currentOpenBar && this.currentOpenBar.position == position) {\n return this.close()\n } else {\n this.close()\n return this.open(position, button)\n }\n } catch (error) {\n this.logError(error)\n }\n }\n\n /**\n * Close any open off-canvas bar\n *\n * @param {boolean} enableFocusOfContentWrap - Enable focus of content wrap\n * @returns {object} Closed bar\n */\n close (enableFocusOfContentWrap = true) {\n try {\n if (!this.currentOpenBar) return\n\n let bar = this.bars[this.currentOpenBar.position]\n\n this.debug('Closing bar \\'' + bar.position + '\\'')\n\n // Dispatch event\n this.mainWrap.dispatchEvent(new CustomEvent('bartender-close', {\n bubbles: true,\n detail: {\n bar: bar,\n },\n }))\n\n // Hide overlay\n this.hideOverlay()\n\n // Remove transform from wrapper element\n this.contentWrap.style.removeProperty('transform')\n\n // Remove transforms from pushable elements\n for (let i = 0; i < this.pushElements.length; i++) {\n this.pushElements[i].style.removeProperty('transform')\n }\n\n // Disable focus of bar element\n this.disableFocus(bar.element.querySelectorAll(this.options.focusableElementSelector))\n bar.element.setAttribute('tabindex', '-1')\n bar.element.setAttribute('aria-hidden', 'true')\n\n // Enable focus on content element\n this.contentWrap.removeAttribute('aria-hidden')\n\n if (this.options.trapFocus === true && enableFocusOfContentWrap === true) {\n this.enableFocus(this.contentWrap.querySelectorAll('[data-bartender-prevtabindex]'))\n }\n\n // Close the bar\n bar.element.classList.remove('bartender-bar--open')\n this.currentOpenBar = null\n\n // Restore scrolling to the main wrap\n this.mainWrap.style.removeProperty('overflow')\n\n // Remove class from the main wrap\n this.mainWrap.classList.remove(this.options.openClass)\n\n // Focus open button which was used to open the bar\n if (this.previousOpenButton && this.previousOpenButton.getAttribute('tabindex') >= 0) {\n this.previousOpenButton.focus()\n this.previousOpenButton.setAttribute('aria-expanded', 'false')\n this.previousOpenButton = null\n } else if (enableFocusOfContentWrap === true) {\n // Bar was closed using keyboard or API. Focus on content wrapper instead.\n this.contentWrap.focus()\n }\n\n return bar\n } catch (error) {\n this.logError(error)\n }\n }\n\n /**\n * Set transforms for pushable elements\n *\n * @returns {void}\n */\n setPush () {\n if (!this.currentOpenBar || !this.currentOpenBar.mode) return\n\n let transform = null\n\n // Hide overflow of main wrapper\n // This has to be done first in order to get correct width/height\n this.mainWrap.style.overflow = 'hidden'\n\n switch (this.currentOpenBar.position) {\n case 'left':\n transform = 'translateX(' + this.currentOpenBar.element.offsetWidth + 'px)'\n break\n\n case 'right':\n transform = 'translateX(-' + this.currentOpenBar.element.offsetWidth + 'px)'\n break\n\n case 'top':\n transform = 'translateY(' + this.currentOpenBar.element.offsetHeight + 'px)'\n break\n\n case 'bottom':\n transform = 'translateY(-' + this.currentOpenBar.element.offsetHeight + 'px)'\n break\n }\n\n if ([\n 'push',\n 'reveal',\n ].indexOf(this.currentOpenBar.mode) >= 0) {\n // Transform content wrapper\n this.contentWrap.style.transform = transform\n }\n\n // Transform other pushable elements\n for (let i = 0; i < this.pushElements.length; i++) {\n this.pushElements[i].style.transform = transform\n }\n }\n\n /**\n * Show shading overlay\n *\n * @returns {void}\n */\n showOverlay () {\n if (!this.overlay) return\n if (this.overlay.classList.contains('bartender-overlay--visible')) return\n\n this.overlay.classList.add('bartender-overlay--visible')\n }\n\n /**\n * Hide shading overlay\n *\n * @returns {void}\n */\n hideOverlay () {\n if (!this.overlay) return\n if (!this.overlay.classList.contains('bartender-overlay--visible')) return\n\n this.overlay.classList.remove('bartender-overlay--visible')\n }\n}\n"],"file":"bartender.module.js"} \ No newline at end of file +{"version":3,"names":[],"mappings":"","sources":["bartender.module.js"],"sourcesContent":["'use strict'\n\n/**\n * Class for creating accessible off-canvas bars.\n */\nclass Bartender {\n\n /**\n * @param {object} options - User defined options\n */\n constructor (options) {\n // Polyfill custom events\n if (typeof window.CustomEvent !== 'function') {\n window.CustomEvent = function (event, params) {\n params = params || {\n bubbles: false,\n cancelable: false,\n detail: null,\n }\n\n var evt = document.createEvent('CustomEvent')\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail)\n return evt\n }\n }\n\n // Apply user configuration\n this.options = Object.assign({\n // Debug mode\n debug: false,\n\n // Show shading overlay over content wrapper when bar is open?\n overlay: true,\n\n // Close open bar by clicking the overlay?\n closeOnOverlayClick: true,\n\n // Close open bar with escape key?\n closeOnEsc: true,\n\n // Trap focus to the open bar?\n trapFocus: false,\n\n // Scroll bar to the top when opening it?\n scrollTop: true,\n\n // Selector to find main wrapper\n mainWrapSelector: '.bartender-main',\n\n // Selector to find content wrapper\n contentWrapSelector: '.bartender-content',\n\n // Selector for focusable elements\n focusableElementSelector: '[href], button, input, textarea, select, details, [tabindex]:not([tabindex=\"-1\"])',\n\n // Classes\n readyClass: 'bartender-ready',\n openClass: 'bartender-open',\n }, options)\n\n // Overlay element\n this.overlay = null\n\n // Currently open bar\n this.currentOpenBar = null\n\n // Button which was previously used to open the bar\n this.previousOpenButton = null\n\n // Window resize timeout\n this.resizeTimeout = null\n\n // Object for storing the bars\n this.bars = {}\n\n // Arrays for storing buttons\n this.openButtons = []\n this.closeButtons = []\n this.toggleButtons = []\n\n // Array for storing pushable elements\n this.pushElements = []\n\n // Valid bar positions\n this.validBarPositions = [\n 'left',\n 'right',\n 'top',\n 'bottom',\n ]\n\n // Valid bar modes\n this.validModes = [\n 'float',\n 'push',\n 'reveal',\n ]\n\n // Mutation observer for content wrap\n this.contentWrapMutationObserver = null\n\n // Run initializer\n this.init()\n }\n\n /**\n * Log to console\n *\n * @param {string} text - Text to log\n * @returns {void}\n */\n log (text = '') {\n console.log('Bartender: ' + text)\n }\n\n /**\n * Log error to console\n *\n * @param {string} text - Text to log\n * @returns {void}\n */\n logError (text = '') {\n console.error('Bartender: ' + text)\n }\n\n /**\n * Log debug message to console\n *\n * @param {string} text - Text to log\n * @returns {void}\n */\n debug (text = '') {\n if (!this.options.debug) return\n\n console.log('Bartender debug: ' + text)\n }\n\n /**\n * Disable focus of elements\n *\n * @param {array} Array of DOM elements\n * @returns {void}\n */\n disableFocus (elements = []) {\n const startTime = performance.now()\n\n let iterationCount = 0\n\n for (let i = 0; i < elements.length; i++) {\n let element = elements[i]\n\n // Discard element if it's not focusable, or if it's already disabled\n if (typeof element.matches !== 'function' || !element.matches(this.options.focusableElementSelector) || element.getAttribute('data-bartender-prevtabindex')) continue\n\n element.setAttribute('data-bartender-prevtabindex', element.getAttribute('tabindex'))\n element.setAttribute('tabindex', '-1')\n\n iterationCount++\n }\n\n const endTime = performance.now()\n\n if (iterationCount > 0) {\n this.debug('Disabled focus of ' + iterationCount + ' elements in ' + (endTime - startTime))\n }\n }\n\n /**\n * Enable focus of elements\n *\n * @param {array} Array of DOM elements\n * @returns {void}\n */\n enableFocus (elements = []) {\n const startTime = performance.now()\n\n let iterationCount = 0\n\n for (let i = 0; i < elements.length; i++) {\n let element = elements[i]\n\n // If element has previous tabindex marked, return it. Otherwise just remove tabindex attribute.\n if (element.getAttribute('data-bartender-prevtabindex') != 'null') {\n element.setAttribute('tabindex', element.getAttribute('data-bartender-prevtabindex'))\n } else {\n element.removeAttribute('tabindex')\n }\n\n element.removeAttribute('data-bartender-prevtabindex')\n\n iterationCount++\n }\n\n const endTime = performance.now()\n\n if (iterationCount > 0) {\n this.debug('Enabled focus of ' + iterationCount + ' elements in ' + (endTime - startTime))\n }\n }\n\n /**\n * Is defined bar position valid?\n *\n * @param {string} position - Position to validate\n * @returns {boolean}\n */\n isValidPosition (position = null) {\n return this.validBarPositions.indexOf(position) >= 0\n }\n\n /**\n * Initialize Bartender\n *\n * @returns {object} Bartender instance\n */\n init () {\n try {\n // Main wrap\n this.mainWrap = document.querySelector(this.options.mainWrapSelector)\n if (!this.mainWrap) throw 'Main wrap element was not found with selector: ' + this.options.mainWrapSelector\n this.mainWrap.classList.add('bartender-main')\n\n // Content wrap\n this.contentWrap = this.mainWrap.querySelector(this.options.contentWrapSelector)\n if (!this.contentWrap) throw 'Content wrap element was not found with selector: ' + this.options.contentWrapSelector\n this.contentWrap.classList.add('bartender-content')\n this.contentWrap.setAttribute('tabindex', '-1')\n\n // Find buttons\n this.openButtons = this.mainWrap.querySelectorAll('[data-bartender-open]')\n this.closeButtons = this.mainWrap.querySelectorAll('[data-bartender-close]')\n this.toggleButtons = this.mainWrap.querySelectorAll('[data-bartender-toggle]')\n\n // Find bars\n const bars = this.mainWrap.querySelectorAll('[data-bartender-bar]')\n\n for (let i = 0; i < bars.length; i++) {\n this.addBar(bars[i])\n }\n\n // Open buttons\n for (let i = 0; i < this.openButtons.length; i++) {\n let button = this.openButtons[i]\n let position = button.getAttribute('data-bartender-open')\n\n if (!this.isValidPosition(position)) {\n this.logError('Open button has invalid bar position \\'' + position + '\\' defined. Use one of the following values: ' + this.validBarPositions.join(', '))\n return\n }\n\n button.setAttribute('aria-expanded', 'false')\n button.addEventListener('click', () => {\n this.open(position, button)\n })\n }\n\n // Toggle buttons\n for (let i = 0; i < this.toggleButtons.length; i++) {\n let button = this.toggleButtons[i]\n let position = button.getAttribute('data-bartender-toggle')\n\n if (!this.isValidPosition(position)) {\n this.logError('Toggle button has invalid bar position \\'' + position + '\\' defined. Use one of the following values: ' + this.validBarPositions.join(', '))\n return\n }\n\n button.setAttribute('aria-expanded', 'false')\n button.addEventListener('click', () => {\n this.toggle(position, button)\n })\n }\n\n // Close buttons\n for (let i = 0; i < this.closeButtons.length; i++) {\n let button = this.closeButtons[i]\n\n button.addEventListener('click', () => {\n this.close()\n })\n }\n\n // Find pushable elements\n this.pushElements = this.mainWrap.querySelectorAll('[data-bartender-push]')\n\n if (this.pushElements.length) this.debug('Registered ' + this.pushElements.length + ' pushable elements.')\n\n // Add overlay\n if (this.options.overlay && !this.overlay) {\n this.overlay = document.createElement('div')\n this.overlay.classList.add('bartender-overlay')\n\n if (this.options.closeOnOverlayClick === true) {\n this.overlay.addEventListener('click', () => this.close())\n }\n\n this.contentWrap.appendChild(this.overlay)\n }\n\n // Enable closing the bar with escape key\n if (this.options.closeOnEsc) {\n window.addEventListener('keydown', event => {\n let key = event.key || event.keyCode\n\n if (key === 'Escape' || key === 'Esc' || key === 27) {\n this.close()\n }\n })\n }\n\n // Adjust content wrapper transform when window is resized\n window.addEventListener('resize', () => {\n clearTimeout(this.resizeTimeout)\n\n this.resizeTimeout = setTimeout(() => {\n this.setPush()\n }, 200)\n })\n\n // Add mutation observer for content wrapper\n if (this.options.trapFocus === true) {\n this.contentWrapMutationObserver = new MutationObserver((mutationsList) => {\n if (!this.currentOpenBar) return\n\n for (let i = 0; i < mutationsList.length; i++) {\n let mutation = mutationsList[i]\n\n if (mutation.type === 'childList') {\n if (mutation.addedNodes && mutation.addedNodes.length) {\n this.disableFocus(mutation.addedNodes)\n }\n }\n }\n })\n\n this.contentWrapMutationObserver.observe(this.contentWrap, {\n attributes: false,\n childList: true,\n subtree: true,\n })\n }\n\n // Add class to the main wrap\n this.mainWrap.classList.add(this.options.readyClass)\n } catch (error) {\n this.logError(error)\n }\n\n return this\n }\n\n /**\n * Add a new off-canvas bar\n *\n * @param {object} element - DOM element. If undefined, the element will be created.\n * @param {object} options - Bar options\n * @returns {object} Added bar instance\n */\n addBar (element = null, options = {}) {\n try {\n // If element doesn't exist, create it\n let newElement = false\n\n if (element === null) {\n newElement = true\n element = document.createElement('div')\n }\n\n // Initially remove transition\n element.style.transition = 'none'\n\n // Get bar configuration\n let position = options.position || element.getAttribute('data-bartender-bar')\n let mode = options.mode || element.getAttribute('data-bartender-bar-mode')\n\n // If mode is not specified, fall back to 'float'\n mode = mode || 'float'\n\n // Validate configuration\n if (!this.isValidPosition(position)) throw 'Invalid bar position \\'' + position + '\\'. Use one of the following values: ' + this.validBarPositions.join(', ')\n if (this.validModes.indexOf(mode) < 0) throw 'Invalid mode \\'' + mode + '\\' for bar \\'' + position + '\\'. Use one of the following values: ' + this.validModes.join(', ')\n if (this.bars[position]) throw 'Bar with position \\'' + position + '\\' is already defined'\n\n // Initially disable focus of the bar and it's child elements\n element.setAttribute('tabindex', '-1')\n element.setAttribute('aria-hidden', 'true')\n this.disableFocus(element.querySelectorAll(this.options.focusableElementSelector))\n\n // Set data-attributes\n element.setAttribute('data-bartender-bar', position)\n element.setAttribute('data-bartender-bar-mode', mode)\n\n // If element is new, append to main container\n if (newElement === true) this.mainWrap.appendChild(element)\n\n // Return transition\n setTimeout(() => {\n element.style.transition = null\n })\n\n // Create new bar object\n const newBar = {\n element: element,\n position: position,\n mode: mode,\n mutationObserver: new MutationObserver((mutationsList) => {\n if (this.currentOpenBar && this.currentOpenBar.position === position) return\n\n for (let i = 0; i < mutationsList.length; i++) {\n let mutation = mutationsList[i]\n\n if (mutation.type === 'childList') {\n if (mutation.addedNodes && mutation.addedNodes.length) {\n this.disableFocus(mutation.addedNodes)\n }\n }\n }\n }),\n }\n\n newBar.mutationObserver.observe(newBar.element, {\n attributes: false,\n childList: true,\n subtree: true,\n })\n\n this.bars[position] = newBar\n\n this.debug('Added bar \\'' + position + '\\' with mode \\'' + mode + '\\'')\n\n return newBar\n } catch (error) {\n this.logError(error)\n\n return null\n }\n }\n\n /**\n * Remove bar\n *\n * @param {string} position - Bar position to remove\n * @param {boolean} removeElement - Remove DOM element?\n * @returns {void}\n */\n removeBar (position = null, removeElement = true) {\n try {\n // If this bar is currently open, close it first\n if (this.currentOpenBar && this.currentOpenBar.position === position) {\n this.close()\n }\n\n // Validate position\n if (!this.isValidPosition(position)) throw 'Invalid bar position \\'' + position + '\\'. Use one of the following values: ' + this.validBarPositions.join(', ')\n if (!this.bars[position]) throw 'Bar with position \\'' + position + '\\' doesn\\'t exist'\n\n if (removeElement === true) {\n this.mainWrap.removeChild(this.bars[position].element)\n }\n\n delete this.bars[position]\n\n this.debug('Removed bar with position \\'' + position + '\\'')\n } catch (error) {\n this.logError(error)\n }\n }\n\n /**\n * Open off-canvas bar\n *\n * @param {string} position - Bar position\n * @param {object} button - Button which was used to run this method\n * @returns {object} Opened bar instance\n */\n open (position = '', button = null) {\n try {\n // Validate position\n if (!this.isValidPosition(position)) throw 'Invalid bar position \\'' + position + '\\'. Use one of the following values: ' + this.validBarPositions.join(', ')\n\n // Get bar instance\n const bar = this.bars[position]\n\n if (!bar) throw 'Bar with position \\'' + position + '\\' is not defined.'\n\n // Close other bars\n if (this.currentOpenBar) {\n this.close(false)\n } else if (this.options.trapFocus === true) {\n this.disableFocus(this.contentWrap.querySelectorAll(this.options.focusableElementSelector))\n }\n\n this.contentWrap.setAttribute('aria-hidden', 'true')\n\n this.debug('Opening bar \\'' + position + '\\'')\n\n // Mark this bar as open\n this.currentOpenBar = bar\n bar.element.classList.add('bartender-bar--open')\n\n // Scroll to top\n if (this.options.scrollTop) {\n bar.element.scrollTop = 0\n }\n\n // Focus on bar\n bar.element.removeAttribute('aria-hidden')\n this.enableFocus(bar.element.querySelectorAll('[data-bartender-prevtabindex]'))\n bar.element.focus()\n\n // Push elements\n this.setPush()\n\n // Remember the button which was used to open the bar\n this.previousOpenButton = button\n\n // Set ARIA attributes of the button\n if (button) button.setAttribute('aria-expanded', true)\n\n // Show overlay\n this.showOverlay()\n\n // Add class to the main element\n this.mainWrap.classList.add(this.options.openClass)\n\n // Dispatch event\n this.mainWrap.dispatchEvent(new CustomEvent('bartender-open', {\n bubbles: true,\n detail: {\n bar: bar,\n button: button,\n },\n }))\n\n return bar\n } catch (error) {\n this.logError(error)\n }\n }\n\n /**\n * Toggle off-canvas bar\n *\n * @param {string} position - Bar position\n * @param {object} button - Button which was used to run this method\n * @returns {object} Toggled bar instance\n */\n toggle (position = null, button = null) {\n try {\n if (!this.isValidPosition(position)) throw 'Invalid bar position \\'' + position + '\\'. Use one of the following values: ' + this.validBarPositions.join(', ')\n\n if (this.currentOpenBar && this.currentOpenBar.position == position) {\n return this.close()\n } else {\n this.close()\n return this.open(position, button)\n }\n } catch (error) {\n this.logError(error)\n }\n }\n\n /**\n * Close any open off-canvas bar\n *\n * @param {boolean} enableFocusOfContentWrap - Enable focus of content wrap\n * @returns {object} Closed bar\n */\n close (enableFocusOfContentWrap = true) {\n try {\n if (!this.currentOpenBar) return\n\n let bar = this.bars[this.currentOpenBar.position]\n\n this.debug('Closing bar \\'' + bar.position + '\\'')\n\n // Dispatch event\n this.mainWrap.dispatchEvent(new CustomEvent('bartender-close', {\n bubbles: true,\n detail: {\n bar: bar,\n },\n }))\n\n // Hide overlay\n this.hideOverlay()\n\n // Remove transform from wrapper element\n this.contentWrap.style.removeProperty('transform')\n\n // Remove transforms from pushable elements\n for (let i = 0; i < this.pushElements.length; i++) {\n this.pushElements[i].style.removeProperty('transform')\n }\n\n // Disable focus of bar element\n this.disableFocus(bar.element.querySelectorAll(this.options.focusableElementSelector))\n bar.element.setAttribute('tabindex', '-1')\n bar.element.setAttribute('aria-hidden', 'true')\n\n // Enable focus on content element\n this.contentWrap.removeAttribute('aria-hidden')\n\n if (this.options.trapFocus === true && enableFocusOfContentWrap === true) {\n this.enableFocus(this.contentWrap.querySelectorAll('[data-bartender-prevtabindex]'))\n }\n\n // Close the bar\n bar.element.classList.remove('bartender-bar--open')\n this.currentOpenBar = null\n\n // Restore scrolling to the main wrap\n this.mainWrap.style.removeProperty('overflow')\n\n // Remove class from the main wrap\n this.mainWrap.classList.remove(this.options.openClass)\n\n // Focus open button which was used to open the bar\n if (this.previousOpenButton && this.previousOpenButton.getAttribute('tabindex') >= 0) {\n this.previousOpenButton.focus()\n this.previousOpenButton.setAttribute('aria-expanded', 'false')\n this.previousOpenButton = null\n } else if (enableFocusOfContentWrap === true) {\n // Bar was closed using keyboard or API. Focus on content wrapper instead.\n this.contentWrap.focus()\n }\n\n return bar\n } catch (error) {\n this.logError(error)\n }\n }\n\n /**\n * Set transforms for pushable elements\n *\n * @returns {void}\n */\n setPush () {\n if (!this.currentOpenBar || !this.currentOpenBar.mode) return\n\n let transform = null\n\n // Hide overflow of main wrapper\n // This has to be done first in order to get correct width/height\n this.mainWrap.style.overflow = 'hidden'\n\n switch (this.currentOpenBar.position) {\n case 'left':\n transform = 'translateX(' + this.currentOpenBar.element.offsetWidth + 'px)'\n break\n\n case 'right':\n transform = 'translateX(-' + this.currentOpenBar.element.offsetWidth + 'px)'\n break\n\n case 'top':\n transform = 'translateY(' + this.currentOpenBar.element.offsetHeight + 'px)'\n break\n\n case 'bottom':\n transform = 'translateY(-' + this.currentOpenBar.element.offsetHeight + 'px)'\n break\n }\n\n if ([\n 'push',\n 'reveal',\n ].indexOf(this.currentOpenBar.mode) >= 0) {\n // Transform content wrapper\n this.contentWrap.style.transform = transform\n }\n\n // Transform other pushable elements\n for (let i = 0; i < this.pushElements.length; i++) {\n this.pushElements[i].style.transform = transform\n }\n }\n\n /**\n * Show shading overlay\n *\n * @returns {void}\n */\n showOverlay () {\n if (!this.overlay) return\n if (this.overlay.classList.contains('bartender-overlay--visible')) return\n\n this.overlay.classList.add('bartender-overlay--visible')\n }\n\n /**\n * Hide shading overlay\n *\n * @returns {void}\n */\n hideOverlay () {\n if (!this.overlay) return\n if (!this.overlay.classList.contains('bartender-overlay--visible')) return\n\n this.overlay.classList.remove('bartender-overlay--visible')\n }\n}\n"],"file":"bartender.module.js"} \ No newline at end of file diff --git a/dist/bartender.scss b/dist/bartender.scss index 05d0dd2..1d73aad 100644 --- a/dist/bartender.scss +++ b/dist/bartender.scss @@ -12,6 +12,17 @@ body { margin: 0; } +// Add transitions +.bartender-content, +[data-bartender-bar], +[data-bartender-push] { + transition: $bartender-transition; + + @media (prefers-reduced-motion) { + transition: none; + } +} + .bartender-main { position: relative; width: 100%; @@ -27,7 +38,6 @@ body { position: relative; width: 100%; min-height: calc(100vh - calc(100vh - 100%)); - transition: $bartender-transition; will-change: transform; background: #fff; @@ -41,7 +51,6 @@ body { position: fixed; background: #000; color: #fff; - transition: $bartender-transition; will-change: transform; overflow: auto; @@ -114,10 +123,6 @@ body { } } -[data-bartender-push] { - transition: $bartender-transition; -} - .bartender-overlay { z-index: 9999; visibility: hidden;