From 3a9f56495b60f17ce9e4159feb71187a4b6b93a5 Mon Sep 17 00:00:00 2001 From: Iqbal Fauzi Date: Wed, 13 Jan 2021 14:34:43 +0700 Subject: [PATCH] Add additional option and event - Add option onPick and onItemRendered - Add event (pick|itemrender).bs.autocomplete --- build/banner.js | 2 +- dist/js/bootstrap-autocomplete.js | 50 +- dist/js/bootstrap-autocomplete.js.map | 2 +- dist/js/bootstrap-autocomplete.min.js | 4 +- dist/js/bootstrap-autocomplete.min.js.map | 2 +- docs/index.html | 123 +- docs/js/bootstrap-autocomplete.js | 50 +- docs/js/bootstrap-autocomplete.js.map | 2 +- package-lock.json | 4512 +++++++++++++++++---- package.json | 14 +- src/js/autocomplete.js | 72 +- 11 files changed, 3886 insertions(+), 947 deletions(-) diff --git a/build/banner.js b/build/banner.js index edc48a1..dd79e8c 100644 --- a/build/banner.js +++ b/build/banner.js @@ -4,7 +4,7 @@ const year = new Date().getFullYear() function getBanner(pluginFilename) { return `/*! - * Bootstrap Autocomplete v0.1.1 (https://iqbalfn.github.io/bootstrap-autocomplete/) + * Bootstrap Autocomplete v0.2.0 (https://iqbalfn.github.io/bootstrap-autocomplete/) * Copyright 2019 Iqbal Fauzi * Licensed under MIT (https://github.com/iqbalfn/bootstrap-autocomplete/blob/master/LICENSE) */` diff --git a/dist/js/bootstrap-autocomplete.js b/dist/js/bootstrap-autocomplete.js index e076458..c53921a 100644 --- a/dist/js/bootstrap-autocomplete.js +++ b/dist/js/bootstrap-autocomplete.js @@ -1,5 +1,5 @@ /*! - * Bootstrap Autocomplete v0.1.1 (https://iqbalfn.github.io/bootstrap-autocomplete/) + * Bootstrap Autocomplete v0.2.0 (https://iqbalfn.github.io/bootstrap-autocomplete/) * Copyright 2019 Iqbal Fauzi * Licensed under MIT (https://github.com/iqbalfn/bootstrap-autocomplete/blob/master/LICENSE) */ @@ -9,7 +9,7 @@ (global = global || self, factory(global['bootstrap-autocomplete'] = {}, global.jQuery)); }(this, (function (exports, $) { 'use strict'; - $ = $ && $.hasOwnProperty('default') ? $['default'] : $; + $ = $ && Object.prototype.hasOwnProperty.call($, 'default') ? $['default'] : $; function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { @@ -44,7 +44,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { - var source = arguments[i] != null ? arguments[i] : {}; + var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { @@ -223,7 +223,7 @@ */ var NAME = 'autocomplete'; - var VERSION = '0.1.0'; + var VERSION = '0.2.0'; var DATA_KEY = 'bs.autocomplete'; var EVENT_KEY = "." + DATA_KEY; var DATA_API_KEY = '.data-api'; @@ -236,6 +236,8 @@ filterMinChars: 1, filterRelation: null, maxResult: 10, + onPick: null, + onItemRendered: null, preProcess: null }; var DefaultType = { @@ -246,13 +248,17 @@ filterMinChars: 'number', filterRelation: '(null|object)', maxResult: 'number', - preProcess: '(null|function)' + preProcess: '(null|function)', + onPick: '(null|function)', + onItemRendered: '(null|function)' }; var Event = { BLUR_DATA_API: "blur" + EVENT_KEY + DATA_API_KEY, CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY, KEYDOWN_DATA_API: "keydown" + EVENT_KEY + DATA_API_KEY, - INPUT_DATA_API: "input" + EVENT_KEY + DATA_API_KEY + INPUT_DATA_API: "input" + EVENT_KEY + DATA_API_KEY, + PICK: "pick" + EVENT_KEY, + ITEM_RENDER: "itemrender" + EVENT_KEY }; var KeyCode = { ARROW_DOWN: 40, @@ -266,9 +272,7 @@ * ------------------------------------------------------------------------ */ - var Autocomplete = - /*#__PURE__*/ - function () { + var Autocomplete = /*#__PURE__*/function () { function Autocomplete(element, config) { this._config = this._getConfig(config); this._element = element; @@ -366,9 +370,9 @@ case KeyCode.ENTER: if (_this._isShown) { - var focus = $(_this._dropdown).children('.active').get(0); - if (!focus) focus = $(_this._dropdown).children(':first-child').get(0); - if (focus) _this._element.value = focus.innerText; + var item = $(_this._dropdown).children('.active').get(0); + if (!item) item = $(_this._dropdown).children(':first-child').get(0); + if (item) _this._selectItem(item); _this.hide(); @@ -605,9 +609,18 @@ items.forEach(function (i) { if (_this6._dropdown.children.length >= _this6._config.maxResult) return; - $('').text(i).appendTo(_this6._dropdown).on(Event.CLICK_DATA_API, function (e) { + var item = $(''); + var itemEl = item.get(0); + item.text(i).appendTo(_this6._dropdown); + if (_this6._config.onItemRendered) _this6._config.onItemRendered(_this6._element, itemEl); + var renderEvent = $.Event(Event.ITEM_RENDER, { + item: itemEl + }); + $(_this6._element).trigger(renderEvent); + item.on(Event.CLICK_DATA_API, function (e) { + _this6._selectItem(e.target); + _this6._preventClose = true; - _this6._element.value = e.target.innerText; _this6.hide(); @@ -617,6 +630,15 @@ }); }; + _proto._selectItem = function _selectItem(item) { + this._element.value = item.innerText; + if (this._config.onPick) this._config.onPick(this._element, item); + var pickEvent = $.Event(Event.PICK, { + item: item + }); + $(this._element).trigger(pickEvent); + }; + _proto._showDropdown = function _showDropdown() { this._isShown = true; diff --git a/dist/js/bootstrap-autocomplete.js.map b/dist/js/bootstrap-autocomplete.js.map index 28bb0b4..5f657f5 100644 --- a/dist/js/bootstrap-autocomplete.js.map +++ b/dist/js/bootstrap-autocomplete.js.map @@ -1 +1 @@ -{"version":3,"file":"bootstrap-autocomplete.js","sources":["../../src/js/util.js","../../src/js/autocomplete.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\nconst TRANSITION_END = 'transitionend'\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nfunction toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\nfunction getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n}\n\nfunction transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n}\n\nfunction setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''\n }\n\n try {\n return document.querySelector(selector) ? selector : null\n } catch (err) {\n return null\n }\n },\n\n getTransitionDurationFromElement(element) {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let transitionDuration = $(element).css('transition-duration')\n let transitionDelay = $(element).css('transition-delay')\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END)\n },\n\n // TODO: Remove in v5\n supportsTransitionEnd() {\n return Boolean(TRANSITION_END)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n },\n\n findShadowRoot(element) {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return Util.findShadowRoot(element.parentNode)\n }\n}\n\nsetTransitionEndSupport()\n\nexport default Util\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap Autocomplete (v0.1.0): autocomplete.js\n * Licensed under MIT (https://github.com/iqbalfn/bootstrap-autocomplete/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'autocomplete'\nconst VERSION = '0.1.0'\nconst DATA_KEY = 'bs.autocomplete'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n list : null,\n\n prefetch : null,\n\n filter : null,\n filterDelay : 300,\n filterMinChars : 1,\n filterRelation : null,\n\n maxResult : 10,\n\n preProcess : null\n}\n\nconst DefaultType = {\n list : '(null|string|element)',\n\n prefetch : '(null|string)',\n\n filter : '(null|string)',\n filterDelay : 'number',\n filterMinChars : 'number',\n filterRelation : '(null|object)',\n\n maxResult : 'number',\n\n preProcess : '(null|function)'\n}\n\nconst Event = {\n BLUR_DATA_API : `blur${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n INPUT_DATA_API : `input${EVENT_KEY}${DATA_API_KEY}`,\n}\n\nconst ClassName = {\n DROPDOWN_MENU : 'dropdown-menu',\n DROPDOWN_ITEM : 'dropdown-item'\n}\n\nconst KeyCode = {\n ARROW_DOWN : 40,\n ARROW_UP : 38,\n ENTER : 13,\n ESCAPE : 27\n}\n\nconst Selector = {}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Autocomplete {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n\n this._items = []\n this._labels = {}\n\n this._isShown = false\n this._dropdown = null\n this._spinner = null\n this._result = []\n this._query = ''\n this._preventClose = false\n this._timer = null\n this._relations = null\n\n if(element.hasAttribute('list')){\n this._config.list = '#' + element.getAttribute('list')\n element.removeAttribute('list')\n }\n\n if(!this._config.list && !this._config.prefetch && !this._config.filter)\n throw new TypeError('No data source provided')\n\n if(this._config.filterRelation)\n this._handleRelations()\n\n element.setAttribute('autocomplete', 'off')\n\n this._makeDropdown()\n this._makeSpinner()\n this._fetchPresetData()\n this._addElementListener()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n show(){\n if(this._isShown)\n return\n\n if(this._result.length)\n this._showDropdown()\n }\n\n hide(){\n if(!this._isShown)\n return\n\n this._hideDropdown()\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._items = null\n this._labels = null\n this._isShown = null\n this._dropdown = null\n this._spinner = null\n this._result = null\n this._query = null\n this._preventClose = null\n if(this._timer)\n clearTimeout(this._timer)\n this._timer = null\n }\n\n // Private\n\n _addElementListener(){\n $(this._element).on(Event.KEYDOWN_DATA_API, e => {\n let prevent = false\n\n switch(e.keyCode){\n case KeyCode.ARROW_DOWN:\n if(e.altKey && !this._isShown){\n this._query = this._element.value.trim().toLowerCase()\n\n if(this._query){\n this._findFromList()\n prevent = true\n }\n }else{\n this._focusNext()\n prevent = true\n }\n break;\n\n case KeyCode.ARROW_UP:\n this._focusPrev()\n prevent = true\n break;\n \n case KeyCode.ENTER:\n if(this._isShown){\n let focus = $(this._dropdown).children('.active').get(0)\n if(!focus)\n focus = $(this._dropdown).children(':first-child').get(0)\n\n if(focus)\n this._element.value = focus.innerText\n\n this.hide()\n prevent = true\n }\n break;\n \n case KeyCode.ESCAPE:\n prevent = true\n this.hide()\n break;\n }\n\n if(prevent)\n e.preventDefault()\n })\n\n $(this._element).on(Event.INPUT_DATA_API, e => {\n this._query = this._element.value.trim().toLowerCase()\n\n if(!this._query){\n this._truncateDropdown()\n this.hide()\n }else{\n this._findFromList()\n }\n })\n\n $(this._element).on(Event.BLUR_DATA_API, e => {\n if(this._preventClose)\n return\n setTimeout(() => this.hide(), 150)\n })\n }\n\n _fetchPresetData(){\n // from datalist\n if(this._config.list){\n let dataList = this._config.list\n if(typeof dataList === 'string')\n dataList = document.querySelector(this._config.list)\n\n if(dataList){\n Array.from(dataList.children).forEach(o => {\n let val = o.innerHTML.toLowerCase()\n if(this._items.includes(val))\n return\n\n this._items.push(val)\n this._labels[val] = o.innerHTML\n })\n }\n }\n\n // from prefetch\n if(this._config.prefetch){\n this._showSpinner()\n $.get(this._config.prefetch, res => {\n this._hideSpinner()\n if(this._config.preProcess)\n res = this._config.preProcess(res)\n\n res.forEach(i => {\n let val = i.toLowerCase()\n if(this._items.includes(val))\n return\n this._items.push(val)\n this._labels[val] = i\n })\n })\n }\n }\n\n _findFromAjax(){\n if(!this._config.filter)\n return\n if(this._dropdown.children.length >= this._config.maxResult)\n return\n\n if(this._timer)\n clearTimeout(this._timer)\n\n let vval = this._query\n this._timer = setTimeout(() => {\n if(vval != this._query)\n return\n this._showSpinner()\n\n let url = this._config.filter\n .replace(/%23/g, '#')\n .replace('#QUERY#', this._query)\n\n if(this._relations){\n let sep = url.includes('?') ? '&' : '?'\n\n for(let k in this._relations){\n let el = this._relations[k]\n let val= $(el).val()\n if(!val)\n continue;\n\n url+= `${sep}${k}=${val}`\n sep = '&'\n }\n }\n\n $.get(url, res => {\n this._hideSpinner()\n if(this._config.preProcess)\n res = this._config.preProcess(res)\n\n let local = []\n res.forEach(i => {\n let val = i.toLowerCase()\n if(this._items.includes(val))\n return\n \n this._items.push(val)\n this._labels[val] = i\n\n local.push(i)\n this._result.push(i)\n })\n\n if(local.length)\n this._renderItem(local)\n\n if(this._result.length)\n this.show()\n else\n this.hide()\n })\n }, this._config.filterDelay)\n }\n\n _findFromList(){\n this._truncateDropdown()\n this._result = []\n\n let local = []\n this._items.forEach(i => {\n if(!i.includes(this._query))\n return\n\n let label = this._labels[i]\n\n if(this._result.includes(label))\n return\n\n local.push(label)\n this._result.push(label)\n })\n\n // now render the result\n if(local.length){\n this._renderItem(local)\n this.show()\n }else{\n this.hide()\n }\n\n this._findFromAjax()\n }\n\n _focusNext(){\n let next = $(this._dropdown).children(':first-child').get(0)\n let focused = $(this._dropdown).children('.active').get(0)\n\n if(focused){\n focused.classList.remove('active')\n let tmpNext = $(focused).next().get(0)\n if(tmpNext)\n next = tmpNext\n }\n\n if(next)\n next.classList.add('active')\n }\n\n _focusPrev(){\n let next = $(this._dropdown).children(':last-child').get(0)\n let focused = $(this._dropdown).children('.active').get(0)\n\n if(focused){\n focused.classList.remove('active')\n let tmpNext = $(focused).prev().get(0)\n if(tmpNext)\n next = tmpNext\n }\n\n if(next)\n next.classList.add('active')\n }\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleRelations(){\n this._relations = []\n for(let name in this._config.filterRelation){\n let selector = this._config.filterRelation[name];\n this._relations[name] = $(selector).get(0)\n $(this._relations[name]).change(e => {\n this._element.value = ''\n $(this._element).change() // we need to trigger this manually\n this._items = []\n });\n }\n }\n\n _hideDropdown(){\n this._isShown = false\n this._dropdown.classList.remove('show')\n }\n\n _hideSpinner(){\n this._spinner.style.display = 'none'\n }\n\n _makeDropdown(){\n this._element.parentNode.style.position = 'relative'\n\n let tmpl = '
'\n\n this._dropdown = $(tmpl).appendTo(this._element.parentNode).get(0)\n\n }\n\n _makeSpinner(){\n let tmpl = '
'\n\n this._spinner = $(tmpl).appendTo(this._element.parentNode).get(0)\n\n $(this._spinner).css({\n position : 'absolute',\n right : $(this._element).css('padding-right'),\n top : (this._element.offsetTop + ((this._element.offsetHeight - this._spinner.offsetHeight)/2)) + 'px'\n })\n\n this._hideSpinner()\n }\n\n _renderItem(items){\n items.forEach(i => {\n if(this._dropdown.children.length >= this._config.maxResult)\n return\n\n $('')\n .text(i)\n .appendTo(this._dropdown)\n .on(Event.CLICK_DATA_API, e => {\n this._preventClose = true\n this._element.value = e.target.innerText\n this.hide()\n e.preventDefault()\n this._preventClose = false\n })\n })\n }\n\n _showDropdown(){\n this._isShown = true\n this._dropdown.classList.add('show')\n }\n\n _showSpinner(){\n this._spinner.style.display = 'inline-block'\n }\n\n _truncateDropdown(){\n this._dropdown.innerHTML = ''\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Default,\n ...$(this).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Autocomplete(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined')\n throw new TypeError(`No method named \"${config}\"`)\n data[config](relatedTarget)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Autocomplete._jQueryInterface\n$.fn[NAME].Constructor = Autocomplete\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Autocomplete._jQueryInterface\n}\n\nexport default Autocomplete"],"names":["TRANSITION_END","MAX_UID","MILLISECONDS_MULTIPLIER","toType","obj","toString","call","match","toLowerCase","getSpecialTransitionEndEvent","bindType","delegateType","handle","event","$","target","is","handleObj","handler","apply","arguments","undefined","transitionEndEmulator","duration","called","one","Util","setTimeout","triggerTransitionEnd","setTransitionEndSupport","fn","emulateTransitionEnd","special","getUID","prefix","Math","random","document","getElementById","getSelectorFromElement","element","selector","getAttribute","hrefAttr","trim","querySelector","err","getTransitionDurationFromElement","transitionDuration","css","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","reflow","offsetHeight","trigger","supportsTransitionEnd","Boolean","isElement","nodeType","typeCheckConfig","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","parentNode","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","Default","list","prefetch","filter","filterDelay","filterMinChars","filterRelation","maxResult","preProcess","DefaultType","Event","BLUR_DATA_API","CLICK_DATA_API","KEYDOWN_DATA_API","INPUT_DATA_API","KeyCode","ARROW_DOWN","ARROW_UP","ENTER","ESCAPE","Autocomplete","_config","_getConfig","_element","_items","_labels","_isShown","_dropdown","_spinner","_result","_query","_preventClose","_timer","_relations","hasAttribute","removeAttribute","TypeError","_handleRelations","setAttribute","_makeDropdown","_makeSpinner","_fetchPresetData","_addElementListener","show","length","_showDropdown","hide","_hideDropdown","dispose","off","removeData","clearTimeout","on","e","prevent","keyCode","altKey","_findFromList","_focusNext","_focusPrev","focus","children","get","innerText","preventDefault","_truncateDropdown","dataList","Array","from","forEach","o","val","innerHTML","includes","push","_showSpinner","res","_hideSpinner","i","_findFromAjax","vval","url","replace","sep","k","el","local","_renderItem","label","next","focused","classList","remove","tmpNext","add","prev","name","change","style","display","position","tmpl","appendTo","right","top","offsetTop","items","text","_jQueryInterface","relatedTarget","each","data","Constructor","noConflict"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"bootstrap-autocomplete.js","sources":["../../src/js/util.js","../../src/js/autocomplete.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\nconst TRANSITION_END = 'transitionend'\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nfunction toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\nfunction getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n}\n\nfunction transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n}\n\nfunction setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''\n }\n\n try {\n return document.querySelector(selector) ? selector : null\n } catch (err) {\n return null\n }\n },\n\n getTransitionDurationFromElement(element) {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let transitionDuration = $(element).css('transition-duration')\n let transitionDelay = $(element).css('transition-delay')\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END)\n },\n\n // TODO: Remove in v5\n supportsTransitionEnd() {\n return Boolean(TRANSITION_END)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n },\n\n findShadowRoot(element) {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return Util.findShadowRoot(element.parentNode)\n }\n}\n\nsetTransitionEndSupport()\n\nexport default Util\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap Autocomplete (v0.2.0): autocomplete.js\n * Licensed under MIT (https://github.com/iqbalfn/bootstrap-autocomplete/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'autocomplete'\nconst VERSION = '0.2.0'\nconst DATA_KEY = 'bs.autocomplete'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n list : null,\n\n prefetch : null,\n\n filter : null,\n filterDelay : 300,\n filterMinChars : 1,\n filterRelation : null,\n\n maxResult : 10,\n\n onPick : null,\n onItemRendered : null,\n\n preProcess : null\n}\n\nconst DefaultType = {\n list : '(null|string|element)',\n\n prefetch : '(null|string)',\n\n filter : '(null|string)',\n filterDelay : 'number',\n filterMinChars : 'number',\n filterRelation : '(null|object)',\n\n maxResult : 'number',\n\n preProcess : '(null|function)',\n\n onPick : '(null|function)',\n onItemRendered : '(null|function)'\n}\n\nconst Event = {\n BLUR_DATA_API : `blur${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n INPUT_DATA_API : `input${EVENT_KEY}${DATA_API_KEY}`,\n\n PICK : `pick${EVENT_KEY}`,\n ITEM_RENDER : `itemrender${EVENT_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_MENU : 'dropdown-menu',\n DROPDOWN_ITEM : 'dropdown-item'\n}\n\nconst KeyCode = {\n ARROW_DOWN : 40,\n ARROW_UP : 38,\n ENTER : 13,\n ESCAPE : 27\n}\n\nconst Selector = {}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Autocomplete {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n\n this._items = []\n this._labels = {}\n\n this._isShown = false\n this._dropdown = null\n this._spinner = null\n this._result = []\n this._query = ''\n this._preventClose = false\n this._timer = null\n this._relations = null\n\n if(element.hasAttribute('list')){\n this._config.list = '#' + element.getAttribute('list')\n element.removeAttribute('list')\n }\n\n if(!this._config.list && !this._config.prefetch && !this._config.filter)\n throw new TypeError('No data source provided')\n\n if(this._config.filterRelation)\n this._handleRelations()\n\n element.setAttribute('autocomplete', 'off')\n\n this._makeDropdown()\n this._makeSpinner()\n this._fetchPresetData()\n this._addElementListener()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n show(){\n if(this._isShown)\n return\n\n if(this._result.length)\n this._showDropdown()\n }\n\n hide(){\n if(!this._isShown)\n return\n\n this._hideDropdown()\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._items = null\n this._labels = null\n this._isShown = null\n this._dropdown = null\n this._spinner = null\n this._result = null\n this._query = null\n this._preventClose = null\n if(this._timer)\n clearTimeout(this._timer)\n this._timer = null\n }\n\n // Private\n\n _addElementListener(){\n $(this._element).on(Event.KEYDOWN_DATA_API, e => {\n let prevent = false\n\n switch(e.keyCode){\n case KeyCode.ARROW_DOWN:\n if(e.altKey && !this._isShown){\n this._query = this._element.value.trim().toLowerCase()\n\n if(this._query){\n this._findFromList()\n prevent = true\n }\n }else{\n this._focusNext()\n prevent = true\n }\n break;\n\n case KeyCode.ARROW_UP:\n this._focusPrev()\n prevent = true\n break;\n\n case KeyCode.ENTER:\n if(this._isShown){\n let item = $(this._dropdown).children('.active').get(0)\n if(!item)\n item = $(this._dropdown).children(':first-child').get(0)\n\n if(item)\n this._selectItem(item)\n\n this.hide()\n prevent = true\n }\n break;\n\n case KeyCode.ESCAPE:\n prevent = true\n this.hide()\n break;\n }\n\n if(prevent)\n e.preventDefault()\n })\n\n $(this._element).on(Event.INPUT_DATA_API, e => {\n this._query = this._element.value.trim().toLowerCase()\n\n if(!this._query){\n this._truncateDropdown()\n this.hide()\n }else{\n this._findFromList()\n }\n })\n\n $(this._element).on(Event.BLUR_DATA_API, e => {\n if(this._preventClose)\n return\n setTimeout(() => this.hide(), 150)\n })\n }\n\n _fetchPresetData(){\n // from datalist\n if(this._config.list){\n let dataList = this._config.list\n if(typeof dataList === 'string')\n dataList = document.querySelector(this._config.list)\n\n if(dataList){\n Array.from(dataList.children).forEach(o => {\n let val = o.innerHTML.toLowerCase()\n if(this._items.includes(val))\n return\n\n this._items.push(val)\n this._labels[val] = o.innerHTML\n })\n }\n }\n\n // from prefetch\n if(this._config.prefetch){\n this._showSpinner()\n $.get(this._config.prefetch, res => {\n this._hideSpinner()\n if(this._config.preProcess)\n res = this._config.preProcess(res)\n\n res.forEach(i => {\n let val = i.toLowerCase()\n if(this._items.includes(val))\n return\n this._items.push(val)\n this._labels[val] = i\n })\n })\n }\n }\n\n _findFromAjax(){\n if(!this._config.filter)\n return\n if(this._dropdown.children.length >= this._config.maxResult)\n return\n\n if(this._timer)\n clearTimeout(this._timer)\n\n let vval = this._query\n this._timer = setTimeout(() => {\n if(vval != this._query)\n return\n this._showSpinner()\n\n let url = this._config.filter\n .replace(/%23/g, '#')\n .replace('#QUERY#', this._query)\n\n if(this._relations){\n let sep = url.includes('?') ? '&' : '?'\n\n for(let k in this._relations){\n let el = this._relations[k]\n let val= $(el).val()\n if(!val)\n continue;\n\n url+= `${sep}${k}=${val}`\n sep = '&'\n }\n }\n\n $.get(url, res => {\n this._hideSpinner()\n if(this._config.preProcess)\n res = this._config.preProcess(res)\n\n let local = []\n res.forEach(i => {\n let val = i.toLowerCase()\n if(this._items.includes(val))\n return\n\n this._items.push(val)\n this._labels[val] = i\n\n local.push(i)\n this._result.push(i)\n })\n\n if(local.length)\n this._renderItem(local)\n\n if(this._result.length)\n this.show()\n else\n this.hide()\n })\n }, this._config.filterDelay)\n }\n\n _findFromList(){\n this._truncateDropdown()\n this._result = []\n\n let local = []\n this._items.forEach(i => {\n if(!i.includes(this._query))\n return\n\n let label = this._labels[i]\n\n if(this._result.includes(label))\n return\n\n local.push(label)\n this._result.push(label)\n })\n\n // now render the result\n if(local.length){\n this._renderItem(local)\n this.show()\n }else{\n this.hide()\n }\n\n this._findFromAjax()\n }\n\n _focusNext(){\n let next = $(this._dropdown).children(':first-child').get(0)\n let focused = $(this._dropdown).children('.active').get(0)\n\n if(focused){\n focused.classList.remove('active')\n let tmpNext = $(focused).next().get(0)\n if(tmpNext)\n next = tmpNext\n }\n\n if(next)\n next.classList.add('active')\n }\n\n _focusPrev(){\n let next = $(this._dropdown).children(':last-child').get(0)\n let focused = $(this._dropdown).children('.active').get(0)\n\n if(focused){\n focused.classList.remove('active')\n let tmpNext = $(focused).prev().get(0)\n if(tmpNext)\n next = tmpNext\n }\n\n if(next)\n next.classList.add('active')\n }\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleRelations(){\n this._relations = []\n for(let name in this._config.filterRelation){\n let selector = this._config.filterRelation[name];\n this._relations[name] = $(selector).get(0)\n $(this._relations[name]).change(e => {\n this._element.value = ''\n $(this._element).change() // we need to trigger this manually\n this._items = []\n });\n }\n }\n\n _hideDropdown(){\n this._isShown = false\n this._dropdown.classList.remove('show')\n }\n\n _hideSpinner(){\n this._spinner.style.display = 'none'\n }\n\n _makeDropdown(){\n this._element.parentNode.style.position = 'relative'\n\n let tmpl = '
'\n\n this._dropdown = $(tmpl).appendTo(this._element.parentNode).get(0)\n\n }\n\n _makeSpinner(){\n let tmpl = '
'\n\n this._spinner = $(tmpl).appendTo(this._element.parentNode).get(0)\n\n $(this._spinner).css({\n position : 'absolute',\n right : $(this._element).css('padding-right'),\n top : (this._element.offsetTop + ((this._element.offsetHeight - this._spinner.offsetHeight)/2)) + 'px'\n })\n\n this._hideSpinner()\n }\n\n _renderItem(items){\n items.forEach(i => {\n if(this._dropdown.children.length >= this._config.maxResult)\n return\n\n let item = $('')\n let itemEl = item.get(0)\n\n item.text(i).appendTo(this._dropdown)\n\n if(this._config.onItemRendered)\n this._config.onItemRendered(this._element, itemEl)\n\n const renderEvent = $.Event(Event.ITEM_RENDER, {item:itemEl})\n\n $(this._element).trigger(renderEvent)\n\n item.on(Event.CLICK_DATA_API, e => {\n this._selectItem(e.target);\n this._preventClose = true\n this.hide()\n e.preventDefault()\n this._preventClose = false\n })\n })\n }\n\n _selectItem(item){\n this._element.value = item.innerText\n\n if(this._config.onPick)\n this._config.onPick(this._element, item)\n\n const pickEvent = $.Event(Event.PICK, {item})\n $(this._element).trigger(pickEvent)\n }\n\n _showDropdown(){\n this._isShown = true\n this._dropdown.classList.add('show')\n }\n\n _showSpinner(){\n this._spinner.style.display = 'inline-block'\n }\n\n _truncateDropdown(){\n this._dropdown.innerHTML = ''\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Default,\n ...$(this).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Autocomplete(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined')\n throw new TypeError(`No method named \"${config}\"`)\n data[config](relatedTarget)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Autocomplete._jQueryInterface\n$.fn[NAME].Constructor = Autocomplete\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Autocomplete._jQueryInterface\n}\n\nexport default Autocomplete\n"],"names":["TRANSITION_END","MAX_UID","MILLISECONDS_MULTIPLIER","toType","obj","toString","call","match","toLowerCase","getSpecialTransitionEndEvent","bindType","delegateType","handle","event","$","target","is","handleObj","handler","apply","arguments","undefined","transitionEndEmulator","duration","called","one","Util","setTimeout","triggerTransitionEnd","setTransitionEndSupport","fn","emulateTransitionEnd","special","getUID","prefix","Math","random","document","getElementById","getSelectorFromElement","element","selector","getAttribute","hrefAttr","trim","querySelector","err","getTransitionDurationFromElement","transitionDuration","css","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","reflow","offsetHeight","trigger","supportsTransitionEnd","Boolean","isElement","nodeType","typeCheckConfig","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","parentNode","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","Default","list","prefetch","filter","filterDelay","filterMinChars","filterRelation","maxResult","onPick","onItemRendered","preProcess","DefaultType","Event","BLUR_DATA_API","CLICK_DATA_API","KEYDOWN_DATA_API","INPUT_DATA_API","PICK","ITEM_RENDER","KeyCode","ARROW_DOWN","ARROW_UP","ENTER","ESCAPE","Autocomplete","_config","_getConfig","_element","_items","_labels","_isShown","_dropdown","_spinner","_result","_query","_preventClose","_timer","_relations","hasAttribute","removeAttribute","TypeError","_handleRelations","setAttribute","_makeDropdown","_makeSpinner","_fetchPresetData","_addElementListener","show","length","_showDropdown","hide","_hideDropdown","dispose","off","removeData","clearTimeout","on","e","prevent","keyCode","altKey","_findFromList","_focusNext","_focusPrev","item","children","get","_selectItem","preventDefault","_truncateDropdown","dataList","Array","from","forEach","o","val","innerHTML","includes","push","_showSpinner","res","_hideSpinner","i","_findFromAjax","vval","url","replace","sep","k","el","local","_renderItem","label","next","focused","classList","remove","tmpNext","add","prev","name","change","style","display","position","tmpl","appendTo","right","top","offsetTop","items","itemEl","text","renderEvent","innerText","pickEvent","_jQueryInterface","relatedTarget","each","data","Constructor","noConflict"],"mappings":"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"} \ No newline at end of file diff --git a/dist/js/bootstrap-autocomplete.min.js b/dist/js/bootstrap-autocomplete.min.js index f52a61e..b941099 100644 --- a/dist/js/bootstrap-autocomplete.min.js +++ b/dist/js/bootstrap-autocomplete.min.js @@ -1,7 +1,7 @@ /*! - * Bootstrap Autocomplete v0.1.1 (https://iqbalfn.github.io/bootstrap-autocomplete/) + * Bootstrap Autocomplete v0.2.0 (https://iqbalfn.github.io/bootstrap-autocomplete/) * Copyright 2019 Iqbal Fauzi * Licensed under MIT (https://github.com/iqbalfn/bootstrap-autocomplete/blob/master/LICENSE) */ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("jquery")):"function"==typeof define&&define.amd?define(["exports","jquery"],t):t((e=e||self)["bootstrap-autocomplete"]={},e.jQuery)}(this,function(e,l){"use strict";function i(e,t){for(var n=0;n=this._config.maxResult)){this._timer&&clearTimeout(this._timer);var s=this._query;this._timer=setTimeout(function(){if(s==o._query){o._showSpinner();var e=o._config.filter.replace(/%23/g,"#").replace("#QUERY#",o._query);if(o._relations){var t=e.includes("?")?"&":"?";for(var n in o._relations){var i=o._relations[n],r=l(i).val();r&&(e+=""+t+n+"="+r,t="&")}}l.get(e,function(e){o._hideSpinner(),o._config.preProcess&&(e=o._config.preProcess(e));var n=[];e.forEach(function(e){var t=e.toLowerCase();o._items.includes(t)||(o._items.push(t),o._labels[t]=e,n.push(e),o._result.push(e))}),n.length&&o._renderItem(n),o._result.length?o.show():o.hide()})}},this._config.filterDelay)}},e._findFromList=function(){var n=this;this._truncateDropdown(),this._result=[];var i=[];this._items.forEach(function(e){if(e.includes(n._query)){var t=n._labels[e];n._result.includes(t)||(i.push(t),n._result.push(t))}}),i.length?(this._renderItem(i),this.show()):this.hide(),this._findFromAjax()},e._focusNext=function(){var e=l(this._dropdown).children(":first-child").get(0),t=l(this._dropdown).children(".active").get(0);if(t){t.classList.remove("active");var n=l(t).next().get(0);n&&(e=n)}e&&e.classList.add("active")},e._focusPrev=function(){var e=l(this._dropdown).children(":last-child").get(0),t=l(this._dropdown).children(".active").get(0);if(t){t.classList.remove("active");var n=l(t).prev().get(0);n&&(e=n)}e&&e.classList.add("active")},e._getConfig=function(e){return e=o({},f,e),a.typeCheckConfig(s,e,_),e},e._handleRelations=function(){var t=this;for(var e in this._relations=[],this._config.filterRelation){var n=this._config.filterRelation[e];this._relations[e]=l(n).get(0),l(this._relations[e]).change(function(e){t._element.value="",l(t._element).change(),t._items=[]})}},e._hideDropdown=function(){this._isShown=!1,this._dropdown.classList.remove("show")},e._hideSpinner=function(){this._spinner.style.display="none"},e._makeDropdown=function(){this._element.parentNode.style.position="relative";this._dropdown=l('').appendTo(this._element.parentNode).get(0)},e._makeSpinner=function(){this._spinner=l('
').appendTo(this._element.parentNode).get(0),l(this._spinner).css({position:"absolute",right:l(this._element).css("padding-right"),top:this._element.offsetTop+(this._element.offsetHeight-this._spinner.offsetHeight)/2+"px"}),this._hideSpinner()},e._renderItem=function(e){var t=this;e.forEach(function(e){t._dropdown.children.length>=t._config.maxResult||l('').text(e).appendTo(t._dropdown).on(d.CLICK_DATA_API,function(e){t._preventClose=!0,t._element.value=e.target.innerText,t.hide(),e.preventDefault(),t._preventClose=!1})})},e._showDropdown=function(){this._isShown=!0,this._dropdown.classList.add("show")},e._showSpinner=function(){this._spinner.style.display="inline-block"},e._truncateDropdown=function(){this._dropdown.innerHTML=""},r._jQueryInterface=function(n,i){return this.each(function(){var e=l(this).data(u),t=o({},f,l(this).data(),"object"==typeof n&&n?n:{});if(e||(e=new r(this,t),l(this).data(u,e)),"string"==typeof n){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n](i)}})},function(e,t,n){t&&i(e.prototype,t),n&&i(e,n)}(r,null,[{key:"VERSION",get:function(){return"0.1.0"}},{key:"Default",get:function(){return f}}]),r}();l.fn[s]=w._jQueryInterface,l.fn[s].Constructor=w,l.fn[s].noConflict=function(){return l.fn[s]=c,w._jQueryInterface},e.Autocomplete=w,Object.defineProperty(e,"__esModule",{value:!0})}); +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("jquery")):"function"==typeof define&&define.amd?define(["exports","jquery"],t):t((e=e||self)["bootstrap-autocomplete"]={},e.jQuery)}(this,function(e,s){"use strict";function i(e,t){for(var n=0;n=this._config.maxResult||(this._timer&&clearTimeout(this._timer),r=this._query,this._timer=setTimeout(function(){if(r==o._query){o._showSpinner();var e=o._config.filter.replace(/%23/g,"#").replace("#QUERY#",o._query);if(o._relations){var t,n=e.includes("?")?"&":"?";for(t in o._relations){var i=o._relations[t],i=s(i).val();i&&(e+=""+n+t+"="+i,n="&")}}s.get(e,function(e){o._hideSpinner(),o._config.preProcess&&(e=o._config.preProcess(e));var n=[];e.forEach(function(e){var t=e.toLowerCase();o._items.includes(t)||(o._items.push(t),o._labels[t]=e,n.push(e),o._result.push(e))}),n.length&&o._renderItem(n),o._result.length?o.show():o.hide()})}},this._config.filterDelay)))},n._findFromList=function(){var t=this;this._truncateDropdown(),this._result=[];var n=[];this._items.forEach(function(e){e.includes(t._query)&&(e=t._labels[e],t._result.includes(e)||(n.push(e),t._result.push(e)))}),n.length?(this._renderItem(n),this.show()):this.hide(),this._findFromAjax()},n._focusNext=function(){var e=s(this._dropdown).children(":first-child").get(0),t=s(this._dropdown).children(".active").get(0);t&&(t.classList.remove("active"),(t=s(t).next().get(0))&&(e=t)),e&&e.classList.add("active")},n._focusPrev=function(){var e=s(this._dropdown).children(":last-child").get(0),t=s(this._dropdown).children(".active").get(0);t&&(t.classList.remove("active"),(t=s(t).prev().get(0))&&(e=t)),e&&e.classList.add("active")},n._getConfig=function(e){return e=o({},f,e),l.typeCheckConfig(a,e,_),e},n._handleRelations=function(){var e,t=this;for(e in this._relations=[],this._config.filterRelation){var n=this._config.filterRelation[e];this._relations[e]=s(n).get(0),s(this._relations[e]).change(function(e){t._element.value="",s(t._element).change(),t._items=[]})}},n._hideDropdown=function(){this._isShown=!1,this._dropdown.classList.remove("show")},n._hideSpinner=function(){this._spinner.style.display="none"},n._makeDropdown=function(){this._element.parentNode.style.position="relative";this._dropdown=s('').appendTo(this._element.parentNode).get(0)},n._makeSpinner=function(){this._spinner=s('
').appendTo(this._element.parentNode).get(0),s(this._spinner).css({position:"absolute",right:s(this._element).css("padding-right"),top:this._element.offsetTop+(this._element.offsetHeight-this._spinner.offsetHeight)/2+"px"}),this._hideSpinner()},n._renderItem=function(e){var i=this;e.forEach(function(e){var t,n;i._dropdown.children.length>=i._config.maxResult||(n=(t=s('')).get(0),t.text(e).appendTo(i._dropdown),i._config.onItemRendered&&i._config.onItemRendered(i._element,n),n=s.Event(d.ITEM_RENDER,{item:n}),s(i._element).trigger(n),t.on(d.CLICK_DATA_API,function(e){i._selectItem(e.target),i._preventClose=!0,i.hide(),e.preventDefault(),i._preventClose=!1}))})},n._selectItem=function(e){this._element.value=e.innerText,this._config.onPick&&this._config.onPick(this._element,e);e=s.Event(d.PICK,{item:e});s(this._element).trigger(e)},n._showDropdown=function(){this._isShown=!0,this._dropdown.classList.add("show")},n._showSpinner=function(){this._spinner.style.display="inline-block"},n._truncateDropdown=function(){this._dropdown.innerHTML=""},r._jQueryInterface=function(n,i){return this.each(function(){var e=s(this).data(u),t=o({},f,s(this).data(),"object"==typeof n&&n?n:{});if(e||(e=new r(this,t),s(this).data(u,e)),"string"==typeof n){if("undefined"==typeof e[n])throw new TypeError('No method named "'+n+'"');e[n](i)}})},e=r,t=[{key:"VERSION",get:function(){return"0.2.0"}},{key:"Default",get:function(){return f}}],(n=null)&&i(e.prototype,n),t&&i(e,t),r}();s.fn[a]=w._jQueryInterface,s.fn[a].Constructor=w,s.fn[a].noConflict=function(){return s.fn[a]=h,w._jQueryInterface},e.Autocomplete=w,Object.defineProperty(e,"__esModule",{value:!0})}); //# sourceMappingURL=bootstrap-autocomplete.min.js.map \ No newline at end of file diff --git a/dist/js/bootstrap-autocomplete.min.js.map b/dist/js/bootstrap-autocomplete.min.js.map index 85fe89e..20b98f1 100644 --- a/dist/js/bootstrap-autocomplete.min.js.map +++ b/dist/js/bootstrap-autocomplete.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../src/js/util.js","../../src/js/autocomplete.js"],"names":["TRANSITION_END","transitionEndEmulator","duration","_this","this","called","$","one","Util","setTimeout","triggerTransitionEnd","getUID","prefix","Math","random","document","getElementById","getSelectorFromElement","element","selector","getAttribute","hrefAttr","trim","querySelector","err","getTransitionDurationFromElement","transitionDuration","css","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","reflow","offsetHeight","trigger","supportsTransitionEnd","Boolean","isElement","obj","nodeType","typeCheckConfig","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","call","expectedTypes","value","valueType","toString","match","toLowerCase","RegExp","test","Error","toUpperCase","findShadowRoot","documentElement","attachShadow","getRootNode","ShadowRoot","parentNode","root","fn","emulateTransitionEnd","event","special","bindType","delegateType","handle","target","is","handleObj","handler","apply","arguments","NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","Default","list","prefetch","filter","filterDelay","filterMinChars","filterRelation","maxResult","preProcess","DefaultType","Event","BLUR_DATA_API","CLICK_DATA_API","KEYDOWN_DATA_API","INPUT_DATA_API","KeyCode","Autocomplete","_config","_getConfig","_element","_items","_labels","_isShown","_dropdown","_spinner","_result","_query","_preventClose","_timer","_relations","hasAttribute","removeAttribute","TypeError","_handleRelations","setAttribute","_makeDropdown","_makeSpinner","_fetchPresetData","_addElementListener","show","length","_showDropdown","hide","_hideDropdown","dispose","off","removeData","clearTimeout","on","e","prevent","keyCode","altKey","_findFromList","_focusNext","_focusPrev","focus","children","get","innerText","preventDefault","_truncateDropdown","_this2","dataList","Array","from","forEach","o","val","innerHTML","includes","push","_showSpinner","res","_hideSpinner","i","_findFromAjax","_this3","vval","url","replace","sep","k","el","local","_renderItem","_this4","label","next","focused","classList","remove","tmpNext","add","prev","_objectSpread","_this5","name","change","style","display","position","appendTo","right","top","offsetTop","items","_this6","text","_jQueryInterface","relatedTarget","each","data","Constructor","noConflict"],"mappings":";;;;;23BAeA,IAAMA,EAAiB,gBAsBvB,SAASC,EAAsBC,GAAU,IAAAC,EAAAC,KACnCC,GAAS,EAYb,OAVAC,EAAEF,MAAMG,IAAIC,EAAKR,eAAgB,WAC/BK,GAAS,IAGXI,WAAW,WACJJ,GACHG,EAAKE,qBAAqBP,IAE3BD,GAEIE,KAcT,IAAMI,EAAO,CAEXR,eAAgB,kBAEhBW,OAJW,SAIJC,GACL,KAEEA,MAvDU,IAuDGC,KAAKC,UACXC,SAASC,eAAeJ,KACjC,OAAOA,GAGTK,uBAZW,SAYYC,GACrB,IAAIC,EAAWD,EAAQE,aAAa,eAEpC,IAAKD,GAAyB,MAAbA,EAAkB,CACjC,IAAME,EAAWH,EAAQE,aAAa,QACtCD,EAAWE,GAAyB,MAAbA,EAAmBA,EAASC,OAAS,GAG9D,IACE,OAAOP,SAASQ,cAAcJ,GAAYA,EAAW,KACrD,MAAOK,GACP,OAAO,OAIXC,iCA3BW,SA2BsBP,GAC/B,IAAKA,EACH,OAAO,EAIT,IAAIQ,EAAqBpB,EAAEY,GAASS,IAAI,uBACpCC,EAAkBtB,EAAEY,GAASS,IAAI,oBAE/BE,EAA0BC,WAAWJ,GACrCK,EAAuBD,WAAWF,GAGxC,OAAKC,GAA4BE,GAKjCL,EAAqBA,EAAmBM,MAAM,KAAK,GACnDJ,EAAkBA,EAAgBI,MAAM,KAAK,GA7FjB,KA+FpBF,WAAWJ,GAAsBI,WAAWF,KAP3C,GAUXK,OAnDW,SAmDJf,GACL,OAAOA,EAAQgB,cAGjBxB,qBAvDW,SAuDUQ,GACnBZ,EAAEY,GAASiB,QAAQnC,IAIrBoC,sBA5DW,WA6DT,OAAOC,QAAQrC,IAGjBsC,UAhEW,SAgEDC,GACR,OAAQA,EAAI,IAAMA,GAAKC,UAGzBC,gBApEW,SAoEKC,EAAeC,EAAQC,GACrC,IAAK,IAAMC,KAAYD,EACrB,GAAIE,OAAOC,UAAUC,eAAeC,KAAKL,EAAaC,GAAW,CAC/D,IAAMK,EAAgBN,EAAYC,GAC5BM,EAAgBR,EAAOE,GACvBO,EAAgBD,GAAS3C,EAAK8B,UAAUa,GAC1C,WAtHIZ,EAsHeY,EArHtB,GAAGE,SAASJ,KAAKV,GAAKe,MAAM,eAAe,GAAGC,eAuH/C,IAAK,IAAIC,OAAON,GAAeO,KAAKL,GAClC,MAAM,IAAIM,MACLhB,EAAciB,cAAjB,aACWd,EADX,oBACuCO,EADvC,wBAEsBF,EAFtB,MA1HZ,IAAgBX,GAkIdqB,eAtFW,SAsFI1C,GACb,IAAKH,SAAS8C,gBAAgBC,aAC5B,OAAO,KAIT,GAAmC,mBAAxB5C,EAAQ6C,YAKnB,OAAI7C,aAAmB8C,WACd9C,EAIJA,EAAQ+C,WAINzD,EAAKoD,eAAe1C,EAAQ+C,YAH1B,KAVP,IAAMC,EAAOhD,EAAQ6C,cACrB,OAAOG,aAAgBF,WAAaE,EAAO,OAxG/C5D,EAAE6D,GAAGC,qBAAuBnE,EAC5BK,EAAE+D,MAAMC,QAAQ9D,EAAKR,gBA9Bd,CACLuE,SAAUvE,EACVwE,aAAcxE,EACdyE,OAHK,SAGEJ,GACL,GAAI/D,EAAE+D,EAAMK,QAAQC,GAAGvE,MACrB,OAAOiE,EAAMO,UAAUC,QAAQC,MAAM1E,KAAM2E,aCdnD,IAAMC,EAAqB,eAErBC,EAAqB,kBACrBC,EAAS,IAAgBD,EACzBE,EAAqB,YACrBC,EAAqB9E,EAAE6D,GAAGa,GAE1BK,EAAU,CACZC,KAAkB,KAElBC,SAAkB,KAElBC,OAAkB,KAClBC,YAAkB,IAClBC,eAAkB,EAClBC,eAAkB,KAElBC,UAAkB,GAElBC,WAAkB,MAGhBC,EAAc,CAChBR,KAAkB,wBAElBC,SAAkB,gBAElBC,OAAkB,gBAClBC,YAAkB,SAClBC,eAAkB,SAClBC,eAAkB,gBAElBC,UAAkB,SAElBC,WAAkB,mBAGhBE,EAAQ,CACVC,cAAa,OAAgBd,EAAYC,EACzCc,eAAc,QAAgBf,EAAYC,EAC1Ce,iBAAgB,UAAgBhB,EAAYC,EAC5CgB,eAAc,QAAgBjB,EAAYC,GAQxCiB,EACY,GADZA,EAEY,GAFZA,EAGY,GAHZA,EAIY,GAWZC,aACF,SAAAA,EAAYnF,EAASyB,GAqBjB,GApBAvC,KAAKkG,QAAalG,KAAKmG,WAAW5D,GAClCvC,KAAKoG,SAAatF,EAElBd,KAAKqG,OAAa,GAClBrG,KAAKsG,QAAa,GAElBtG,KAAKuG,UAAa,EAClBvG,KAAKwG,UAAa,KAClBxG,KAAKyG,SAAa,KAClBzG,KAAK0G,QAAa,GAClB1G,KAAK2G,OAAa,GAClB3G,KAAK4G,eAAgB,EACrB5G,KAAK6G,OAAa,KAClB7G,KAAK8G,WAAa,KAEfhG,EAAQiG,aAAa,UACpB/G,KAAKkG,QAAQhB,KAAO,IAAMpE,EAAQE,aAAa,QAC/CF,EAAQkG,gBAAgB,UAGxBhH,KAAKkG,QAAQhB,OAASlF,KAAKkG,QAAQf,WAAanF,KAAKkG,QAAQd,OAC7D,MAAM,IAAI6B,UAAU,2BAErBjH,KAAKkG,QAAQX,gBACZvF,KAAKkH,mBAETpG,EAAQqG,aAAa,eAAgB,OAErCnH,KAAKoH,gBACLpH,KAAKqH,eACLrH,KAAKsH,mBACLtH,KAAKuH,iDAeTC,KAAA,WACOxH,KAAKuG,UAGLvG,KAAK0G,QAAQe,QACZzH,KAAK0H,mBAGbC,KAAA,WACQ3H,KAAKuG,UAGTvG,KAAK4H,mBAGTC,QAAA,WACI3H,EAAEF,KAAKoG,UAAU0B,IAAIhD,GAErB5E,EAAE6H,WAAW/H,KAAKoG,SAAUvB,GAE5B7E,KAAKkG,QAAa,KAClBlG,KAAKoG,SAAa,KAClBpG,KAAKqG,OAAa,KAClBrG,KAAKsG,QAAa,KAClBtG,KAAKuG,SAAa,KAClBvG,KAAKwG,UAAa,KAClBxG,KAAKyG,SAAa,KAClBzG,KAAK0G,QAAa,KAClB1G,KAAK2G,OAAa,KAClB3G,KAAK4G,cAAgB,KAClB5G,KAAK6G,QACJmB,aAAahI,KAAK6G,QACtB7G,KAAK6G,OAAa,QAKtBU,oBAAA,WAAqB,IAAAxH,EAAAC,KACjBE,EAAEF,KAAKoG,UAAU6B,GAAGtC,EAAMG,iBAAkB,SAAAoC,GACxC,IAAIC,GAAU,EAEd,OAAOD,EAAEE,SACL,KAAKpC,EACEkC,EAAEG,SAAWtI,EAAKwG,UACjBxG,EAAK4G,OAAS5G,EAAKqG,SAASrD,MAAM7B,OAAOiC,cAEtCpD,EAAK4G,SACJ5G,EAAKuI,gBACLH,GAAU,KAGdpI,EAAKwI,aACLJ,GAAU,GAEd,MAEJ,KAAKnC,EACDjG,EAAKyI,aACLL,GAAU,EACV,MAEJ,KAAKnC,EACD,GAAGjG,EAAKwG,SAAS,CACb,IAAIkC,EAAQvI,EAAEH,EAAKyG,WAAWkC,SAAS,WAAWC,IAAI,IAElDF,EADAA,GACQvI,EAAEH,EAAKyG,WAAWkC,SAAS,gBAAgBC,IAAI,MAGvD5I,EAAKqG,SAASrD,MAAQ0F,EAAMG,WAEhC7I,EAAK4H,OACLQ,GAAU,EAEd,MAEJ,KAAKnC,EACDmC,GAAU,EACVpI,EAAK4H,OAIVQ,GACCD,EAAEW,mBAGV3I,EAAEF,KAAKoG,UAAU6B,GAAGtC,EAAMI,eAAgB,SAAAmC,GACtCnI,EAAK4G,OAAS5G,EAAKqG,SAASrD,MAAM7B,OAAOiC,cAErCpD,EAAK4G,OAIL5G,EAAKuI,iBAHLvI,EAAK+I,oBACL/I,EAAK4H,UAMbzH,EAAEF,KAAKoG,UAAU6B,GAAGtC,EAAMC,cAAe,SAAAsC,GAClCnI,EAAK6G,eAERvG,WAAW,WAAA,OAAMN,EAAK4H,QAAQ,UAItCL,iBAAA,WAAkB,IAAAyB,EAAA/I,KAEd,GAAGA,KAAKkG,QAAQhB,KAAK,CACjB,IAAI8D,EAAWhJ,KAAKkG,QAAQhB,KACL,iBAAb8D,IACNA,EAAWrI,SAASQ,cAAcnB,KAAKkG,QAAQhB,OAEhD8D,GACCC,MAAMC,KAAKF,EAASN,UAAUS,QAAQ,SAAAC,GAClC,IAAIC,EAAMD,EAAEE,UAAUnG,cACnB4F,EAAK1C,OAAOkD,SAASF,KAGxBN,EAAK1C,OAAOmD,KAAKH,GACjBN,EAAKzC,QAAQ+C,GAAOD,EAAEE,aAM/BtJ,KAAKkG,QAAQf,WACZnF,KAAKyJ,eACLvJ,EAAEyI,IAAI3I,KAAKkG,QAAQf,SAAU,SAAAuE,GACzBX,EAAKY,eACFZ,EAAK7C,QAAQT,aACZiE,EAAMX,EAAK7C,QAAQT,WAAWiE,IAElCA,EAAIP,QAAQ,SAAAS,GACR,IAAIP,EAAMO,EAAEzG,cACT4F,EAAK1C,OAAOkD,SAASF,KAExBN,EAAK1C,OAAOmD,KAAKH,GACjBN,EAAKzC,QAAQ+C,GAAOO,WAMpCC,cAAA,WAAe,IAAAC,EAAA9J,KACX,GAAIA,KAAKkG,QAAQd,UAEdpF,KAAKwG,UAAUkC,SAASjB,QAAUzH,KAAKkG,QAAQV,WAAlD,CAGGxF,KAAK6G,QACJmB,aAAahI,KAAK6G,QAEtB,IAAIkD,EAAO/J,KAAK2G,OAChB3G,KAAK6G,OAASxG,WAAW,WACrB,GAAG0J,GAAQD,EAAKnD,OAAhB,CAEAmD,EAAKL,eAEL,IAAIO,EAAMF,EAAK5D,QAAQd,OAClB6E,QAAQ,OAAQ,KAChBA,QAAQ,UAAWH,EAAKnD,QAE7B,GAAGmD,EAAKhD,WAAW,CACf,IAAIoD,EAAMF,EAAIT,SAAS,KAAO,IAAM,IAEpC,IAAI,IAAIY,KAAKL,EAAKhD,WAAW,CACzB,IAAIsD,EAAKN,EAAKhD,WAAWqD,GACrBd,EAAKnJ,EAAEkK,GAAIf,MACXA,IAGJW,GAAG,GAAME,EAAMC,EAAZ,IAAiBd,EACpBa,EAAM,MAIdhK,EAAEyI,IAAIqB,EAAK,SAAAN,GACPI,EAAKH,eACFG,EAAK5D,QAAQT,aACZiE,EAAMI,EAAK5D,QAAQT,WAAWiE,IAElC,IAAIW,EAAQ,GACZX,EAAIP,QAAQ,SAAAS,GACR,IAAIP,EAAMO,EAAEzG,cACT2G,EAAKzD,OAAOkD,SAASF,KAGxBS,EAAKzD,OAAOmD,KAAKH,GACjBS,EAAKxD,QAAQ+C,GAAOO,EAEpBS,EAAMb,KAAKI,GACXE,EAAKpD,QAAQ8C,KAAKI,MAGnBS,EAAM5C,QACLqC,EAAKQ,YAAYD,GAElBP,EAAKpD,QAAQe,OACZqC,EAAKtC,OAELsC,EAAKnC,WAEd3H,KAAKkG,QAAQb,iBAGpBiD,cAAA,WAAe,IAAAiC,EAAAvK,KACXA,KAAK8I,oBACL9I,KAAK0G,QAAU,GAEf,IAAI2D,EAAQ,GACZrK,KAAKqG,OAAO8C,QAAQ,SAAAS,GAChB,GAAIA,EAAEL,SAASgB,EAAK5D,QAApB,CAGA,IAAI6D,EAAQD,EAAKjE,QAAQsD,GAEtBW,EAAK7D,QAAQ6C,SAASiB,KAGzBH,EAAMb,KAAKgB,GACXD,EAAK7D,QAAQ8C,KAAKgB,OAInBH,EAAM5C,QACLzH,KAAKsK,YAAYD,GACjBrK,KAAKwH,QAELxH,KAAK2H,OAGT3H,KAAK6J,mBAGTtB,WAAA,WACI,IAAIkC,EAAOvK,EAAEF,KAAKwG,WAAWkC,SAAS,gBAAgBC,IAAI,GACtD+B,EAAUxK,EAAEF,KAAKwG,WAAWkC,SAAS,WAAWC,IAAI,GAExD,GAAG+B,EAAQ,CACPA,EAAQC,UAAUC,OAAO,UACzB,IAAIC,EAAU3K,EAAEwK,GAASD,OAAO9B,IAAI,GACjCkC,IACCJ,EAAOI,GAGZJ,GACCA,EAAKE,UAAUG,IAAI,aAG3BtC,WAAA,WACI,IAAIiC,EAAOvK,EAAEF,KAAKwG,WAAWkC,SAAS,eAAeC,IAAI,GACrD+B,EAAUxK,EAAEF,KAAKwG,WAAWkC,SAAS,WAAWC,IAAI,GAExD,GAAG+B,EAAQ,CACPA,EAAQC,UAAUC,OAAO,UACzB,IAAIC,EAAU3K,EAAEwK,GAASK,OAAOpC,IAAI,GACjCkC,IACCJ,EAAOI,GAGZJ,GACCA,EAAKE,UAAUG,IAAI,aAG3B3E,WAAA,SAAW5D,GAMP,OALAA,EAAMyI,EAAA,GACC/F,EACA1C,GAEPnC,EAAKiC,gBAAgBuC,EAAMrC,EAAQmD,GAC5BnD,KAGX2E,iBAAA,WAAkB,IAAA+D,EAAAjL,KAEd,IAAI,IAAIkL,KADRlL,KAAK8G,WAAa,GACF9G,KAAKkG,QAAQX,eAAe,CACxC,IAAIxE,EAAWf,KAAKkG,QAAQX,eAAe2F,GAC3ClL,KAAK8G,WAAWoE,GAAQhL,EAAEa,GAAU4H,IAAI,GACxCzI,EAAEF,KAAK8G,WAAWoE,IAAOC,OAAO,SAAAjD,GAC5B+C,EAAK7E,SAASrD,MAAQ,GACtB7C,EAAE+K,EAAK7E,UAAU+E,SACjBF,EAAK5E,OAAS,SAK1BuB,cAAA,WACI5H,KAAKuG,UAAW,EAChBvG,KAAKwG,UAAUmE,UAAUC,OAAO,WAGpCjB,aAAA,WACI3J,KAAKyG,SAAS2E,MAAMC,QAAU,UAGlCjE,cAAA,WACIpH,KAAKoG,SAASvC,WAAWuH,MAAME,SAAW,WAI1CtL,KAAKwG,UAAYtG,EAFN,wDAEcqL,SAASvL,KAAKoG,SAASvC,YAAY8E,IAAI,MAIpEtB,aAAA,WAGIrH,KAAKyG,SAAWvG,EAFL,qFAEaqL,SAASvL,KAAKoG,SAASvC,YAAY8E,IAAI,GAE/DzI,EAAEF,KAAKyG,UAAUlF,IAAI,CACjB+J,SAAW,WACXE,MAAWtL,EAAEF,KAAKoG,UAAU7E,IAAI,iBAChCkK,IAAYzL,KAAKoG,SAASsF,WAAc1L,KAAKoG,SAAStE,aAAe9B,KAAKyG,SAAS3E,cAAc,EAAM,OAG3G9B,KAAK2J,kBAGTW,YAAA,SAAYqB,GAAM,IAAAC,EAAA5L,KACd2L,EAAMxC,QAAQ,SAAAS,GACPgC,EAAKpF,UAAUkC,SAASjB,QAAUmE,EAAK1F,QAAQV,WAGlDtF,EAAE,0CACG2L,KAAKjC,GACL2B,SAASK,EAAKpF,WACdyB,GAAGtC,EAAME,eAAgB,SAAAqC,GACtB0D,EAAKhF,eAAgB,EACrBgF,EAAKxF,SAASrD,MAAQmF,EAAE5D,OAAOsE,UAC/BgD,EAAKjE,OACLO,EAAEW,iBACF+C,EAAKhF,eAAgB,SAKrCc,cAAA,WACI1H,KAAKuG,UAAW,EAChBvG,KAAKwG,UAAUmE,UAAUG,IAAI,WAGjCrB,aAAA,WACIzJ,KAAKyG,SAAS2E,MAAMC,QAAU,kBAGlCvC,kBAAA,WACI9I,KAAKwG,UAAU8C,UAAY,MAKxBwC,iBAAP,SAAwBvJ,EAAQwJ,GAC5B,OAAO/L,KAAKgM,KAAK,WACb,IAAIC,EAAO/L,EAAEF,MAAMiM,KAAKpH,GAClBqB,EAAO8E,EAAA,GACN/F,EACA/E,EAAEF,MAAMiM,OACU,iBAAX1J,GAAuBA,EAASA,EAAS,IAQvD,GALK0J,IACDA,EAAO,IAAIhG,EAAajG,KAAMkG,GAC9BhG,EAAEF,MAAMiM,KAAKpH,EAAUoH,IAGL,iBAAX1J,EAAqB,CAC5B,GAA4B,oBAAjB0J,EAAK1J,GACZ,MAAM,IAAI0E,UAAJ,oBAAkC1E,EAAlC,KACV0J,EAAK1J,GAAQwJ,4FAvXrB,MAtGmB,wCA0GnB,OAAO9G,WA+Xf/E,EAAE6D,GAAGa,GAAQqB,EAAa6F,iBAC1B5L,EAAE6D,GAAGa,GAAMsH,YAAcjG,EACzB/F,EAAE6D,GAAGa,GAAMuH,WAAa,WAEtB,OADAjM,EAAE6D,GAAGa,GAAQI,EACNiB,EAAa6F","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\nconst TRANSITION_END = 'transitionend'\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nfunction toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\nfunction getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n}\n\nfunction transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n}\n\nfunction setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''\n }\n\n try {\n return document.querySelector(selector) ? selector : null\n } catch (err) {\n return null\n }\n },\n\n getTransitionDurationFromElement(element) {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let transitionDuration = $(element).css('transition-duration')\n let transitionDelay = $(element).css('transition-delay')\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END)\n },\n\n // TODO: Remove in v5\n supportsTransitionEnd() {\n return Boolean(TRANSITION_END)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n },\n\n findShadowRoot(element) {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return Util.findShadowRoot(element.parentNode)\n }\n}\n\nsetTransitionEndSupport()\n\nexport default Util\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap Autocomplete (v0.1.0): autocomplete.js\n * Licensed under MIT (https://github.com/iqbalfn/bootstrap-autocomplete/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'autocomplete'\nconst VERSION = '0.1.0'\nconst DATA_KEY = 'bs.autocomplete'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n list : null,\n\n prefetch : null,\n\n filter : null,\n filterDelay : 300,\n filterMinChars : 1,\n filterRelation : null,\n\n maxResult : 10,\n\n preProcess : null\n}\n\nconst DefaultType = {\n list : '(null|string|element)',\n\n prefetch : '(null|string)',\n\n filter : '(null|string)',\n filterDelay : 'number',\n filterMinChars : 'number',\n filterRelation : '(null|object)',\n\n maxResult : 'number',\n\n preProcess : '(null|function)'\n}\n\nconst Event = {\n BLUR_DATA_API : `blur${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n INPUT_DATA_API : `input${EVENT_KEY}${DATA_API_KEY}`,\n}\n\nconst ClassName = {\n DROPDOWN_MENU : 'dropdown-menu',\n DROPDOWN_ITEM : 'dropdown-item'\n}\n\nconst KeyCode = {\n ARROW_DOWN : 40,\n ARROW_UP : 38,\n ENTER : 13,\n ESCAPE : 27\n}\n\nconst Selector = {}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Autocomplete {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n\n this._items = []\n this._labels = {}\n\n this._isShown = false\n this._dropdown = null\n this._spinner = null\n this._result = []\n this._query = ''\n this._preventClose = false\n this._timer = null\n this._relations = null\n\n if(element.hasAttribute('list')){\n this._config.list = '#' + element.getAttribute('list')\n element.removeAttribute('list')\n }\n\n if(!this._config.list && !this._config.prefetch && !this._config.filter)\n throw new TypeError('No data source provided')\n\n if(this._config.filterRelation)\n this._handleRelations()\n\n element.setAttribute('autocomplete', 'off')\n\n this._makeDropdown()\n this._makeSpinner()\n this._fetchPresetData()\n this._addElementListener()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n show(){\n if(this._isShown)\n return\n\n if(this._result.length)\n this._showDropdown()\n }\n\n hide(){\n if(!this._isShown)\n return\n\n this._hideDropdown()\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._items = null\n this._labels = null\n this._isShown = null\n this._dropdown = null\n this._spinner = null\n this._result = null\n this._query = null\n this._preventClose = null\n if(this._timer)\n clearTimeout(this._timer)\n this._timer = null\n }\n\n // Private\n\n _addElementListener(){\n $(this._element).on(Event.KEYDOWN_DATA_API, e => {\n let prevent = false\n\n switch(e.keyCode){\n case KeyCode.ARROW_DOWN:\n if(e.altKey && !this._isShown){\n this._query = this._element.value.trim().toLowerCase()\n\n if(this._query){\n this._findFromList()\n prevent = true\n }\n }else{\n this._focusNext()\n prevent = true\n }\n break;\n\n case KeyCode.ARROW_UP:\n this._focusPrev()\n prevent = true\n break;\n \n case KeyCode.ENTER:\n if(this._isShown){\n let focus = $(this._dropdown).children('.active').get(0)\n if(!focus)\n focus = $(this._dropdown).children(':first-child').get(0)\n\n if(focus)\n this._element.value = focus.innerText\n\n this.hide()\n prevent = true\n }\n break;\n \n case KeyCode.ESCAPE:\n prevent = true\n this.hide()\n break;\n }\n\n if(prevent)\n e.preventDefault()\n })\n\n $(this._element).on(Event.INPUT_DATA_API, e => {\n this._query = this._element.value.trim().toLowerCase()\n\n if(!this._query){\n this._truncateDropdown()\n this.hide()\n }else{\n this._findFromList()\n }\n })\n\n $(this._element).on(Event.BLUR_DATA_API, e => {\n if(this._preventClose)\n return\n setTimeout(() => this.hide(), 150)\n })\n }\n\n _fetchPresetData(){\n // from datalist\n if(this._config.list){\n let dataList = this._config.list\n if(typeof dataList === 'string')\n dataList = document.querySelector(this._config.list)\n\n if(dataList){\n Array.from(dataList.children).forEach(o => {\n let val = o.innerHTML.toLowerCase()\n if(this._items.includes(val))\n return\n\n this._items.push(val)\n this._labels[val] = o.innerHTML\n })\n }\n }\n\n // from prefetch\n if(this._config.prefetch){\n this._showSpinner()\n $.get(this._config.prefetch, res => {\n this._hideSpinner()\n if(this._config.preProcess)\n res = this._config.preProcess(res)\n\n res.forEach(i => {\n let val = i.toLowerCase()\n if(this._items.includes(val))\n return\n this._items.push(val)\n this._labels[val] = i\n })\n })\n }\n }\n\n _findFromAjax(){\n if(!this._config.filter)\n return\n if(this._dropdown.children.length >= this._config.maxResult)\n return\n\n if(this._timer)\n clearTimeout(this._timer)\n\n let vval = this._query\n this._timer = setTimeout(() => {\n if(vval != this._query)\n return\n this._showSpinner()\n\n let url = this._config.filter\n .replace(/%23/g, '#')\n .replace('#QUERY#', this._query)\n\n if(this._relations){\n let sep = url.includes('?') ? '&' : '?'\n\n for(let k in this._relations){\n let el = this._relations[k]\n let val= $(el).val()\n if(!val)\n continue;\n\n url+= `${sep}${k}=${val}`\n sep = '&'\n }\n }\n\n $.get(url, res => {\n this._hideSpinner()\n if(this._config.preProcess)\n res = this._config.preProcess(res)\n\n let local = []\n res.forEach(i => {\n let val = i.toLowerCase()\n if(this._items.includes(val))\n return\n \n this._items.push(val)\n this._labels[val] = i\n\n local.push(i)\n this._result.push(i)\n })\n\n if(local.length)\n this._renderItem(local)\n\n if(this._result.length)\n this.show()\n else\n this.hide()\n })\n }, this._config.filterDelay)\n }\n\n _findFromList(){\n this._truncateDropdown()\n this._result = []\n\n let local = []\n this._items.forEach(i => {\n if(!i.includes(this._query))\n return\n\n let label = this._labels[i]\n\n if(this._result.includes(label))\n return\n\n local.push(label)\n this._result.push(label)\n })\n\n // now render the result\n if(local.length){\n this._renderItem(local)\n this.show()\n }else{\n this.hide()\n }\n\n this._findFromAjax()\n }\n\n _focusNext(){\n let next = $(this._dropdown).children(':first-child').get(0)\n let focused = $(this._dropdown).children('.active').get(0)\n\n if(focused){\n focused.classList.remove('active')\n let tmpNext = $(focused).next().get(0)\n if(tmpNext)\n next = tmpNext\n }\n\n if(next)\n next.classList.add('active')\n }\n\n _focusPrev(){\n let next = $(this._dropdown).children(':last-child').get(0)\n let focused = $(this._dropdown).children('.active').get(0)\n\n if(focused){\n focused.classList.remove('active')\n let tmpNext = $(focused).prev().get(0)\n if(tmpNext)\n next = tmpNext\n }\n\n if(next)\n next.classList.add('active')\n }\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleRelations(){\n this._relations = []\n for(let name in this._config.filterRelation){\n let selector = this._config.filterRelation[name];\n this._relations[name] = $(selector).get(0)\n $(this._relations[name]).change(e => {\n this._element.value = ''\n $(this._element).change() // we need to trigger this manually\n this._items = []\n });\n }\n }\n\n _hideDropdown(){\n this._isShown = false\n this._dropdown.classList.remove('show')\n }\n\n _hideSpinner(){\n this._spinner.style.display = 'none'\n }\n\n _makeDropdown(){\n this._element.parentNode.style.position = 'relative'\n\n let tmpl = '
'\n\n this._dropdown = $(tmpl).appendTo(this._element.parentNode).get(0)\n\n }\n\n _makeSpinner(){\n let tmpl = '
'\n\n this._spinner = $(tmpl).appendTo(this._element.parentNode).get(0)\n\n $(this._spinner).css({\n position : 'absolute',\n right : $(this._element).css('padding-right'),\n top : (this._element.offsetTop + ((this._element.offsetHeight - this._spinner.offsetHeight)/2)) + 'px'\n })\n\n this._hideSpinner()\n }\n\n _renderItem(items){\n items.forEach(i => {\n if(this._dropdown.children.length >= this._config.maxResult)\n return\n\n $('')\n .text(i)\n .appendTo(this._dropdown)\n .on(Event.CLICK_DATA_API, e => {\n this._preventClose = true\n this._element.value = e.target.innerText\n this.hide()\n e.preventDefault()\n this._preventClose = false\n })\n })\n }\n\n _showDropdown(){\n this._isShown = true\n this._dropdown.classList.add('show')\n }\n\n _showSpinner(){\n this._spinner.style.display = 'inline-block'\n }\n\n _truncateDropdown(){\n this._dropdown.innerHTML = ''\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Default,\n ...$(this).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Autocomplete(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined')\n throw new TypeError(`No method named \"${config}\"`)\n data[config](relatedTarget)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Autocomplete._jQueryInterface\n$.fn[NAME].Constructor = Autocomplete\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Autocomplete._jQueryInterface\n}\n\nexport default Autocomplete"]} \ No newline at end of file +{"version":3,"sources":["../../src/js/util.js","../../src/js/autocomplete.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\nconst TRANSITION_END = 'transitionend'\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nfunction toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\nfunction getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n}\n\nfunction transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n}\n\nfunction setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''\n }\n\n try {\n return document.querySelector(selector) ? selector : null\n } catch (err) {\n return null\n }\n },\n\n getTransitionDurationFromElement(element) {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let transitionDuration = $(element).css('transition-duration')\n let transitionDelay = $(element).css('transition-delay')\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END)\n },\n\n // TODO: Remove in v5\n supportsTransitionEnd() {\n return Boolean(TRANSITION_END)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n },\n\n findShadowRoot(element) {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return Util.findShadowRoot(element.parentNode)\n }\n}\n\nsetTransitionEndSupport()\n\nexport default Util\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap Autocomplete (v0.2.0): autocomplete.js\n * Licensed under MIT (https://github.com/iqbalfn/bootstrap-autocomplete/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'autocomplete'\nconst VERSION = '0.2.0'\nconst DATA_KEY = 'bs.autocomplete'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n list : null,\n\n prefetch : null,\n\n filter : null,\n filterDelay : 300,\n filterMinChars : 1,\n filterRelation : null,\n\n maxResult : 10,\n\n onPick : null,\n onItemRendered : null,\n\n preProcess : null\n}\n\nconst DefaultType = {\n list : '(null|string|element)',\n\n prefetch : '(null|string)',\n\n filter : '(null|string)',\n filterDelay : 'number',\n filterMinChars : 'number',\n filterRelation : '(null|object)',\n\n maxResult : 'number',\n\n preProcess : '(null|function)',\n\n onPick : '(null|function)',\n onItemRendered : '(null|function)'\n}\n\nconst Event = {\n BLUR_DATA_API : `blur${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n INPUT_DATA_API : `input${EVENT_KEY}${DATA_API_KEY}`,\n\n PICK : `pick${EVENT_KEY}`,\n ITEM_RENDER : `itemrender${EVENT_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_MENU : 'dropdown-menu',\n DROPDOWN_ITEM : 'dropdown-item'\n}\n\nconst KeyCode = {\n ARROW_DOWN : 40,\n ARROW_UP : 38,\n ENTER : 13,\n ESCAPE : 27\n}\n\nconst Selector = {}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Autocomplete {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n\n this._items = []\n this._labels = {}\n\n this._isShown = false\n this._dropdown = null\n this._spinner = null\n this._result = []\n this._query = ''\n this._preventClose = false\n this._timer = null\n this._relations = null\n\n if(element.hasAttribute('list')){\n this._config.list = '#' + element.getAttribute('list')\n element.removeAttribute('list')\n }\n\n if(!this._config.list && !this._config.prefetch && !this._config.filter)\n throw new TypeError('No data source provided')\n\n if(this._config.filterRelation)\n this._handleRelations()\n\n element.setAttribute('autocomplete', 'off')\n\n this._makeDropdown()\n this._makeSpinner()\n this._fetchPresetData()\n this._addElementListener()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n show(){\n if(this._isShown)\n return\n\n if(this._result.length)\n this._showDropdown()\n }\n\n hide(){\n if(!this._isShown)\n return\n\n this._hideDropdown()\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._items = null\n this._labels = null\n this._isShown = null\n this._dropdown = null\n this._spinner = null\n this._result = null\n this._query = null\n this._preventClose = null\n if(this._timer)\n clearTimeout(this._timer)\n this._timer = null\n }\n\n // Private\n\n _addElementListener(){\n $(this._element).on(Event.KEYDOWN_DATA_API, e => {\n let prevent = false\n\n switch(e.keyCode){\n case KeyCode.ARROW_DOWN:\n if(e.altKey && !this._isShown){\n this._query = this._element.value.trim().toLowerCase()\n\n if(this._query){\n this._findFromList()\n prevent = true\n }\n }else{\n this._focusNext()\n prevent = true\n }\n break;\n\n case KeyCode.ARROW_UP:\n this._focusPrev()\n prevent = true\n break;\n\n case KeyCode.ENTER:\n if(this._isShown){\n let item = $(this._dropdown).children('.active').get(0)\n if(!item)\n item = $(this._dropdown).children(':first-child').get(0)\n\n if(item)\n this._selectItem(item)\n\n this.hide()\n prevent = true\n }\n break;\n\n case KeyCode.ESCAPE:\n prevent = true\n this.hide()\n break;\n }\n\n if(prevent)\n e.preventDefault()\n })\n\n $(this._element).on(Event.INPUT_DATA_API, e => {\n this._query = this._element.value.trim().toLowerCase()\n\n if(!this._query){\n this._truncateDropdown()\n this.hide()\n }else{\n this._findFromList()\n }\n })\n\n $(this._element).on(Event.BLUR_DATA_API, e => {\n if(this._preventClose)\n return\n setTimeout(() => this.hide(), 150)\n })\n }\n\n _fetchPresetData(){\n // from datalist\n if(this._config.list){\n let dataList = this._config.list\n if(typeof dataList === 'string')\n dataList = document.querySelector(this._config.list)\n\n if(dataList){\n Array.from(dataList.children).forEach(o => {\n let val = o.innerHTML.toLowerCase()\n if(this._items.includes(val))\n return\n\n this._items.push(val)\n this._labels[val] = o.innerHTML\n })\n }\n }\n\n // from prefetch\n if(this._config.prefetch){\n this._showSpinner()\n $.get(this._config.prefetch, res => {\n this._hideSpinner()\n if(this._config.preProcess)\n res = this._config.preProcess(res)\n\n res.forEach(i => {\n let val = i.toLowerCase()\n if(this._items.includes(val))\n return\n this._items.push(val)\n this._labels[val] = i\n })\n })\n }\n }\n\n _findFromAjax(){\n if(!this._config.filter)\n return\n if(this._dropdown.children.length >= this._config.maxResult)\n return\n\n if(this._timer)\n clearTimeout(this._timer)\n\n let vval = this._query\n this._timer = setTimeout(() => {\n if(vval != this._query)\n return\n this._showSpinner()\n\n let url = this._config.filter\n .replace(/%23/g, '#')\n .replace('#QUERY#', this._query)\n\n if(this._relations){\n let sep = url.includes('?') ? '&' : '?'\n\n for(let k in this._relations){\n let el = this._relations[k]\n let val= $(el).val()\n if(!val)\n continue;\n\n url+= `${sep}${k}=${val}`\n sep = '&'\n }\n }\n\n $.get(url, res => {\n this._hideSpinner()\n if(this._config.preProcess)\n res = this._config.preProcess(res)\n\n let local = []\n res.forEach(i => {\n let val = i.toLowerCase()\n if(this._items.includes(val))\n return\n\n this._items.push(val)\n this._labels[val] = i\n\n local.push(i)\n this._result.push(i)\n })\n\n if(local.length)\n this._renderItem(local)\n\n if(this._result.length)\n this.show()\n else\n this.hide()\n })\n }, this._config.filterDelay)\n }\n\n _findFromList(){\n this._truncateDropdown()\n this._result = []\n\n let local = []\n this._items.forEach(i => {\n if(!i.includes(this._query))\n return\n\n let label = this._labels[i]\n\n if(this._result.includes(label))\n return\n\n local.push(label)\n this._result.push(label)\n })\n\n // now render the result\n if(local.length){\n this._renderItem(local)\n this.show()\n }else{\n this.hide()\n }\n\n this._findFromAjax()\n }\n\n _focusNext(){\n let next = $(this._dropdown).children(':first-child').get(0)\n let focused = $(this._dropdown).children('.active').get(0)\n\n if(focused){\n focused.classList.remove('active')\n let tmpNext = $(focused).next().get(0)\n if(tmpNext)\n next = tmpNext\n }\n\n if(next)\n next.classList.add('active')\n }\n\n _focusPrev(){\n let next = $(this._dropdown).children(':last-child').get(0)\n let focused = $(this._dropdown).children('.active').get(0)\n\n if(focused){\n focused.classList.remove('active')\n let tmpNext = $(focused).prev().get(0)\n if(tmpNext)\n next = tmpNext\n }\n\n if(next)\n next.classList.add('active')\n }\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleRelations(){\n this._relations = []\n for(let name in this._config.filterRelation){\n let selector = this._config.filterRelation[name];\n this._relations[name] = $(selector).get(0)\n $(this._relations[name]).change(e => {\n this._element.value = ''\n $(this._element).change() // we need to trigger this manually\n this._items = []\n });\n }\n }\n\n _hideDropdown(){\n this._isShown = false\n this._dropdown.classList.remove('show')\n }\n\n _hideSpinner(){\n this._spinner.style.display = 'none'\n }\n\n _makeDropdown(){\n this._element.parentNode.style.position = 'relative'\n\n let tmpl = '
'\n\n this._dropdown = $(tmpl).appendTo(this._element.parentNode).get(0)\n\n }\n\n _makeSpinner(){\n let tmpl = '
'\n\n this._spinner = $(tmpl).appendTo(this._element.parentNode).get(0)\n\n $(this._spinner).css({\n position : 'absolute',\n right : $(this._element).css('padding-right'),\n top : (this._element.offsetTop + ((this._element.offsetHeight - this._spinner.offsetHeight)/2)) + 'px'\n })\n\n this._hideSpinner()\n }\n\n _renderItem(items){\n items.forEach(i => {\n if(this._dropdown.children.length >= this._config.maxResult)\n return\n\n let item = $('')\n let itemEl = item.get(0)\n\n item.text(i).appendTo(this._dropdown)\n\n if(this._config.onItemRendered)\n this._config.onItemRendered(this._element, itemEl)\n\n const renderEvent = $.Event(Event.ITEM_RENDER, {item:itemEl})\n\n $(this._element).trigger(renderEvent)\n\n item.on(Event.CLICK_DATA_API, e => {\n this._selectItem(e.target);\n this._preventClose = true\n this.hide()\n e.preventDefault()\n this._preventClose = false\n })\n })\n }\n\n _selectItem(item){\n this._element.value = item.innerText\n\n if(this._config.onPick)\n this._config.onPick(this._element, item)\n\n const pickEvent = $.Event(Event.PICK, {item})\n $(this._element).trigger(pickEvent)\n }\n\n _showDropdown(){\n this._isShown = true\n this._dropdown.classList.add('show')\n }\n\n _showSpinner(){\n this._spinner.style.display = 'inline-block'\n }\n\n _truncateDropdown(){\n this._dropdown.innerHTML = ''\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Default,\n ...$(this).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Autocomplete(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined')\n throw new TypeError(`No method named \"${config}\"`)\n data[config](relatedTarget)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Autocomplete._jQueryInterface\n$.fn[NAME].Constructor = Autocomplete\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Autocomplete._jQueryInterface\n}\n\nexport default Autocomplete\n"],"names":["TRANSITION_END","transitionEndEmulator","duration","_this","this","called","$","one","Util","setTimeout","triggerTransitionEnd","getUID","prefix","Math","random","document","getElementById","getSelectorFromElement","element","selector","getAttribute","hrefAttr","trim","querySelector","err","getTransitionDurationFromElement","transitionDuration","css","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","reflow","offsetHeight","trigger","supportsTransitionEnd","Boolean","isElement","obj","nodeType","typeCheckConfig","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","call","expectedTypes","value","valueType","toString","match","toLowerCase","RegExp","test","Error","toUpperCase","findShadowRoot","documentElement","attachShadow","getRootNode","ShadowRoot","parentNode","root","fn","emulateTransitionEnd","event","special","bindType","delegateType","handle","target","is","handleObj","handler","apply","arguments","NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","Default","list","prefetch","filter","filterDelay","filterMinChars","filterRelation","maxResult","onPick","onItemRendered","preProcess","DefaultType","Event","BLUR_DATA_API","CLICK_DATA_API","KEYDOWN_DATA_API","INPUT_DATA_API","PICK","ITEM_RENDER","KeyCode","Autocomplete","_config","_getConfig","_element","_items","_labels","_isShown","_dropdown","_spinner","_result","_query","_preventClose","_timer","_relations","hasAttribute","removeAttribute","TypeError","_handleRelations","setAttribute","_makeDropdown","_makeSpinner","_fetchPresetData","_addElementListener","show","length","_showDropdown","hide","_hideDropdown","dispose","off","removeData","clearTimeout","on","e","item","prevent","keyCode","altKey","_findFromList","_focusNext","_focusPrev","children","get","_selectItem","preventDefault","_truncateDropdown","dataList","_this2","Array","from","forEach","o","val","innerHTML","includes","push","_showSpinner","res","_hideSpinner","i","_findFromAjax","vval","_this3","url","replace","k","sep","el","local","_renderItem","_this4","label","next","focused","classList","remove","tmpNext","add","prev","_objectSpread","name","_this5","change","style","display","position","appendTo","right","top","offsetTop","items","_this6","renderEvent","itemEl","text","innerText","pickEvent","_jQueryInterface","relatedTarget","each","data","Constructor","noConflict"],"mappings":"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"} \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index 1e99e66..2c9f70c 100644 --- a/docs/index.html +++ b/docs/index.html @@ -67,7 +67,7 @@

Examples

List Source

-

Below autocomplete take source from datalist.

+

List of autocomplete suggestion can be taken from datalist element ase below:

@@ -101,7 +101,8 @@

List Source

Ajax Prefect

-

The data below taken from prefect of some URL.

+

The suggestions text can also be prefect during initialize time. This method will call ajax request once in the render time. This method is better if suggestions text is + not too many

@@ -122,7 +123,7 @@

Ajax Prefect

Ajax Source

-

Below autocomplete take source from ajax on user typing.

+

Suggestion text taken during user typing. This method is good for datalist that is too much for single request.

@@ -143,7 +144,7 @@

Ajax Source

Ajax Source ( With Relation )

-

Below autocomplete take source from ajax on user typing, and with additional query string based on other input.

+

Add additional query string to ajax request during user typing by adding option filterRelation

@@ -178,6 +179,72 @@

Ajax Source ( With Relation )

+ +
+

On Render Item

+
+

Right after a suggestion item element already rendered and is already on view, event `itemrender.bs.autocomplete` will be called that get two parameters, element, and rendered item.

+
+
+
+ + +
+ + +
+
+
+
+ +
+

Pick Item

+
+

Right after user pick an option, event `pick.bs.autocomplete` will be called that get two parameters, element, and picked element.

+
+
+
+ + +
+ + +
+
+
+
@@ -263,6 +330,18 @@

Options

10 Total result to show on dropdown list. + + onPick + function + null + Function to call after user picking the dropdown item. onPick(input, item) + + + onItemRendered + function + null + Function to call right after item element rendered. onItemRendered(input, item). + preProcess function @@ -274,6 +353,40 @@

Options

+
+

Events

+
+

Bootstrap autocomplete exposes a few events for hooking into suggestion functionality. All sugggestions events are fired at the input element itself.

+ + + + + + + + + + + + + + + +
Event TypeDescription
pick.bs.autocompleteThis event fires immediately when user selecting any of suggestions option item.
itemrender.bs.autocompleteAn event that called right after suggestion item already rendered and is on view.
+ +
+
+ $('#input-url').on('pick.bs.autocomplete', function(el, item){ + // ... + }) + $('#input-url').on('itemrender.bs.autocomplete', function(el, item){ + // ... + }) +
+
+
+
+
@@ -288,4 +401,4 @@

Options

- \ No newline at end of file + diff --git a/docs/js/bootstrap-autocomplete.js b/docs/js/bootstrap-autocomplete.js index e076458..c53921a 100644 --- a/docs/js/bootstrap-autocomplete.js +++ b/docs/js/bootstrap-autocomplete.js @@ -1,5 +1,5 @@ /*! - * Bootstrap Autocomplete v0.1.1 (https://iqbalfn.github.io/bootstrap-autocomplete/) + * Bootstrap Autocomplete v0.2.0 (https://iqbalfn.github.io/bootstrap-autocomplete/) * Copyright 2019 Iqbal Fauzi * Licensed under MIT (https://github.com/iqbalfn/bootstrap-autocomplete/blob/master/LICENSE) */ @@ -9,7 +9,7 @@ (global = global || self, factory(global['bootstrap-autocomplete'] = {}, global.jQuery)); }(this, (function (exports, $) { 'use strict'; - $ = $ && $.hasOwnProperty('default') ? $['default'] : $; + $ = $ && Object.prototype.hasOwnProperty.call($, 'default') ? $['default'] : $; function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { @@ -44,7 +44,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { - var source = arguments[i] != null ? arguments[i] : {}; + var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { @@ -223,7 +223,7 @@ */ var NAME = 'autocomplete'; - var VERSION = '0.1.0'; + var VERSION = '0.2.0'; var DATA_KEY = 'bs.autocomplete'; var EVENT_KEY = "." + DATA_KEY; var DATA_API_KEY = '.data-api'; @@ -236,6 +236,8 @@ filterMinChars: 1, filterRelation: null, maxResult: 10, + onPick: null, + onItemRendered: null, preProcess: null }; var DefaultType = { @@ -246,13 +248,17 @@ filterMinChars: 'number', filterRelation: '(null|object)', maxResult: 'number', - preProcess: '(null|function)' + preProcess: '(null|function)', + onPick: '(null|function)', + onItemRendered: '(null|function)' }; var Event = { BLUR_DATA_API: "blur" + EVENT_KEY + DATA_API_KEY, CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY, KEYDOWN_DATA_API: "keydown" + EVENT_KEY + DATA_API_KEY, - INPUT_DATA_API: "input" + EVENT_KEY + DATA_API_KEY + INPUT_DATA_API: "input" + EVENT_KEY + DATA_API_KEY, + PICK: "pick" + EVENT_KEY, + ITEM_RENDER: "itemrender" + EVENT_KEY }; var KeyCode = { ARROW_DOWN: 40, @@ -266,9 +272,7 @@ * ------------------------------------------------------------------------ */ - var Autocomplete = - /*#__PURE__*/ - function () { + var Autocomplete = /*#__PURE__*/function () { function Autocomplete(element, config) { this._config = this._getConfig(config); this._element = element; @@ -366,9 +370,9 @@ case KeyCode.ENTER: if (_this._isShown) { - var focus = $(_this._dropdown).children('.active').get(0); - if (!focus) focus = $(_this._dropdown).children(':first-child').get(0); - if (focus) _this._element.value = focus.innerText; + var item = $(_this._dropdown).children('.active').get(0); + if (!item) item = $(_this._dropdown).children(':first-child').get(0); + if (item) _this._selectItem(item); _this.hide(); @@ -605,9 +609,18 @@ items.forEach(function (i) { if (_this6._dropdown.children.length >= _this6._config.maxResult) return; - $('').text(i).appendTo(_this6._dropdown).on(Event.CLICK_DATA_API, function (e) { + var item = $(''); + var itemEl = item.get(0); + item.text(i).appendTo(_this6._dropdown); + if (_this6._config.onItemRendered) _this6._config.onItemRendered(_this6._element, itemEl); + var renderEvent = $.Event(Event.ITEM_RENDER, { + item: itemEl + }); + $(_this6._element).trigger(renderEvent); + item.on(Event.CLICK_DATA_API, function (e) { + _this6._selectItem(e.target); + _this6._preventClose = true; - _this6._element.value = e.target.innerText; _this6.hide(); @@ -617,6 +630,15 @@ }); }; + _proto._selectItem = function _selectItem(item) { + this._element.value = item.innerText; + if (this._config.onPick) this._config.onPick(this._element, item); + var pickEvent = $.Event(Event.PICK, { + item: item + }); + $(this._element).trigger(pickEvent); + }; + _proto._showDropdown = function _showDropdown() { this._isShown = true; diff --git a/docs/js/bootstrap-autocomplete.js.map b/docs/js/bootstrap-autocomplete.js.map index 28bb0b4..5f657f5 100644 --- a/docs/js/bootstrap-autocomplete.js.map +++ b/docs/js/bootstrap-autocomplete.js.map @@ -1 +1 @@ -{"version":3,"file":"bootstrap-autocomplete.js","sources":["../../src/js/util.js","../../src/js/autocomplete.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\nconst TRANSITION_END = 'transitionend'\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nfunction toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\nfunction getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n}\n\nfunction transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n}\n\nfunction setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''\n }\n\n try {\n return document.querySelector(selector) ? selector : null\n } catch (err) {\n return null\n }\n },\n\n getTransitionDurationFromElement(element) {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let transitionDuration = $(element).css('transition-duration')\n let transitionDelay = $(element).css('transition-delay')\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END)\n },\n\n // TODO: Remove in v5\n supportsTransitionEnd() {\n return Boolean(TRANSITION_END)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n },\n\n findShadowRoot(element) {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return Util.findShadowRoot(element.parentNode)\n }\n}\n\nsetTransitionEndSupport()\n\nexport default Util\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap Autocomplete (v0.1.0): autocomplete.js\n * Licensed under MIT (https://github.com/iqbalfn/bootstrap-autocomplete/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'autocomplete'\nconst VERSION = '0.1.0'\nconst DATA_KEY = 'bs.autocomplete'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n list : null,\n\n prefetch : null,\n\n filter : null,\n filterDelay : 300,\n filterMinChars : 1,\n filterRelation : null,\n\n maxResult : 10,\n\n preProcess : null\n}\n\nconst DefaultType = {\n list : '(null|string|element)',\n\n prefetch : '(null|string)',\n\n filter : '(null|string)',\n filterDelay : 'number',\n filterMinChars : 'number',\n filterRelation : '(null|object)',\n\n maxResult : 'number',\n\n preProcess : '(null|function)'\n}\n\nconst Event = {\n BLUR_DATA_API : `blur${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n INPUT_DATA_API : `input${EVENT_KEY}${DATA_API_KEY}`,\n}\n\nconst ClassName = {\n DROPDOWN_MENU : 'dropdown-menu',\n DROPDOWN_ITEM : 'dropdown-item'\n}\n\nconst KeyCode = {\n ARROW_DOWN : 40,\n ARROW_UP : 38,\n ENTER : 13,\n ESCAPE : 27\n}\n\nconst Selector = {}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Autocomplete {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n\n this._items = []\n this._labels = {}\n\n this._isShown = false\n this._dropdown = null\n this._spinner = null\n this._result = []\n this._query = ''\n this._preventClose = false\n this._timer = null\n this._relations = null\n\n if(element.hasAttribute('list')){\n this._config.list = '#' + element.getAttribute('list')\n element.removeAttribute('list')\n }\n\n if(!this._config.list && !this._config.prefetch && !this._config.filter)\n throw new TypeError('No data source provided')\n\n if(this._config.filterRelation)\n this._handleRelations()\n\n element.setAttribute('autocomplete', 'off')\n\n this._makeDropdown()\n this._makeSpinner()\n this._fetchPresetData()\n this._addElementListener()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n show(){\n if(this._isShown)\n return\n\n if(this._result.length)\n this._showDropdown()\n }\n\n hide(){\n if(!this._isShown)\n return\n\n this._hideDropdown()\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._items = null\n this._labels = null\n this._isShown = null\n this._dropdown = null\n this._spinner = null\n this._result = null\n this._query = null\n this._preventClose = null\n if(this._timer)\n clearTimeout(this._timer)\n this._timer = null\n }\n\n // Private\n\n _addElementListener(){\n $(this._element).on(Event.KEYDOWN_DATA_API, e => {\n let prevent = false\n\n switch(e.keyCode){\n case KeyCode.ARROW_DOWN:\n if(e.altKey && !this._isShown){\n this._query = this._element.value.trim().toLowerCase()\n\n if(this._query){\n this._findFromList()\n prevent = true\n }\n }else{\n this._focusNext()\n prevent = true\n }\n break;\n\n case KeyCode.ARROW_UP:\n this._focusPrev()\n prevent = true\n break;\n \n case KeyCode.ENTER:\n if(this._isShown){\n let focus = $(this._dropdown).children('.active').get(0)\n if(!focus)\n focus = $(this._dropdown).children(':first-child').get(0)\n\n if(focus)\n this._element.value = focus.innerText\n\n this.hide()\n prevent = true\n }\n break;\n \n case KeyCode.ESCAPE:\n prevent = true\n this.hide()\n break;\n }\n\n if(prevent)\n e.preventDefault()\n })\n\n $(this._element).on(Event.INPUT_DATA_API, e => {\n this._query = this._element.value.trim().toLowerCase()\n\n if(!this._query){\n this._truncateDropdown()\n this.hide()\n }else{\n this._findFromList()\n }\n })\n\n $(this._element).on(Event.BLUR_DATA_API, e => {\n if(this._preventClose)\n return\n setTimeout(() => this.hide(), 150)\n })\n }\n\n _fetchPresetData(){\n // from datalist\n if(this._config.list){\n let dataList = this._config.list\n if(typeof dataList === 'string')\n dataList = document.querySelector(this._config.list)\n\n if(dataList){\n Array.from(dataList.children).forEach(o => {\n let val = o.innerHTML.toLowerCase()\n if(this._items.includes(val))\n return\n\n this._items.push(val)\n this._labels[val] = o.innerHTML\n })\n }\n }\n\n // from prefetch\n if(this._config.prefetch){\n this._showSpinner()\n $.get(this._config.prefetch, res => {\n this._hideSpinner()\n if(this._config.preProcess)\n res = this._config.preProcess(res)\n\n res.forEach(i => {\n let val = i.toLowerCase()\n if(this._items.includes(val))\n return\n this._items.push(val)\n this._labels[val] = i\n })\n })\n }\n }\n\n _findFromAjax(){\n if(!this._config.filter)\n return\n if(this._dropdown.children.length >= this._config.maxResult)\n return\n\n if(this._timer)\n clearTimeout(this._timer)\n\n let vval = this._query\n this._timer = setTimeout(() => {\n if(vval != this._query)\n return\n this._showSpinner()\n\n let url = this._config.filter\n .replace(/%23/g, '#')\n .replace('#QUERY#', this._query)\n\n if(this._relations){\n let sep = url.includes('?') ? '&' : '?'\n\n for(let k in this._relations){\n let el = this._relations[k]\n let val= $(el).val()\n if(!val)\n continue;\n\n url+= `${sep}${k}=${val}`\n sep = '&'\n }\n }\n\n $.get(url, res => {\n this._hideSpinner()\n if(this._config.preProcess)\n res = this._config.preProcess(res)\n\n let local = []\n res.forEach(i => {\n let val = i.toLowerCase()\n if(this._items.includes(val))\n return\n \n this._items.push(val)\n this._labels[val] = i\n\n local.push(i)\n this._result.push(i)\n })\n\n if(local.length)\n this._renderItem(local)\n\n if(this._result.length)\n this.show()\n else\n this.hide()\n })\n }, this._config.filterDelay)\n }\n\n _findFromList(){\n this._truncateDropdown()\n this._result = []\n\n let local = []\n this._items.forEach(i => {\n if(!i.includes(this._query))\n return\n\n let label = this._labels[i]\n\n if(this._result.includes(label))\n return\n\n local.push(label)\n this._result.push(label)\n })\n\n // now render the result\n if(local.length){\n this._renderItem(local)\n this.show()\n }else{\n this.hide()\n }\n\n this._findFromAjax()\n }\n\n _focusNext(){\n let next = $(this._dropdown).children(':first-child').get(0)\n let focused = $(this._dropdown).children('.active').get(0)\n\n if(focused){\n focused.classList.remove('active')\n let tmpNext = $(focused).next().get(0)\n if(tmpNext)\n next = tmpNext\n }\n\n if(next)\n next.classList.add('active')\n }\n\n _focusPrev(){\n let next = $(this._dropdown).children(':last-child').get(0)\n let focused = $(this._dropdown).children('.active').get(0)\n\n if(focused){\n focused.classList.remove('active')\n let tmpNext = $(focused).prev().get(0)\n if(tmpNext)\n next = tmpNext\n }\n\n if(next)\n next.classList.add('active')\n }\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleRelations(){\n this._relations = []\n for(let name in this._config.filterRelation){\n let selector = this._config.filterRelation[name];\n this._relations[name] = $(selector).get(0)\n $(this._relations[name]).change(e => {\n this._element.value = ''\n $(this._element).change() // we need to trigger this manually\n this._items = []\n });\n }\n }\n\n _hideDropdown(){\n this._isShown = false\n this._dropdown.classList.remove('show')\n }\n\n _hideSpinner(){\n this._spinner.style.display = 'none'\n }\n\n _makeDropdown(){\n this._element.parentNode.style.position = 'relative'\n\n let tmpl = '
'\n\n this._dropdown = $(tmpl).appendTo(this._element.parentNode).get(0)\n\n }\n\n _makeSpinner(){\n let tmpl = '
'\n\n this._spinner = $(tmpl).appendTo(this._element.parentNode).get(0)\n\n $(this._spinner).css({\n position : 'absolute',\n right : $(this._element).css('padding-right'),\n top : (this._element.offsetTop + ((this._element.offsetHeight - this._spinner.offsetHeight)/2)) + 'px'\n })\n\n this._hideSpinner()\n }\n\n _renderItem(items){\n items.forEach(i => {\n if(this._dropdown.children.length >= this._config.maxResult)\n return\n\n $('')\n .text(i)\n .appendTo(this._dropdown)\n .on(Event.CLICK_DATA_API, e => {\n this._preventClose = true\n this._element.value = e.target.innerText\n this.hide()\n e.preventDefault()\n this._preventClose = false\n })\n })\n }\n\n _showDropdown(){\n this._isShown = true\n this._dropdown.classList.add('show')\n }\n\n _showSpinner(){\n this._spinner.style.display = 'inline-block'\n }\n\n _truncateDropdown(){\n this._dropdown.innerHTML = ''\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Default,\n ...$(this).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Autocomplete(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined')\n throw new TypeError(`No method named \"${config}\"`)\n data[config](relatedTarget)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Autocomplete._jQueryInterface\n$.fn[NAME].Constructor = Autocomplete\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Autocomplete._jQueryInterface\n}\n\nexport default Autocomplete"],"names":["TRANSITION_END","MAX_UID","MILLISECONDS_MULTIPLIER","toType","obj","toString","call","match","toLowerCase","getSpecialTransitionEndEvent","bindType","delegateType","handle","event","$","target","is","handleObj","handler","apply","arguments","undefined","transitionEndEmulator","duration","called","one","Util","setTimeout","triggerTransitionEnd","setTransitionEndSupport","fn","emulateTransitionEnd","special","getUID","prefix","Math","random","document","getElementById","getSelectorFromElement","element","selector","getAttribute","hrefAttr","trim","querySelector","err","getTransitionDurationFromElement","transitionDuration","css","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","reflow","offsetHeight","trigger","supportsTransitionEnd","Boolean","isElement","nodeType","typeCheckConfig","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","parentNode","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","Default","list","prefetch","filter","filterDelay","filterMinChars","filterRelation","maxResult","preProcess","DefaultType","Event","BLUR_DATA_API","CLICK_DATA_API","KEYDOWN_DATA_API","INPUT_DATA_API","KeyCode","ARROW_DOWN","ARROW_UP","ENTER","ESCAPE","Autocomplete","_config","_getConfig","_element","_items","_labels","_isShown","_dropdown","_spinner","_result","_query","_preventClose","_timer","_relations","hasAttribute","removeAttribute","TypeError","_handleRelations","setAttribute","_makeDropdown","_makeSpinner","_fetchPresetData","_addElementListener","show","length","_showDropdown","hide","_hideDropdown","dispose","off","removeData","clearTimeout","on","e","prevent","keyCode","altKey","_findFromList","_focusNext","_focusPrev","focus","children","get","innerText","preventDefault","_truncateDropdown","dataList","Array","from","forEach","o","val","innerHTML","includes","push","_showSpinner","res","_hideSpinner","i","_findFromAjax","vval","url","replace","sep","k","el","local","_renderItem","label","next","focused","classList","remove","tmpNext","add","prev","name","change","style","display","position","tmpl","appendTo","right","top","offsetTop","items","text","_jQueryInterface","relatedTarget","each","data","Constructor","noConflict"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"bootstrap-autocomplete.js","sources":["../../src/js/util.js","../../src/js/autocomplete.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.3.1): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\nconst TRANSITION_END = 'transitionend'\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nfunction toType(obj) {\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\nfunction getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined // eslint-disable-line no-undefined\n }\n }\n}\n\nfunction transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n}\n\nfunction setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''\n }\n\n try {\n return document.querySelector(selector) ? selector : null\n } catch (err) {\n return null\n }\n },\n\n getTransitionDurationFromElement(element) {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let transitionDuration = $(element).css('transition-duration')\n let transitionDelay = $(element).css('transition-delay')\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END)\n },\n\n // TODO: Remove in v5\n supportsTransitionEnd() {\n return Boolean(TRANSITION_END)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n },\n\n findShadowRoot(element) {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return Util.findShadowRoot(element.parentNode)\n }\n}\n\nsetTransitionEndSupport()\n\nexport default Util\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap Autocomplete (v0.2.0): autocomplete.js\n * Licensed under MIT (https://github.com/iqbalfn/bootstrap-autocomplete/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'autocomplete'\nconst VERSION = '0.2.0'\nconst DATA_KEY = 'bs.autocomplete'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n list : null,\n\n prefetch : null,\n\n filter : null,\n filterDelay : 300,\n filterMinChars : 1,\n filterRelation : null,\n\n maxResult : 10,\n\n onPick : null,\n onItemRendered : null,\n\n preProcess : null\n}\n\nconst DefaultType = {\n list : '(null|string|element)',\n\n prefetch : '(null|string)',\n\n filter : '(null|string)',\n filterDelay : 'number',\n filterMinChars : 'number',\n filterRelation : '(null|object)',\n\n maxResult : 'number',\n\n preProcess : '(null|function)',\n\n onPick : '(null|function)',\n onItemRendered : '(null|function)'\n}\n\nconst Event = {\n BLUR_DATA_API : `blur${EVENT_KEY}${DATA_API_KEY}`,\n CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`,\n KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`,\n INPUT_DATA_API : `input${EVENT_KEY}${DATA_API_KEY}`,\n\n PICK : `pick${EVENT_KEY}`,\n ITEM_RENDER : `itemrender${EVENT_KEY}`\n}\n\nconst ClassName = {\n DROPDOWN_MENU : 'dropdown-menu',\n DROPDOWN_ITEM : 'dropdown-item'\n}\n\nconst KeyCode = {\n ARROW_DOWN : 40,\n ARROW_UP : 38,\n ENTER : 13,\n ESCAPE : 27\n}\n\nconst Selector = {}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Autocomplete {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n\n this._items = []\n this._labels = {}\n\n this._isShown = false\n this._dropdown = null\n this._spinner = null\n this._result = []\n this._query = ''\n this._preventClose = false\n this._timer = null\n this._relations = null\n\n if(element.hasAttribute('list')){\n this._config.list = '#' + element.getAttribute('list')\n element.removeAttribute('list')\n }\n\n if(!this._config.list && !this._config.prefetch && !this._config.filter)\n throw new TypeError('No data source provided')\n\n if(this._config.filterRelation)\n this._handleRelations()\n\n element.setAttribute('autocomplete', 'off')\n\n this._makeDropdown()\n this._makeSpinner()\n this._fetchPresetData()\n this._addElementListener()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n show(){\n if(this._isShown)\n return\n\n if(this._result.length)\n this._showDropdown()\n }\n\n hide(){\n if(!this._isShown)\n return\n\n this._hideDropdown()\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._items = null\n this._labels = null\n this._isShown = null\n this._dropdown = null\n this._spinner = null\n this._result = null\n this._query = null\n this._preventClose = null\n if(this._timer)\n clearTimeout(this._timer)\n this._timer = null\n }\n\n // Private\n\n _addElementListener(){\n $(this._element).on(Event.KEYDOWN_DATA_API, e => {\n let prevent = false\n\n switch(e.keyCode){\n case KeyCode.ARROW_DOWN:\n if(e.altKey && !this._isShown){\n this._query = this._element.value.trim().toLowerCase()\n\n if(this._query){\n this._findFromList()\n prevent = true\n }\n }else{\n this._focusNext()\n prevent = true\n }\n break;\n\n case KeyCode.ARROW_UP:\n this._focusPrev()\n prevent = true\n break;\n\n case KeyCode.ENTER:\n if(this._isShown){\n let item = $(this._dropdown).children('.active').get(0)\n if(!item)\n item = $(this._dropdown).children(':first-child').get(0)\n\n if(item)\n this._selectItem(item)\n\n this.hide()\n prevent = true\n }\n break;\n\n case KeyCode.ESCAPE:\n prevent = true\n this.hide()\n break;\n }\n\n if(prevent)\n e.preventDefault()\n })\n\n $(this._element).on(Event.INPUT_DATA_API, e => {\n this._query = this._element.value.trim().toLowerCase()\n\n if(!this._query){\n this._truncateDropdown()\n this.hide()\n }else{\n this._findFromList()\n }\n })\n\n $(this._element).on(Event.BLUR_DATA_API, e => {\n if(this._preventClose)\n return\n setTimeout(() => this.hide(), 150)\n })\n }\n\n _fetchPresetData(){\n // from datalist\n if(this._config.list){\n let dataList = this._config.list\n if(typeof dataList === 'string')\n dataList = document.querySelector(this._config.list)\n\n if(dataList){\n Array.from(dataList.children).forEach(o => {\n let val = o.innerHTML.toLowerCase()\n if(this._items.includes(val))\n return\n\n this._items.push(val)\n this._labels[val] = o.innerHTML\n })\n }\n }\n\n // from prefetch\n if(this._config.prefetch){\n this._showSpinner()\n $.get(this._config.prefetch, res => {\n this._hideSpinner()\n if(this._config.preProcess)\n res = this._config.preProcess(res)\n\n res.forEach(i => {\n let val = i.toLowerCase()\n if(this._items.includes(val))\n return\n this._items.push(val)\n this._labels[val] = i\n })\n })\n }\n }\n\n _findFromAjax(){\n if(!this._config.filter)\n return\n if(this._dropdown.children.length >= this._config.maxResult)\n return\n\n if(this._timer)\n clearTimeout(this._timer)\n\n let vval = this._query\n this._timer = setTimeout(() => {\n if(vval != this._query)\n return\n this._showSpinner()\n\n let url = this._config.filter\n .replace(/%23/g, '#')\n .replace('#QUERY#', this._query)\n\n if(this._relations){\n let sep = url.includes('?') ? '&' : '?'\n\n for(let k in this._relations){\n let el = this._relations[k]\n let val= $(el).val()\n if(!val)\n continue;\n\n url+= `${sep}${k}=${val}`\n sep = '&'\n }\n }\n\n $.get(url, res => {\n this._hideSpinner()\n if(this._config.preProcess)\n res = this._config.preProcess(res)\n\n let local = []\n res.forEach(i => {\n let val = i.toLowerCase()\n if(this._items.includes(val))\n return\n\n this._items.push(val)\n this._labels[val] = i\n\n local.push(i)\n this._result.push(i)\n })\n\n if(local.length)\n this._renderItem(local)\n\n if(this._result.length)\n this.show()\n else\n this.hide()\n })\n }, this._config.filterDelay)\n }\n\n _findFromList(){\n this._truncateDropdown()\n this._result = []\n\n let local = []\n this._items.forEach(i => {\n if(!i.includes(this._query))\n return\n\n let label = this._labels[i]\n\n if(this._result.includes(label))\n return\n\n local.push(label)\n this._result.push(label)\n })\n\n // now render the result\n if(local.length){\n this._renderItem(local)\n this.show()\n }else{\n this.hide()\n }\n\n this._findFromAjax()\n }\n\n _focusNext(){\n let next = $(this._dropdown).children(':first-child').get(0)\n let focused = $(this._dropdown).children('.active').get(0)\n\n if(focused){\n focused.classList.remove('active')\n let tmpNext = $(focused).next().get(0)\n if(tmpNext)\n next = tmpNext\n }\n\n if(next)\n next.classList.add('active')\n }\n\n _focusPrev(){\n let next = $(this._dropdown).children(':last-child').get(0)\n let focused = $(this._dropdown).children('.active').get(0)\n\n if(focused){\n focused.classList.remove('active')\n let tmpNext = $(focused).prev().get(0)\n if(tmpNext)\n next = tmpNext\n }\n\n if(next)\n next.classList.add('active')\n }\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleRelations(){\n this._relations = []\n for(let name in this._config.filterRelation){\n let selector = this._config.filterRelation[name];\n this._relations[name] = $(selector).get(0)\n $(this._relations[name]).change(e => {\n this._element.value = ''\n $(this._element).change() // we need to trigger this manually\n this._items = []\n });\n }\n }\n\n _hideDropdown(){\n this._isShown = false\n this._dropdown.classList.remove('show')\n }\n\n _hideSpinner(){\n this._spinner.style.display = 'none'\n }\n\n _makeDropdown(){\n this._element.parentNode.style.position = 'relative'\n\n let tmpl = '
'\n\n this._dropdown = $(tmpl).appendTo(this._element.parentNode).get(0)\n\n }\n\n _makeSpinner(){\n let tmpl = '
'\n\n this._spinner = $(tmpl).appendTo(this._element.parentNode).get(0)\n\n $(this._spinner).css({\n position : 'absolute',\n right : $(this._element).css('padding-right'),\n top : (this._element.offsetTop + ((this._element.offsetHeight - this._spinner.offsetHeight)/2)) + 'px'\n })\n\n this._hideSpinner()\n }\n\n _renderItem(items){\n items.forEach(i => {\n if(this._dropdown.children.length >= this._config.maxResult)\n return\n\n let item = $('')\n let itemEl = item.get(0)\n\n item.text(i).appendTo(this._dropdown)\n\n if(this._config.onItemRendered)\n this._config.onItemRendered(this._element, itemEl)\n\n const renderEvent = $.Event(Event.ITEM_RENDER, {item:itemEl})\n\n $(this._element).trigger(renderEvent)\n\n item.on(Event.CLICK_DATA_API, e => {\n this._selectItem(e.target);\n this._preventClose = true\n this.hide()\n e.preventDefault()\n this._preventClose = false\n })\n })\n }\n\n _selectItem(item){\n this._element.value = item.innerText\n\n if(this._config.onPick)\n this._config.onPick(this._element, item)\n\n const pickEvent = $.Event(Event.PICK, {item})\n $(this._element).trigger(pickEvent)\n }\n\n _showDropdown(){\n this._isShown = true\n this._dropdown.classList.add('show')\n }\n\n _showSpinner(){\n this._spinner.style.display = 'inline-block'\n }\n\n _truncateDropdown(){\n this._dropdown.innerHTML = ''\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Default,\n ...$(this).data(),\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (!data) {\n data = new Autocomplete(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined')\n throw new TypeError(`No method named \"${config}\"`)\n data[config](relatedTarget)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Autocomplete._jQueryInterface\n$.fn[NAME].Constructor = Autocomplete\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Autocomplete._jQueryInterface\n}\n\nexport default Autocomplete\n"],"names":["TRANSITION_END","MAX_UID","MILLISECONDS_MULTIPLIER","toType","obj","toString","call","match","toLowerCase","getSpecialTransitionEndEvent","bindType","delegateType","handle","event","$","target","is","handleObj","handler","apply","arguments","undefined","transitionEndEmulator","duration","called","one","Util","setTimeout","triggerTransitionEnd","setTransitionEndSupport","fn","emulateTransitionEnd","special","getUID","prefix","Math","random","document","getElementById","getSelectorFromElement","element","selector","getAttribute","hrefAttr","trim","querySelector","err","getTransitionDurationFromElement","transitionDuration","css","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","reflow","offsetHeight","trigger","supportsTransitionEnd","Boolean","isElement","nodeType","typeCheckConfig","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","parentNode","NAME","VERSION","DATA_KEY","EVENT_KEY","DATA_API_KEY","JQUERY_NO_CONFLICT","Default","list","prefetch","filter","filterDelay","filterMinChars","filterRelation","maxResult","onPick","onItemRendered","preProcess","DefaultType","Event","BLUR_DATA_API","CLICK_DATA_API","KEYDOWN_DATA_API","INPUT_DATA_API","PICK","ITEM_RENDER","KeyCode","ARROW_DOWN","ARROW_UP","ENTER","ESCAPE","Autocomplete","_config","_getConfig","_element","_items","_labels","_isShown","_dropdown","_spinner","_result","_query","_preventClose","_timer","_relations","hasAttribute","removeAttribute","TypeError","_handleRelations","setAttribute","_makeDropdown","_makeSpinner","_fetchPresetData","_addElementListener","show","length","_showDropdown","hide","_hideDropdown","dispose","off","removeData","clearTimeout","on","e","prevent","keyCode","altKey","_findFromList","_focusNext","_focusPrev","item","children","get","_selectItem","preventDefault","_truncateDropdown","dataList","Array","from","forEach","o","val","innerHTML","includes","push","_showSpinner","res","_hideSpinner","i","_findFromAjax","vval","url","replace","sep","k","el","local","_renderItem","label","next","focused","classList","remove","tmpNext","add","prev","name","change","style","display","position","tmpl","appendTo","right","top","offsetTop","items","itemEl","text","renderEvent","innerText","pickEvent","_jQueryInterface","relatedTarget","each","data","Constructor","noConflict"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;EAIA;EACA;EACA;EACA;EACA;;EAEA,IAAMA,cAAc,GAAG,eAAvB;EACA,IAAMC,OAAO,GAAG,OAAhB;EACA,IAAMC,uBAAuB,GAAG,IAAhC;;EAGA,SAASC,MAAT,CAAgBC,GAAhB,EAAqB;EACnB,SAAO,GAAGC,QAAH,CAAYC,IAAZ,CAAiBF,GAAjB,EAAsBG,KAAtB,CAA4B,aAA5B,EAA2C,CAA3C,EAA8CC,WAA9C,EAAP;EACD;;EAED,SAASC,4BAAT,GAAwC;EACtC,SAAO;EACLC,IAAAA,QAAQ,EAAEV,cADL;EAELW,IAAAA,YAAY,EAAEX,cAFT;EAGLY,IAAAA,MAHK,kBAGEC,KAHF,EAGS;EACZ,UAAIC,CAAC,CAACD,KAAK,CAACE,MAAP,CAAD,CAAgBC,EAAhB,CAAmB,IAAnB,CAAJ,EAA8B;EAC5B,eAAOH,KAAK,CAACI,SAAN,CAAgBC,OAAhB,CAAwBC,KAAxB,CAA8B,IAA9B,EAAoCC,SAApC,CAAP,CAD4B;EAE7B;;EACD,aAAOC,SAAP,CAJY;EAKb;EARI,GAAP;EAUD;;EAED,SAASC,qBAAT,CAA+BC,QAA/B,EAAyC;EAAA;;EACvC,MAAIC,MAAM,GAAG,KAAb;EAEAV,EAAAA,CAAC,CAAC,IAAD,CAAD,CAAQW,GAAR,CAAYC,IAAI,CAAC1B,cAAjB,EAAiC,YAAM;EACrCwB,IAAAA,MAAM,GAAG,IAAT;EACD,GAFD;EAIAG,EAAAA,UAAU,CAAC,YAAM;EACf,QAAI,CAACH,MAAL,EAAa;EACXE,MAAAA,IAAI,CAACE,oBAAL,CAA0B,KAA1B;EACD;EACF,GAJS,EAIPL,QAJO,CAAV;EAMA,SAAO,IAAP;EACD;;EAED,SAASM,uBAAT,GAAmC;EACjCf,EAAAA,CAAC,CAACgB,EAAF,CAAKC,oBAAL,GAA4BT,qBAA5B;EACAR,EAAAA,CAAC,CAACD,KAAF,CAAQmB,OAAR,CAAgBN,IAAI,CAAC1B,cAArB,IAAuCS,4BAA4B,EAAnE;EACD;EAED;EACA;EACA;EACA;EACA;;;EAEA,IAAMiB,IAAI,GAAG;EAEX1B,EAAAA,cAAc,EAAE,iBAFL;EAIXiC,EAAAA,MAJW,kBAIJC,MAJI,EAII;EACb,OAAG;EACD;EACAA,MAAAA,MAAM,IAAI,CAAC,EAAEC,IAAI,CAACC,MAAL,KAAgBnC,OAAlB,CAAX,CAFC;EAGF,KAHD,QAGSoC,QAAQ,CAACC,cAAT,CAAwBJ,MAAxB,CAHT;;EAIA,WAAOA,MAAP;EACD,GAVU;EAYXK,EAAAA,sBAZW,kCAYYC,OAZZ,EAYqB;EAC9B,QAAIC,QAAQ,GAAGD,OAAO,CAACE,YAAR,CAAqB,aAArB,CAAf;;EAEA,QAAI,CAACD,QAAD,IAAaA,QAAQ,KAAK,GAA9B,EAAmC;EACjC,UAAME,QAAQ,GAAGH,OAAO,CAACE,YAAR,CAAqB,MAArB,CAAjB;EACAD,MAAAA,QAAQ,GAAGE,QAAQ,IAAIA,QAAQ,KAAK,GAAzB,GAA+BA,QAAQ,CAACC,IAAT,EAA/B,GAAiD,EAA5D;EACD;;EAED,QAAI;EACF,aAAOP,QAAQ,CAACQ,aAAT,CAAuBJ,QAAvB,IAAmCA,QAAnC,GAA8C,IAArD;EACD,KAFD,CAEE,OAAOK,GAAP,EAAY;EACZ,aAAO,IAAP;EACD;EACF,GAzBU;EA2BXC,EAAAA,gCA3BW,4CA2BsBP,OA3BtB,EA2B+B;EACxC,QAAI,CAACA,OAAL,EAAc;EACZ,aAAO,CAAP;EACD,KAHuC;;;EAMxC,QAAIQ,kBAAkB,GAAGlC,CAAC,CAAC0B,OAAD,CAAD,CAAWS,GAAX,CAAe,qBAAf,CAAzB;EACA,QAAIC,eAAe,GAAGpC,CAAC,CAAC0B,OAAD,CAAD,CAAWS,GAAX,CAAe,kBAAf,CAAtB;EAEA,QAAME,uBAAuB,GAAGC,UAAU,CAACJ,kBAAD,CAA1C;EACA,QAAMK,oBAAoB,GAAGD,UAAU,CAACF,eAAD,CAAvC,CAVwC;;EAaxC,QAAI,CAACC,uBAAD,IAA4B,CAACE,oBAAjC,EAAuD;EACrD,aAAO,CAAP;EACD,KAfuC;;;EAkBxCL,IAAAA,kBAAkB,GAAGA,kBAAkB,CAACM,KAAnB,CAAyB,GAAzB,EAA8B,CAA9B,CAArB;EACAJ,IAAAA,eAAe,GAAGA,eAAe,CAACI,KAAhB,CAAsB,GAAtB,EAA2B,CAA3B,CAAlB;EAEA,WAAO,CAACF,UAAU,CAACJ,kBAAD,CAAV,GAAiCI,UAAU,CAACF,eAAD,CAA5C,IAAiEhD,uBAAxE;EACD,GAjDU;EAmDXqD,EAAAA,MAnDW,kBAmDJf,OAnDI,EAmDK;EACd,WAAOA,OAAO,CAACgB,YAAf;EACD,GArDU;EAuDX5B,EAAAA,oBAvDW,gCAuDUY,OAvDV,EAuDmB;EAC5B1B,IAAAA,CAAC,CAAC0B,OAAD,CAAD,CAAWiB,OAAX,CAAmBzD,cAAnB;EACD,GAzDU;EA2DX;EACA0D,EAAAA,qBA5DW,mCA4Da;EACtB,WAAOC,OAAO,CAAC3D,cAAD,CAAd;EACD,GA9DU;EAgEX4D,EAAAA,SAhEW,qBAgEDxD,GAhEC,EAgEI;EACb,WAAO,CAACA,GAAG,CAAC,CAAD,CAAH,IAAUA,GAAX,EAAgByD,QAAvB;EACD,GAlEU;EAoEXC,EAAAA,eApEW,2BAoEKC,aApEL,EAoEoBC,MApEpB,EAoE4BC,WApE5B,EAoEyC;EAClD,SAAK,IAAMC,QAAX,IAAuBD,WAAvB,EAAoC;EAClC,UAAIE,MAAM,CAACC,SAAP,CAAiBC,cAAjB,CAAgC/D,IAAhC,CAAqC2D,WAArC,EAAkDC,QAAlD,CAAJ,EAAiE;EAC/D,YAAMI,aAAa,GAAGL,WAAW,CAACC,QAAD,CAAjC;EACA,YAAMK,KAAK,GAAWP,MAAM,CAACE,QAAD,CAA5B;EACA,YAAMM,SAAS,GAAOD,KAAK,IAAI7C,IAAI,CAACkC,SAAL,CAAeW,KAAf,CAAT,GAClB,SADkB,GACNpE,MAAM,CAACoE,KAAD,CADtB;;EAGA,YAAI,CAAC,IAAIE,MAAJ,CAAWH,aAAX,EAA0BI,IAA1B,CAA+BF,SAA/B,CAAL,EAAgD;EAC9C,gBAAM,IAAIG,KAAJ,CACDZ,aAAa,CAACa,WAAd,EAAH,yBACWV,QADX,2BACuCM,SADvC,sCAEsBF,aAFtB,SADI,CAAN;EAID;EACF;EACF;EACF,GApFU;EAsFXO,EAAAA,cAtFW,0BAsFIrC,OAtFJ,EAsFa;EACtB,QAAI,CAACH,QAAQ,CAACyC,eAAT,CAAyBC,YAA9B,EAA4C;EAC1C,aAAO,IAAP;EACD,KAHqB;;;EAMtB,QAAI,OAAOvC,OAAO,CAACwC,WAAf,KAA+B,UAAnC,EAA+C;EAC7C,UAAMC,IAAI,GAAGzC,OAAO,CAACwC,WAAR,EAAb;EACA,aAAOC,IAAI,YAAYC,UAAhB,GAA6BD,IAA7B,GAAoC,IAA3C;EACD;;EAED,QAAIzC,OAAO,YAAY0C,UAAvB,EAAmC;EACjC,aAAO1C,OAAP;EACD,KAbqB;;;EAgBtB,QAAI,CAACA,OAAO,CAAC2C,UAAb,EAAyB;EACvB,aAAO,IAAP;EACD;;EAED,WAAOzD,IAAI,CAACmD,cAAL,CAAoBrC,OAAO,CAAC2C,UAA5B,CAAP;EACD;EA3GU,CAAb;EA8GAtD,uBAAuB;;ECpKvB;EACA;EACA;EACA;EACA;;EAEA,IAAMuD,IAAI,GAAiB,cAA3B;EACA,IAAMC,OAAO,GAAc,OAA3B;EACA,IAAMC,QAAQ,GAAa,iBAA3B;EACA,IAAMC,SAAS,SAAgBD,QAA/B;EACA,IAAME,YAAY,GAAS,WAA3B;EACA,IAAMC,kBAAkB,GAAG3E,CAAC,CAACgB,EAAF,CAAKsD,IAAL,CAA3B;EAEA,IAAMM,OAAO,GAAG;EACZC,EAAAA,IAAI,EAAc,IADN;EAGZC,EAAAA,QAAQ,EAAU,IAHN;EAKZC,EAAAA,MAAM,EAAY,IALN;EAMZC,EAAAA,WAAW,EAAO,GANN;EAOZC,EAAAA,cAAc,EAAI,CAPN;EAQZC,EAAAA,cAAc,EAAI,IARN;EAUZC,EAAAA,SAAS,EAAS,EAVN;EAYZC,EAAAA,MAAM,EAAY,IAZN;EAaZC,EAAAA,cAAc,EAAI,IAbN;EAeZC,EAAAA,UAAU,EAAQ;EAfN,CAAhB;EAkBA,IAAMC,WAAW,GAAG;EAChBV,EAAAA,IAAI,EAAc,uBADF;EAGhBC,EAAAA,QAAQ,EAAU,eAHF;EAKhBC,EAAAA,MAAM,EAAY,eALF;EAMhBC,EAAAA,WAAW,EAAO,QANF;EAOhBC,EAAAA,cAAc,EAAI,QAPF;EAQhBC,EAAAA,cAAc,EAAI,eARF;EAUhBC,EAAAA,SAAS,EAAS,QAVF;EAYhBG,EAAAA,UAAU,EAAQ,iBAZF;EAchBF,EAAAA,MAAM,EAAY,iBAdF;EAehBC,EAAAA,cAAc,EAAI;EAfF,CAApB;EAkBA,IAAMG,KAAK,GAAG;EACVC,EAAAA,aAAa,WAAgBhB,SAAhB,GAA4BC,YAD/B;EAEVgB,EAAAA,cAAc,YAAgBjB,SAAhB,GAA4BC,YAFhC;EAGViB,EAAAA,gBAAgB,cAAgBlB,SAAhB,GAA4BC,YAHlC;EAIVkB,EAAAA,cAAc,YAAgBnB,SAAhB,GAA4BC,YAJhC;EAMVmB,EAAAA,IAAI,WAAyBpB,SANnB;EAOVqB,EAAAA,WAAW,iBAAwBrB;EAPzB,CAAd;AAUA,EAKA,IAAMsB,OAAO,GAAG;EACZC,EAAAA,UAAU,EAAI,EADF;EAEZC,EAAAA,QAAQ,EAAM,EAFF;EAGZC,EAAAA,KAAK,EAAS,EAHF;EAIZC,EAAAA,MAAM,EAAQ;EAJF,CAAhB;AAOA,EAEA;EACA;EACA;EACA;EACA;;MAEMC;EACF,wBAAY1E,OAAZ,EAAqBwB,MAArB,EAA6B;EACzB,SAAKmD,OAAL,GAAkB,KAAKC,UAAL,CAAgBpD,MAAhB,CAAlB;EACA,SAAKqD,QAAL,GAAkB7E,OAAlB;EAEA,SAAK8E,MAAL,GAAkB,EAAlB;EACA,SAAKC,OAAL,GAAkB,EAAlB;EAEA,SAAKC,QAAL,GAAkB,KAAlB;EACA,SAAKC,SAAL,GAAkB,IAAlB;EACA,SAAKC,QAAL,GAAkB,IAAlB;EACA,SAAKC,OAAL,GAAkB,EAAlB;EACA,SAAKC,MAAL,GAAkB,EAAlB;EACA,SAAKC,aAAL,GAAqB,KAArB;EACA,SAAKC,MAAL,GAAkB,IAAlB;EACA,SAAKC,UAAL,GAAkB,IAAlB;;EAEA,QAAGvF,OAAO,CAACwF,YAAR,CAAqB,MAArB,CAAH,EAAgC;EAC5B,WAAKb,OAAL,CAAaxB,IAAb,GAAoB,MAAMnD,OAAO,CAACE,YAAR,CAAqB,MAArB,CAA1B;EACAF,MAAAA,OAAO,CAACyF,eAAR,CAAwB,MAAxB;EACH;;EAED,QAAG,CAAC,KAAKd,OAAL,CAAaxB,IAAd,IAAsB,CAAC,KAAKwB,OAAL,CAAavB,QAApC,IAAgD,CAAC,KAAKuB,OAAL,CAAatB,MAAjE,EACI,MAAM,IAAIqC,SAAJ,CAAc,yBAAd,CAAN;EAEJ,QAAG,KAAKf,OAAL,CAAanB,cAAhB,EACI,KAAKmC,gBAAL;EAEJ3F,IAAAA,OAAO,CAAC4F,YAAR,CAAqB,cAArB,EAAqC,KAArC;;EAEA,SAAKC,aAAL;;EACA,SAAKC,YAAL;;EACA,SAAKC,gBAAL;;EACA,SAAKC,mBAAL;EACH;;;;;EAYD;WAEAC,OAAA,gBAAM;EACF,QAAG,KAAKjB,QAAR,EACI;EAEJ,QAAG,KAAKG,OAAL,CAAae,MAAhB,EACI,KAAKC,aAAL;EACP;;WAEDC,OAAA,gBAAM;EACF,QAAG,CAAC,KAAKpB,QAAT,EACI;;EAEJ,SAAKqB,aAAL;EACH;;WAEDC,UAAA,mBAAU;EACNhI,IAAAA,CAAC,CAAC,KAAKuG,QAAN,CAAD,CAAiB0B,GAAjB,CAAqBxD,SAArB;EAEAzE,IAAAA,CAAC,CAACkI,UAAF,CAAa,KAAK3B,QAAlB,EAA4B/B,QAA5B;EAEA,SAAK6B,OAAL,GAAkB,IAAlB;EACA,SAAKE,QAAL,GAAkB,IAAlB;EACA,SAAKC,MAAL,GAAkB,IAAlB;EACA,SAAKC,OAAL,GAAkB,IAAlB;EACA,SAAKC,QAAL,GAAkB,IAAlB;EACA,SAAKC,SAAL,GAAkB,IAAlB;EACA,SAAKC,QAAL,GAAkB,IAAlB;EACA,SAAKC,OAAL,GAAkB,IAAlB;EACA,SAAKC,MAAL,GAAkB,IAAlB;EACA,SAAKC,aAAL,GAAqB,IAArB;EACA,QAAG,KAAKC,MAAR,EACImB,YAAY,CAAC,KAAKnB,MAAN,CAAZ;EACJ,SAAKA,MAAL,GAAkB,IAAlB;EACH;;;WAIDU,sBAAA,+BAAqB;EAAA;;EACjB1H,IAAAA,CAAC,CAAC,KAAKuG,QAAN,CAAD,CAAiB6B,EAAjB,CAAoB5C,KAAK,CAACG,gBAA1B,EAA4C,UAAA0C,CAAC,EAAI;EAC7C,UAAIC,OAAO,GAAG,KAAd;;EAEA,cAAOD,CAAC,CAACE,OAAT;EACI,aAAKxC,OAAO,CAACC,UAAb;EACI,cAAGqC,CAAC,CAACG,MAAF,IAAY,CAAC,KAAI,CAAC9B,QAArB,EAA8B;EAC1B,YAAA,KAAI,CAACI,MAAL,GAAc,KAAI,CAACP,QAAL,CAAc9C,KAAd,CAAoB3B,IAApB,GAA2BpC,WAA3B,EAAd;;EAEA,gBAAG,KAAI,CAACoH,MAAR,EAAe;EACX,cAAA,KAAI,CAAC2B,aAAL;;EACAH,cAAAA,OAAO,GAAG,IAAV;EACH;EACJ,WAPD,MAOK;EACD,YAAA,KAAI,CAACI,UAAL;;EACAJ,YAAAA,OAAO,GAAG,IAAV;EACH;;EACD;;EAEJ,aAAKvC,OAAO,CAACE,QAAb;EACI,UAAA,KAAI,CAAC0C,UAAL;;EACAL,UAAAA,OAAO,GAAG,IAAV;EACA;;EAEJ,aAAKvC,OAAO,CAACG,KAAb;EACI,cAAG,KAAI,CAACQ,QAAR,EAAiB;EACb,gBAAIkC,IAAI,GAAG5I,CAAC,CAAC,KAAI,CAAC2G,SAAN,CAAD,CAAkBkC,QAAlB,CAA2B,SAA3B,EAAsCC,GAAtC,CAA0C,CAA1C,CAAX;EACA,gBAAG,CAACF,IAAJ,EACIA,IAAI,GAAG5I,CAAC,CAAC,KAAI,CAAC2G,SAAN,CAAD,CAAkBkC,QAAlB,CAA2B,cAA3B,EAA2CC,GAA3C,CAA+C,CAA/C,CAAP;EAEJ,gBAAGF,IAAH,EACI,KAAI,CAACG,WAAL,CAAiBH,IAAjB;;EAEJ,YAAA,KAAI,CAACd,IAAL;;EACAQ,YAAAA,OAAO,GAAG,IAAV;EACH;;EACD;;EAEJ,aAAKvC,OAAO,CAACI,MAAb;EACImC,UAAAA,OAAO,GAAG,IAAV;;EACA,UAAA,KAAI,CAACR,IAAL;;EACA;EArCR;;EAwCA,UAAGQ,OAAH,EACID,CAAC,CAACW,cAAF;EACP,KA7CD;EA+CAhJ,IAAAA,CAAC,CAAC,KAAKuG,QAAN,CAAD,CAAiB6B,EAAjB,CAAoB5C,KAAK,CAACI,cAA1B,EAA0C,UAAAyC,CAAC,EAAI;EAC3C,MAAA,KAAI,CAACvB,MAAL,GAAc,KAAI,CAACP,QAAL,CAAc9C,KAAd,CAAoB3B,IAApB,GAA2BpC,WAA3B,EAAd;;EAEA,UAAG,CAAC,KAAI,CAACoH,MAAT,EAAgB;EACZ,QAAA,KAAI,CAACmC,iBAAL;;EACA,QAAA,KAAI,CAACnB,IAAL;EACH,OAHD,MAGK;EACD,QAAA,KAAI,CAACW,aAAL;EACH;EACJ,KATD;EAWAzI,IAAAA,CAAC,CAAC,KAAKuG,QAAN,CAAD,CAAiB6B,EAAjB,CAAoB5C,KAAK,CAACC,aAA1B,EAAyC,UAAA4C,CAAC,EAAI;EAC1C,UAAG,KAAI,CAACtB,aAAR,EACI;EACJlG,MAAAA,UAAU,CAAC;EAAA,eAAM,KAAI,CAACiH,IAAL,EAAN;EAAA,OAAD,EAAoB,GAApB,CAAV;EACH,KAJD;EAKH;;WAEDL,mBAAA,4BAAkB;EAAA;;EACd;EACA,QAAG,KAAKpB,OAAL,CAAaxB,IAAhB,EAAqB;EACjB,UAAIqE,QAAQ,GAAG,KAAK7C,OAAL,CAAaxB,IAA5B;EACA,UAAG,OAAOqE,QAAP,KAAoB,QAAvB,EACIA,QAAQ,GAAG3H,QAAQ,CAACQ,aAAT,CAAuB,KAAKsE,OAAL,CAAaxB,IAApC,CAAX;;EAEJ,UAAGqE,QAAH,EAAY;EACRC,QAAAA,KAAK,CAACC,IAAN,CAAWF,QAAQ,CAACL,QAApB,EAA8BQ,OAA9B,CAAsC,UAAAC,CAAC,EAAI;EACvC,cAAIC,GAAG,GAAGD,CAAC,CAACE,SAAF,CAAY9J,WAAZ,EAAV;EACA,cAAG,MAAI,CAAC8G,MAAL,CAAYiD,QAAZ,CAAqBF,GAArB,CAAH,EACI;;EAEJ,UAAA,MAAI,CAAC/C,MAAL,CAAYkD,IAAZ,CAAiBH,GAAjB;;EACA,UAAA,MAAI,CAAC9C,OAAL,CAAa8C,GAAb,IAAoBD,CAAC,CAACE,SAAtB;EACH,SAPD;EAQH;EACJ,KAjBa;;;EAoBd,QAAG,KAAKnD,OAAL,CAAavB,QAAhB,EAAyB;EACrB,WAAK6E,YAAL;;EACA3J,MAAAA,CAAC,CAAC8I,GAAF,CAAM,KAAKzC,OAAL,CAAavB,QAAnB,EAA6B,UAAA8E,GAAG,EAAI;EAChC,QAAA,MAAI,CAACC,YAAL;;EACA,YAAG,MAAI,CAACxD,OAAL,CAAaf,UAAhB,EACIsE,GAAG,GAAG,MAAI,CAACvD,OAAL,CAAaf,UAAb,CAAwBsE,GAAxB,CAAN;EAEJA,QAAAA,GAAG,CAACP,OAAJ,CAAY,UAAAS,CAAC,EAAI;EACb,cAAIP,GAAG,GAAGO,CAAC,CAACpK,WAAF,EAAV;EACA,cAAG,MAAI,CAAC8G,MAAL,CAAYiD,QAAZ,CAAqBF,GAArB,CAAH,EACI;;EACJ,UAAA,MAAI,CAAC/C,MAAL,CAAYkD,IAAZ,CAAiBH,GAAjB;;EACA,UAAA,MAAI,CAAC9C,OAAL,CAAa8C,GAAb,IAAoBO,CAApB;EACH,SAND;EAOH,OAZD;EAaH;EACJ;;WAEDC,gBAAA,yBAAe;EAAA;;EACX,QAAG,CAAC,KAAK1D,OAAL,CAAatB,MAAjB,EACI;EACJ,QAAG,KAAK4B,SAAL,CAAekC,QAAf,CAAwBjB,MAAxB,IAAkC,KAAKvB,OAAL,CAAalB,SAAlD,EACI;EAEJ,QAAG,KAAK6B,MAAR,EACImB,YAAY,CAAC,KAAKnB,MAAN,CAAZ;EAEJ,QAAIgD,IAAI,GAAG,KAAKlD,MAAhB;EACA,SAAKE,MAAL,GAAcnG,UAAU,CAAC,YAAM;EAC3B,UAAGmJ,IAAI,IAAI,MAAI,CAAClD,MAAhB,EACI;;EACJ,MAAA,MAAI,CAAC6C,YAAL;;EAEA,UAAIM,GAAG,GAAG,MAAI,CAAC5D,OAAL,CAAatB,MAAb,CACLmF,OADK,CACG,MADH,EACW,GADX,EAELA,OAFK,CAEG,SAFH,EAEc,MAAI,CAACpD,MAFnB,CAAV;;EAIA,UAAG,MAAI,CAACG,UAAR,EAAmB;EACf,YAAIkD,GAAG,GAAGF,GAAG,CAACR,QAAJ,CAAa,GAAb,IAAoB,GAApB,GAA0B,GAApC;;EAEA,aAAI,IAAIW,CAAR,IAAa,MAAI,CAACnD,UAAlB,EAA6B;EACzB,cAAIoD,EAAE,GAAG,MAAI,CAACpD,UAAL,CAAgBmD,CAAhB,CAAT;EACA,cAAIb,GAAG,GAAEvJ,CAAC,CAACqK,EAAD,CAAD,CAAMd,GAAN,EAAT;EACA,cAAG,CAACA,GAAJ,EACI;EAEJU,UAAAA,GAAG,SAAME,GAAN,GAAYC,CAAZ,SAAiBb,GAApB;EACAY,UAAAA,GAAG,GAAG,GAAN;EACH;EACJ;;EAEDnK,MAAAA,CAAC,CAAC8I,GAAF,CAAMmB,GAAN,EAAW,UAAAL,GAAG,EAAI;EACd,QAAA,MAAI,CAACC,YAAL;;EACA,YAAG,MAAI,CAACxD,OAAL,CAAaf,UAAhB,EACIsE,GAAG,GAAG,MAAI,CAACvD,OAAL,CAAaf,UAAb,CAAwBsE,GAAxB,CAAN;EAEJ,YAAIU,KAAK,GAAG,EAAZ;EACAV,QAAAA,GAAG,CAACP,OAAJ,CAAY,UAAAS,CAAC,EAAI;EACb,cAAIP,GAAG,GAAGO,CAAC,CAACpK,WAAF,EAAV;EACA,cAAG,MAAI,CAAC8G,MAAL,CAAYiD,QAAZ,CAAqBF,GAArB,CAAH,EACI;;EAEJ,UAAA,MAAI,CAAC/C,MAAL,CAAYkD,IAAZ,CAAiBH,GAAjB;;EACA,UAAA,MAAI,CAAC9C,OAAL,CAAa8C,GAAb,IAAoBO,CAApB;EAEAQ,UAAAA,KAAK,CAACZ,IAAN,CAAWI,CAAX;;EACA,UAAA,MAAI,CAACjD,OAAL,CAAa6C,IAAb,CAAkBI,CAAlB;EACH,SAVD;EAYA,YAAGQ,KAAK,CAAC1C,MAAT,EACI,MAAI,CAAC2C,WAAL,CAAiBD,KAAjB;EAEJ,YAAG,MAAI,CAACzD,OAAL,CAAae,MAAhB,EACI,MAAI,CAACD,IAAL,GADJ,KAGI,MAAI,CAACG,IAAL;EACP,OAzBD;EA0BH,KAjDuB,EAiDrB,KAAKzB,OAAL,CAAarB,WAjDQ,CAAxB;EAkDH;;WAEDyD,gBAAA,yBAAe;EAAA;;EACX,SAAKQ,iBAAL;;EACA,SAAKpC,OAAL,GAAe,EAAf;EAEA,QAAIyD,KAAK,GAAG,EAAZ;;EACA,SAAK9D,MAAL,CAAY6C,OAAZ,CAAoB,UAAAS,CAAC,EAAI;EACrB,UAAG,CAACA,CAAC,CAACL,QAAF,CAAW,MAAI,CAAC3C,MAAhB,CAAJ,EACI;EAEJ,UAAI0D,KAAK,GAAG,MAAI,CAAC/D,OAAL,CAAaqD,CAAb,CAAZ;EAEA,UAAG,MAAI,CAACjD,OAAL,CAAa4C,QAAb,CAAsBe,KAAtB,CAAH,EACI;EAEJF,MAAAA,KAAK,CAACZ,IAAN,CAAWc,KAAX;;EACA,MAAA,MAAI,CAAC3D,OAAL,CAAa6C,IAAb,CAAkBc,KAAlB;EACH,KAXD,EALW;;;EAmBX,QAAGF,KAAK,CAAC1C,MAAT,EAAgB;EACZ,WAAK2C,WAAL,CAAiBD,KAAjB;;EACA,WAAK3C,IAAL;EACH,KAHD,MAGK;EACD,WAAKG,IAAL;EACH;;EAED,SAAKiC,aAAL;EACH;;WAEDrB,aAAA,sBAAY;EACR,QAAI+B,IAAI,GAAGzK,CAAC,CAAC,KAAK2G,SAAN,CAAD,CAAkBkC,QAAlB,CAA2B,cAA3B,EAA2CC,GAA3C,CAA+C,CAA/C,CAAX;EACA,QAAI4B,OAAO,GAAG1K,CAAC,CAAC,KAAK2G,SAAN,CAAD,CAAkBkC,QAAlB,CAA2B,SAA3B,EAAsCC,GAAtC,CAA0C,CAA1C,CAAd;;EAEA,QAAG4B,OAAH,EAAW;EACPA,MAAAA,OAAO,CAACC,SAAR,CAAkBC,MAAlB,CAAyB,QAAzB;EACA,UAAIC,OAAO,GAAG7K,CAAC,CAAC0K,OAAD,CAAD,CAAWD,IAAX,GAAkB3B,GAAlB,CAAsB,CAAtB,CAAd;EACA,UAAG+B,OAAH,EACIJ,IAAI,GAAGI,OAAP;EACP;;EAED,QAAGJ,IAAH,EACIA,IAAI,CAACE,SAAL,CAAeG,GAAf,CAAmB,QAAnB;EACP;;WAEDnC,aAAA,sBAAY;EACR,QAAI8B,IAAI,GAAGzK,CAAC,CAAC,KAAK2G,SAAN,CAAD,CAAkBkC,QAAlB,CAA2B,aAA3B,EAA0CC,GAA1C,CAA8C,CAA9C,CAAX;EACA,QAAI4B,OAAO,GAAG1K,CAAC,CAAC,KAAK2G,SAAN,CAAD,CAAkBkC,QAAlB,CAA2B,SAA3B,EAAsCC,GAAtC,CAA0C,CAA1C,CAAd;;EAEA,QAAG4B,OAAH,EAAW;EACPA,MAAAA,OAAO,CAACC,SAAR,CAAkBC,MAAlB,CAAyB,QAAzB;EACA,UAAIC,OAAO,GAAG7K,CAAC,CAAC0K,OAAD,CAAD,CAAWK,IAAX,GAAkBjC,GAAlB,CAAsB,CAAtB,CAAd;EACA,UAAG+B,OAAH,EACIJ,IAAI,GAAGI,OAAP;EACP;;EAED,QAAGJ,IAAH,EACIA,IAAI,CAACE,SAAL,CAAeG,GAAf,CAAmB,QAAnB;EACP;;WAEDxE,aAAA,oBAAWpD,MAAX,EAAmB;EACfA,IAAAA,MAAM,qBACC0B,OADD,EAEC1B,MAFD,CAAN;EAIAtC,IAAAA,IAAI,CAACoC,eAAL,CAAqBsB,IAArB,EAA2BpB,MAA3B,EAAmCqC,WAAnC;EACA,WAAOrC,MAAP;EACH;;WAEDmE,mBAAA,4BAAkB;EAAA;;EACd,SAAKJ,UAAL,GAAkB,EAAlB;;EACA,SAAI,IAAI+D,IAAR,IAAgB,KAAK3E,OAAL,CAAanB,cAA7B,EAA4C;EACxC,UAAIvD,QAAQ,GAAG,KAAK0E,OAAL,CAAanB,cAAb,CAA4B8F,IAA5B,CAAf;EACA,WAAK/D,UAAL,CAAgB+D,IAAhB,IAAwBhL,CAAC,CAAC2B,QAAD,CAAD,CAAYmH,GAAZ,CAAgB,CAAhB,CAAxB;EACA9I,MAAAA,CAAC,CAAC,KAAKiH,UAAL,CAAgB+D,IAAhB,CAAD,CAAD,CAAyBC,MAAzB,CAAgC,UAAA5C,CAAC,EAAI;EACjC,QAAA,MAAI,CAAC9B,QAAL,CAAc9C,KAAd,GAAsB,EAAtB;EACAzD,QAAAA,CAAC,CAAC,MAAI,CAACuG,QAAN,CAAD,CAAiB0E,MAAjB,GAFiC;;EAGjC,QAAA,MAAI,CAACzE,MAAL,GAAc,EAAd;EACH,OAJD;EAKH;EACJ;;WAEDuB,gBAAA,yBAAe;EACX,SAAKrB,QAAL,GAAgB,KAAhB;;EACA,SAAKC,SAAL,CAAegE,SAAf,CAAyBC,MAAzB,CAAgC,MAAhC;EACH;;WAEDf,eAAA,wBAAc;EACV,SAAKjD,QAAL,CAAcsE,KAAd,CAAoBC,OAApB,GAA8B,MAA9B;EACH;;WAED5D,gBAAA,yBAAe;EACX,SAAKhB,QAAL,CAAclC,UAAd,CAAyB6G,KAAzB,CAA+BE,QAA/B,GAA0C,UAA1C;EAEA,QAAIC,IAAI,GAAG,sDAAX;EAEA,SAAK1E,SAAL,GAAiB3G,CAAC,CAACqL,IAAD,CAAD,CAAQC,QAAR,CAAiB,KAAK/E,QAAL,CAAclC,UAA/B,EAA2CyE,GAA3C,CAA+C,CAA/C,CAAjB;EAEH;;WAEDtB,eAAA,wBAAc;EACV,QAAI6D,IAAI,GAAG,mFAAX;EAEA,SAAKzE,QAAL,GAAgB5G,CAAC,CAACqL,IAAD,CAAD,CAAQC,QAAR,CAAiB,KAAK/E,QAAL,CAAclC,UAA/B,EAA2CyE,GAA3C,CAA+C,CAA/C,CAAhB;EAEA9I,IAAAA,CAAC,CAAC,KAAK4G,QAAN,CAAD,CAAiBzE,GAAjB,CAAqB;EACjBiJ,MAAAA,QAAQ,EAAG,UADM;EAEjBG,MAAAA,KAAK,EAAMvL,CAAC,CAAC,KAAKuG,QAAN,CAAD,CAAiBpE,GAAjB,CAAqB,eAArB,CAFM;EAGjBqJ,MAAAA,GAAG,EAAS,KAAKjF,QAAL,CAAckF,SAAd,GAA2B,CAAC,KAAKlF,QAAL,CAAc7D,YAAd,GAA6B,KAAKkE,QAAL,CAAclE,YAA5C,IAA0D,CAAtF,GAA4F;EAHtF,KAArB;;EAMA,SAAKmH,YAAL;EACH;;WAEDU,cAAA,qBAAYmB,KAAZ,EAAkB;EAAA;;EACdA,IAAAA,KAAK,CAACrC,OAAN,CAAc,UAAAS,CAAC,EAAI;EACf,UAAG,MAAI,CAACnD,SAAL,CAAekC,QAAf,CAAwBjB,MAAxB,IAAkC,MAAI,CAACvB,OAAL,CAAalB,SAAlD,EACI;EAEJ,UAAIyD,IAAI,GAAG5I,CAAC,CAAC,wCAAD,CAAZ;EACA,UAAI2L,MAAM,GAAG/C,IAAI,CAACE,GAAL,CAAS,CAAT,CAAb;EAEAF,MAAAA,IAAI,CAACgD,IAAL,CAAU9B,CAAV,EAAawB,QAAb,CAAsB,MAAI,CAAC3E,SAA3B;EAEA,UAAG,MAAI,CAACN,OAAL,CAAahB,cAAhB,EACI,MAAI,CAACgB,OAAL,CAAahB,cAAb,CAA4B,MAAI,CAACkB,QAAjC,EAA2CoF,MAA3C;EAEJ,UAAME,WAAW,GAAG7L,CAAC,CAACwF,KAAF,CAAQA,KAAK,CAACM,WAAd,EAA2B;EAAC8C,QAAAA,IAAI,EAAC+C;EAAN,OAA3B,CAApB;EAEA3L,MAAAA,CAAC,CAAC,MAAI,CAACuG,QAAN,CAAD,CAAiB5D,OAAjB,CAAyBkJ,WAAzB;EAEAjD,MAAAA,IAAI,CAACR,EAAL,CAAQ5C,KAAK,CAACE,cAAd,EAA8B,UAAA2C,CAAC,EAAI;EAC/B,QAAA,MAAI,CAACU,WAAL,CAAiBV,CAAC,CAACpI,MAAnB;;EACA,QAAA,MAAI,CAAC8G,aAAL,GAAsB,IAAtB;;EACA,QAAA,MAAI,CAACe,IAAL;;EACAO,QAAAA,CAAC,CAACW,cAAF;EACA,QAAA,MAAI,CAACjC,aAAL,GAAqB,KAArB;EACH,OAND;EAOH,KAvBD;EAwBH;;WAEDgC,cAAA,qBAAYH,IAAZ,EAAiB;EACb,SAAKrC,QAAL,CAAc9C,KAAd,GAAsBmF,IAAI,CAACkD,SAA3B;EAEA,QAAG,KAAKzF,OAAL,CAAajB,MAAhB,EACI,KAAKiB,OAAL,CAAajB,MAAb,CAAoB,KAAKmB,QAAzB,EAAmCqC,IAAnC;EAEJ,QAAMmD,SAAS,GAAG/L,CAAC,CAACwF,KAAF,CAAQA,KAAK,CAACK,IAAd,EAAoB;EAAC+C,MAAAA,IAAI,EAAJA;EAAD,KAApB,CAAlB;EACA5I,IAAAA,CAAC,CAAC,KAAKuG,QAAN,CAAD,CAAiB5D,OAAjB,CAAyBoJ,SAAzB;EACH;;WAEDlE,gBAAA,yBAAe;EACX,SAAKnB,QAAL,GAAgB,IAAhB;;EACA,SAAKC,SAAL,CAAegE,SAAf,CAAyBG,GAAzB,CAA6B,MAA7B;EACH;;WAEDnB,eAAA,wBAAc;EACV,SAAK/C,QAAL,CAAcsE,KAAd,CAAoBC,OAApB,GAA8B,cAA9B;EACH;;WAEDlC,oBAAA,6BAAmB;EACf,SAAKtC,SAAL,CAAe6C,SAAf,GAA2B,EAA3B;EACH;;;iBAIMwC,mBAAP,0BAAwB9I,MAAxB,EAAgC+I,aAAhC,EAA+C;EAC3C,WAAO,KAAKC,IAAL,CAAU,YAAY;EACzB,UAAIC,IAAI,GAAGnM,CAAC,CAAC,IAAD,CAAD,CAAQmM,IAAR,CAAa3H,QAAb,CAAX;;EACA,UAAM6B,OAAO,qBACNzB,OADM,EAEN5E,CAAC,CAAC,IAAD,CAAD,CAAQmM,IAAR,EAFM,EAGN,OAAOjJ,MAAP,KAAkB,QAAlB,IAA8BA,MAA9B,GAAuCA,MAAvC,GAAgD,EAH1C,CAAb;;EAMA,UAAI,CAACiJ,IAAL,EAAW;EACPA,QAAAA,IAAI,GAAG,IAAI/F,YAAJ,CAAiB,IAAjB,EAAuBC,OAAvB,CAAP;EACArG,QAAAA,CAAC,CAAC,IAAD,CAAD,CAAQmM,IAAR,CAAa3H,QAAb,EAAuB2H,IAAvB;EACH;;EAED,UAAI,OAAOjJ,MAAP,KAAkB,QAAtB,EAAgC;EAC5B,YAAI,OAAOiJ,IAAI,CAACjJ,MAAD,CAAX,KAAwB,WAA5B,EACI,MAAM,IAAIkE,SAAJ,wBAAkClE,MAAlC,QAAN;EACJiJ,QAAAA,IAAI,CAACjJ,MAAD,CAAJ,CAAa+I,aAAb;EACH;EACJ,KAlBM,CAAP;EAmBH;;;;0BA9YoB;EACjB,aAAO1H,OAAP;EACH;;;0BAEoB;EACjB,aAAOK,OAAP;EACH;;;;;EA2YL;EACA;EACA;EACA;EACA;;;EAEA5E,CAAC,CAACgB,EAAF,CAAKsD,IAAL,IAAa8B,YAAY,CAAC4F,gBAA1B;EACAhM,CAAC,CAACgB,EAAF,CAAKsD,IAAL,EAAW8H,WAAX,GAAyBhG,YAAzB;;EACApG,CAAC,CAACgB,EAAF,CAAKsD,IAAL,EAAW+H,UAAX,GAAwB,YAAM;EAC5BrM,EAAAA,CAAC,CAACgB,EAAF,CAAKsD,IAAL,IAAaK,kBAAb;EACA,SAAOyB,YAAY,CAAC4F,gBAApB;EACD,CAHD;;;;;;;;;;;;"} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 9756a18..3f422da 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "bootstrap-autocomplete", - "version": "0.1.0", + "version": "0.2.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -13,26 +13,140 @@ "@babel/highlight": "^7.0.0" } }, + "@babel/compat-data": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.7.tgz", + "integrity": "sha512-YaxPMGs/XIWtYqrdEOZOCPsVWfEoriXopnsz3/i7apYPXQ3698UFhS6dVT1KN5qOsWmVgw/FOrmQgpRaZayGsw==", + "dev": true + }, "@babel/core": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.5.5.tgz", - "integrity": "sha512-i4qoSr2KTtce0DmkuuQBV4AuQgGPUcPXMr9L5MyYAtk06z068lQ10a4O009fe5OB/DfNV+h+qqT7ddNV8UnRjg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.5.5", - "@babel/generator": "^7.5.5", - "@babel/helpers": "^7.5.5", - "@babel/parser": "^7.5.5", - "@babel/template": "^7.4.4", - "@babel/traverse": "^7.5.5", - "@babel/types": "^7.5.5", - "convert-source-map": "^1.1.0", + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.10.tgz", + "integrity": "sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.10", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helpers": "^7.12.5", + "@babel/parser": "^7.12.10", + "@babel/template": "^7.12.7", + "@babel/traverse": "^7.12.10", + "@babel/types": "^7.12.10", + "convert-source-map": "^1.7.0", "debug": "^4.1.0", - "json5": "^2.1.0", - "lodash": "^4.17.13", - "resolve": "^1.3.2", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.19", "semver": "^5.4.1", "source-map": "^0.5.0" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/generator": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz", + "integrity": "sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==", + "dev": true, + "requires": { + "@babel/types": "^7.12.11", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz", + "integrity": "sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.12.10", + "@babel/template": "^7.12.7", + "@babel/types": "^7.12.11" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", + "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", + "dev": true, + "requires": { + "@babel/types": "^7.12.10" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz", + "integrity": "sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==", + "dev": true, + "requires": { + "@babel/types": "^7.12.11" + } + }, + "@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz", + "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==", + "dev": true + }, + "@babel/template": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", + "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7" + } + }, + "@babel/traverse": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.12.tgz", + "integrity": "sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.11", + "@babel/generator": "^7.12.11", + "@babel/helper-function-name": "^7.12.11", + "@babel/helper-split-export-declaration": "^7.12.11", + "@babel/parser": "^7.12.11", + "@babel/types": "^7.12.12", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "@babel/types": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", + "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/generator": { @@ -49,708 +163,2222 @@ } }, "@babel/helper-annotate-as-pure": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", - "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.10.tgz", + "integrity": "sha512-XplmVbC1n+KY6jL8/fgLVXXUauDIB+lD5+GsQEh6F6GBF1dq1qy4DP4yXWzDKcoqXB3X58t61e85Fitoww4JVQ==", "dev": true, "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "^7.12.10" + }, + "dependencies": { + "@babel/types": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", + "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", + "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.10.4", + "@babel/types": "^7.10.4" + }, + "dependencies": { + "@babel/types": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", + "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-compilation-targets": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz", + "integrity": "sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.12.5", + "@babel/helper-validator-option": "^7.12.1", + "browserslist": "^4.14.5", + "semver": "^5.5.0" + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz", + "integrity": "sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-member-expression-to-functions": "^7.12.1", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.10.4" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/helper-function-name": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz", + "integrity": "sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.12.10", + "@babel/template": "^7.12.7", + "@babel/types": "^7.12.11" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", + "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", + "dev": true, + "requires": { + "@babel/types": "^7.12.10" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz", + "integrity": "sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==", + "dev": true, + "requires": { + "@babel/types": "^7.12.11" + } + }, + "@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz", + "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==", + "dev": true + }, + "@babel/template": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", + "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7" + } + }, + "@babel/types": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", + "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.7.tgz", + "integrity": "sha512-idnutvQPdpbduutvi3JVfEgcVIHooQnhvhx0Nk9isOINOIGYkZea1Pk2JlJRiUnMefrlvr0vkByATBY/mB4vjQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "regexpu-core": "^4.7.1" + } + }, + "@babel/helper-define-map": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz", + "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/types": "^7.10.5", + "lodash": "^4.17.19" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/helper-function-name": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz", + "integrity": "sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.12.10", + "@babel/template": "^7.12.7", + "@babel/types": "^7.12.11" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", + "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", + "dev": true, + "requires": { + "@babel/types": "^7.12.10" + } + }, + "@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz", + "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==", + "dev": true + }, + "@babel/template": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", + "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7" + } + }, + "@babel/types": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", + "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz", + "integrity": "sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA==", + "dev": true, + "requires": { + "@babel/types": "^7.12.1" + }, + "dependencies": { + "@babel/types": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", + "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-function-name": { "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz", - "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", + "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", "dev": true, "requires": { - "@babel/helper-explode-assignable-expression": "^7.1.0", + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", "@babel/types": "^7.0.0" } }, - "@babel/helper-call-delegate": { + "@babel/helper-get-function-arity": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", + "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz", + "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==", + "dev": true, + "requires": { + "@babel/types": "^7.10.4" + }, + "dependencies": { + "@babel/types": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", + "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz", + "integrity": "sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==", + "dev": true, + "requires": { + "@babel/types": "^7.12.7" + }, + "dependencies": { + "@babel/types": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", + "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-module-imports": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz", + "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==", + "dev": true, + "requires": { + "@babel/types": "^7.12.5" + }, + "dependencies": { + "@babel/types": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", + "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-module-transforms": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz", + "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-simple-access": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/helper-validator-identifier": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.1", + "@babel/types": "^7.12.1", + "lodash": "^4.17.19" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/generator": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz", + "integrity": "sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==", + "dev": true, + "requires": { + "@babel/types": "^7.12.11", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz", + "integrity": "sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.12.10", + "@babel/template": "^7.12.7", + "@babel/types": "^7.12.11" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", + "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", + "dev": true, + "requires": { + "@babel/types": "^7.12.10" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz", + "integrity": "sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==", + "dev": true, + "requires": { + "@babel/types": "^7.12.11" + } + }, + "@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz", + "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==", + "dev": true + }, + "@babel/template": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", + "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7" + } + }, + "@babel/traverse": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.12.tgz", + "integrity": "sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.11", + "@babel/generator": "^7.12.11", + "@babel/helper-function-name": "^7.12.11", + "@babel/helper-split-export-declaration": "^7.12.11", + "@babel/parser": "^7.12.11", + "@babel/types": "^7.12.12", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "@babel/types": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", + "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz", + "integrity": "sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ==", + "dev": true, + "requires": { + "@babel/types": "^7.12.10" + }, + "dependencies": { + "@babel/types": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", + "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==", + "dev": true + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz", + "integrity": "sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-wrap-function": "^7.10.4", + "@babel/types": "^7.12.1" + }, + "dependencies": { + "@babel/types": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", + "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-replace-supers": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.11.tgz", + "integrity": "sha512-q+w1cqmhL7R0FNzth/PLLp2N+scXEK/L2AHbXUyydxp828F4FEa5WcVoqui9vFRiHDQErj9Zof8azP32uGVTRA==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.12.7", + "@babel/helper-optimise-call-expression": "^7.12.10", + "@babel/traverse": "^7.12.10", + "@babel/types": "^7.12.11" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/generator": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz", + "integrity": "sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==", + "dev": true, + "requires": { + "@babel/types": "^7.12.11", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz", + "integrity": "sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.12.10", + "@babel/template": "^7.12.7", + "@babel/types": "^7.12.11" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", + "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", + "dev": true, + "requires": { + "@babel/types": "^7.12.10" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz", + "integrity": "sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==", + "dev": true, + "requires": { + "@babel/types": "^7.12.11" + } + }, + "@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz", + "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==", + "dev": true + }, + "@babel/template": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", + "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7" + } + }, + "@babel/traverse": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.12.tgz", + "integrity": "sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.11", + "@babel/generator": "^7.12.11", + "@babel/helper-function-name": "^7.12.11", + "@babel/helper-split-export-declaration": "^7.12.11", + "@babel/parser": "^7.12.11", + "@babel/types": "^7.12.12", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "@babel/types": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", + "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-simple-access": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz", + "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==", + "dev": true, + "requires": { + "@babel/types": "^7.12.1" + }, + "dependencies": { + "@babel/types": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", + "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/types": "^7.12.1" + }, + "dependencies": { + "@babel/types": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", + "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-split-export-declaration": { "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz", - "integrity": "sha512-l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ==", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz", + "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==", "dev": true, "requires": { - "@babel/helper-hoist-variables": "^7.4.4", - "@babel/traverse": "^7.4.4", "@babel/types": "^7.4.4" } }, - "@babel/helper-define-map": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz", - "integrity": "sha512-fTfxx7i0B5NJqvUOBBGREnrqbTxRh7zinBANpZXAVDlsZxYdclDp467G1sQ8VZYMnAURY3RpBUAgOYT9GfzHBg==", + "@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 + }, + "@babel/helper-validator-option": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.11.tgz", + "integrity": "sha512-TBFCyj939mFSdeX7U7DDj32WtzYY7fDcalgq8v3fBZMNOJQNn7nOYzMaUCiPxPYfCup69mtIpqlKgMZLvQ8Xhw==", + "dev": true + }, + "@babel/helper-wrap-function": { + "version": "7.12.3", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz", + "integrity": "sha512-Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/types": "^7.5.5", - "lodash": "^4.17.13" + "@babel/helper-function-name": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/generator": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz", + "integrity": "sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==", + "dev": true, + "requires": { + "@babel/types": "^7.12.11", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz", + "integrity": "sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.12.10", + "@babel/template": "^7.12.7", + "@babel/types": "^7.12.11" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", + "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", + "dev": true, + "requires": { + "@babel/types": "^7.12.10" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz", + "integrity": "sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==", + "dev": true, + "requires": { + "@babel/types": "^7.12.11" + } + }, + "@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz", + "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==", + "dev": true + }, + "@babel/template": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", + "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7" + } + }, + "@babel/traverse": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.12.tgz", + "integrity": "sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.11", + "@babel/generator": "^7.12.11", + "@babel/helper-function-name": "^7.12.11", + "@babel/helper-split-export-declaration": "^7.12.11", + "@babel/parser": "^7.12.11", + "@babel/types": "^7.12.12", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "@babel/types": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", + "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helpers": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz", + "integrity": "sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==", + "dev": true, + "requires": { + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.5", + "@babel/types": "^7.12.5" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/generator": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz", + "integrity": "sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==", + "dev": true, + "requires": { + "@babel/types": "^7.12.11", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz", + "integrity": "sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.12.10", + "@babel/template": "^7.12.7", + "@babel/types": "^7.12.11" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", + "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", + "dev": true, + "requires": { + "@babel/types": "^7.12.10" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz", + "integrity": "sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==", + "dev": true, + "requires": { + "@babel/types": "^7.12.11" + } + }, + "@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz", + "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==", + "dev": true + }, + "@babel/template": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", + "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7" + } + }, + "@babel/traverse": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.12.tgz", + "integrity": "sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.11", + "@babel/generator": "^7.12.11", + "@babel/helper-function-name": "^7.12.11", + "@babel/helper-split-export-declaration": "^7.12.11", + "@babel/parser": "^7.12.11", + "@babel/types": "^7.12.12", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "@babel/types": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", + "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + } } }, - "@babel/helper-explode-assignable-expression": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz", - "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==", + "@babel/highlight": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", + "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", "dev": true, "requires": { - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.0.0" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" } }, - "@babel/helper-function-name": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", - "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" - } + "@babel/parser": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.5.5.tgz", + "integrity": "sha512-E5BN68cqR7dhKan1SfqgPGhQ178bkVKpXTPEXnFJBrEt8/DKRZlybmy+IgYLTeN7tp1R5Ccmbm2rBk17sHYU3g==", + "dev": true }, - "@babel/helper-get-function-arity": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", - "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.12.tgz", + "integrity": "sha512-nrz9y0a4xmUrRq51bYkWJIO5SBZyG2ys2qinHsN0zHDHVsUaModrkpyWWWXfGqYQmOL3x9sQIcTNN/pBGpo09A==", "dev": true, "requires": { - "@babel/types": "^7.0.0" + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.12.1", + "@babel/plugin-syntax-async-generators": "^7.8.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } } }, - "@babel/helper-hoist-variables": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz", - "integrity": "sha512-VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w==", + "@babel/plugin-proposal-class-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz", + "integrity": "sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==", "dev": true, "requires": { - "@babel/types": "^7.4.4" + "@babel/helper-create-class-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } } }, - "@babel/helper-member-expression-to-functions": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz", - "integrity": "sha512-5qZ3D1uMclSNqYcXqiHoA0meVdv+xUEex9em2fqMnrk/scphGlGgg66zjMrPJESPwrFJ6sbfFQYUSa0Mz7FabA==", + "@babel/plugin-proposal-dynamic-import": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz", + "integrity": "sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ==", "dev": true, "requires": { - "@babel/types": "^7.5.5" + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-dynamic-import": "^7.8.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } } }, - "@babel/helper-module-imports": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz", - "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==", + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz", + "integrity": "sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw==", "dev": true, "requires": { - "@babel/types": "^7.0.0" + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } } }, - "@babel/helper-module-transforms": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.5.5.tgz", - "integrity": "sha512-jBeCvETKuJqeiaCdyaheF40aXnnU1+wkSiUs/IQg3tB85up1LyL8x77ClY8qJpuRJUcXQo+ZtdNESmZl4j56Pw==", + "@babel/plugin-proposal-json-strings": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz", + "integrity": "sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/helper-simple-access": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.4.4", - "@babel/template": "^7.4.4", - "@babel/types": "^7.5.5", - "lodash": "^4.17.13" + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } } }, - "@babel/helper-optimise-call-expression": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", - "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz", + "integrity": "sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA==", "dev": true, "requires": { - "@babel/types": "^7.0.0" + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } } }, - "@babel/helper-plugin-utils": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", - "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==", - "dev": true - }, - "@babel/helper-regex": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.5.5.tgz", - "integrity": "sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw==", + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz", + "integrity": "sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg==", "dev": true, "requires": { - "lodash": "^4.17.13" + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } } }, - "@babel/helper-remap-async-to-generator": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz", - "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==", + "@babel/plugin-proposal-numeric-separator": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.7.tgz", + "integrity": "sha512-8c+uy0qmnRTeukiGsjLGy6uVs/TFjJchGXUeBqlG4VWYOdJWkhhVPdQ3uHwbmalfJwv2JsV0qffXP4asRfL2SQ==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.0.0", - "@babel/helper-wrap-function": "^7.1.0", - "@babel/template": "^7.1.0", - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } } }, - "@babel/helper-replace-supers": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz", - "integrity": "sha512-XvRFWrNnlsow2u7jXDuH4jDDctkxbS7gXssrP4q2nUD606ukXHRvydj346wmNg+zAgpFx4MWf4+usfC93bElJg==", + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.4.4.tgz", + "integrity": "sha512-dMBG6cSPBbHeEBdFXeQ2QLc5gUpg4Vkaz8octD4aoW/ISO+jBOcsuxYL7bsb5WSu8RLP6boxrBIALEHgoHtO9g==", "dev": true, "requires": { - "@babel/helper-member-expression-to-functions": "^7.5.5", - "@babel/helper-optimise-call-expression": "^7.0.0", - "@babel/traverse": "^7.5.5", - "@babel/types": "^7.5.5" + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.2.0" } }, - "@babel/helper-simple-access": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz", - "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==", + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz", + "integrity": "sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g==", "dev": true, "requires": { - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } } }, - "@babel/helper-split-export-declaration": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz", - "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==", + "@babel/plugin-proposal-optional-chaining": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.7.tgz", + "integrity": "sha512-4ovylXZ0PWmwoOvhU2vhnzVNnm88/Sm9nx7V8BPgMvAzn5zDou3/Awy0EjglyubVHasJj+XCEkr/r1X3P5elCA==", "dev": true, "requires": { - "@babel/types": "^7.4.4" + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", + "@babel/plugin-syntax-optional-chaining": "^7.8.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } } }, - "@babel/helper-wrap-function": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz", - "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==", + "@babel/plugin-proposal-private-methods": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz", + "integrity": "sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/template": "^7.1.0", - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.2.0" + "@babel/helper-create-class-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } } }, - "@babel/helpers": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.5.5.tgz", - "integrity": "sha512-nRq2BUhxZFnfEn/ciJuhklHvFOqjJUD5wpx+1bxUF2axL9C+v4DE/dmp5sT2dKnpOs4orZWzpAZqlCy8QqE/7g==", + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz", + "integrity": "sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w==", "dev": true, "requires": { - "@babel/template": "^7.4.4", - "@babel/traverse": "^7.5.5", - "@babel/types": "^7.5.5" + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } } }, - "@babel/highlight": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", - "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" + "@babel/helper-plugin-utils": "^7.8.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } } }, - "@babel/parser": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.5.5.tgz", - "integrity": "sha512-E5BN68cqR7dhKan1SfqgPGhQ178bkVKpXTPEXnFJBrEt8/DKRZlybmy+IgYLTeN7tp1R5Ccmbm2rBk17sHYU3g==", - "dev": true - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz", - "integrity": "sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==", + "@babel/plugin-syntax-class-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz", + "integrity": "sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-remap-async-to-generator": "^7.1.0", - "@babel/plugin-syntax-async-generators": "^7.2.0" + "@babel/helper-plugin-utils": "^7.10.4" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } } }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.5.0.tgz", - "integrity": "sha512-x/iMjggsKTFHYC6g11PL7Qy58IK8H5zqfm9e6hu4z1iH2IRyAp9u9dL80zA6R76yFovETFLKz2VJIC2iIPBuFw==", + "@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", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-dynamic-import": "^7.2.0" + "@babel/helper-plugin-utils": "^7.8.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } } }, - "@babel/plugin-proposal-json-strings": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz", - "integrity": "sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg==", + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-json-strings": "^7.2.0" + "@babel/helper-plugin-utils": "^7.8.3" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } } }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.4.4.tgz", - "integrity": "sha512-dMBG6cSPBbHeEBdFXeQ2QLc5gUpg4Vkaz8octD4aoW/ISO+jBOcsuxYL7bsb5WSu8RLP6boxrBIALEHgoHtO9g==", + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-object-rest-spread": "^7.2.0" + "@babel/helper-plugin-utils": "^7.8.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } } }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz", - "integrity": "sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==", + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.2.0" + "@babel/helper-plugin-utils": "^7.10.4" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } } }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz", - "integrity": "sha512-j1NwnOqMG9mFUOH58JTFsA/+ZYzQLUZ/drqWUqxCYLGeu2JFZL8YrNC9hBxKmWtAuOCHPcRpgv7fhap09Fb4kA==", + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-regex": "^7.4.4", - "regexpu-core": "^4.5.4" + "@babel/helper-plugin-utils": "^7.8.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } } }, - "@babel/plugin-syntax-async-generators": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz", - "integrity": "sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==", + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.10.4" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } } }, - "@babel/plugin-syntax-dynamic-import": { + "@babel/plugin-syntax-object-rest-spread": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz", - "integrity": "sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w==", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz", + "integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, - "@babel/plugin-syntax-json-strings": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz", - "integrity": "sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg==", + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } } }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz", - "integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==", + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } } }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz", - "integrity": "sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==", + "@babel/plugin-syntax-top-level-await": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz", + "integrity": "sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.10.4" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } } }, "@babel/plugin-transform-arrow-functions": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz", - "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz", + "integrity": "sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.10.4" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz", - "integrity": "sha512-mqvkzwIGkq0bEF1zLRRiTdjfomZJDV33AH3oQzHVGkI2VzEmXLpKKOBvEVaFZBJdN0XTyH38s9j/Kiqr68dggg==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz", + "integrity": "sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-remap-async-to-generator": "^7.1.0" + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.12.1" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } } }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz", - "integrity": "sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz", + "integrity": "sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.10.4" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } } }, "@babel/plugin-transform-block-scoping": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.5.5.tgz", - "integrity": "sha512-82A3CLRRdYubkG85lKwhZB0WZoHxLGsJdux/cOVaJCJpvYFl1LVzAIFyRsa7CvXqW8rBM4Zf3Bfn8PHt5DP0Sg==", + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.12.tgz", + "integrity": "sha512-VOEPQ/ExOVqbukuP7BYJtI5ZxxsmegTwzZ04j1aF0dkSypGo9XpDHuOrABsJu+ie+penpSJheDJ11x1BEZNiyQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "lodash": "^4.17.13" + "@babel/helper-plugin-utils": "^7.10.4" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } } }, "@babel/plugin-transform-classes": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz", - "integrity": "sha512-U2htCNK/6e9K7jGyJ++1p5XRU+LJjrwtoiVn9SzRlDT2KubcZ11OOwy3s24TjHxPgxNwonCYP7U2K51uVYCMDg==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.0.0", - "@babel/helper-define-map": "^7.5.5", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-optimise-call-expression": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-replace-supers": "^7.5.5", - "@babel/helper-split-export-declaration": "^7.4.4", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz", + "integrity": "sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-define-map": "^7.10.4", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.10.4", "globals": "^11.1.0" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/helper-function-name": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz", + "integrity": "sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.12.10", + "@babel/template": "^7.12.7", + "@babel/types": "^7.12.11" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", + "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", + "dev": true, + "requires": { + "@babel/types": "^7.12.10" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + }, + "@babel/helper-split-export-declaration": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz", + "integrity": "sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==", + "dev": true, + "requires": { + "@babel/types": "^7.12.11" + } + }, + "@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz", + "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==", + "dev": true + }, + "@babel/template": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", + "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7" + } + }, + "@babel/types": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", + "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/plugin-transform-computed-properties": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz", - "integrity": "sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz", + "integrity": "sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.10.4" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } } }, "@babel/plugin-transform-destructuring": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.5.0.tgz", - "integrity": "sha512-YbYgbd3TryYYLGyC7ZR+Tq8H/+bCmwoaxHfJHupom5ECstzbRLTch6gOQbhEY9Z4hiCNHEURgq06ykFv9JZ/QQ==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz", + "integrity": "sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.10.4" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } } }, "@babel/plugin-transform-dotall-regex": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz", - "integrity": "sha512-P05YEhRc2h53lZDjRPk/OektxCVevFzZs2Gfjd545Wde3k+yFDbXORgl2e0xpbq8mLcKJ7Idss4fAg0zORN/zg==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz", + "integrity": "sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-regex": "^7.4.4", - "regexpu-core": "^4.5.4" + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz", - "integrity": "sha512-igcziksHizyQPlX9gfSjHkE2wmoCH3evvD2qR5w29/Dk0SMKE/eOI7f1HhBdNhR/zxJDqrgpoDTq5YSLH/XMsQ==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz", + "integrity": "sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.10.4" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } } }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz", - "integrity": "sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz", + "integrity": "sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug==", "dev": true, "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0", - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } } }, "@babel/plugin-transform-for-of": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz", - "integrity": "sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz", + "integrity": "sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.10.4" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } } }, "@babel/plugin-transform-function-name": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz", - "integrity": "sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz", + "integrity": "sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/helper-function-name": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz", + "integrity": "sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.12.10", + "@babel/template": "^7.12.7", + "@babel/types": "^7.12.11" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", + "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", + "dev": true, + "requires": { + "@babel/types": "^7.12.10" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + }, + "@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz", + "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==", + "dev": true + }, + "@babel/template": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", + "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7" + } + }, + "@babel/types": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", + "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/plugin-transform-literals": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz", - "integrity": "sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz", + "integrity": "sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.10.4" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } } }, "@babel/plugin-transform-member-expression-literals": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz", - "integrity": "sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz", + "integrity": "sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.10.4" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } } }, "@babel/plugin-transform-modules-amd": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz", - "integrity": "sha512-n20UsQMKnWrltocZZm24cRURxQnWIvsABPJlw/fvoy9c6AgHZzoelAIzajDHAQrDpuKFFPPcFGd7ChsYuIUMpg==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz", + "integrity": "sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.1.0", - "@babel/helper-plugin-utils": "^7.0.0", - "babel-plugin-dynamic-import-node": "^2.3.0" + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.5.0.tgz", - "integrity": "sha512-xmHq0B+ytyrWJvQTc5OWAC4ii6Dhr0s22STOoydokG51JjWhyYo5mRPXoi+ZmtHQhZZwuXNN+GG5jy5UZZJxIQ==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz", + "integrity": "sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.4.4", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-simple-access": "^7.1.0", - "babel-plugin-dynamic-import-node": "^2.3.0" + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-simple-access": "^7.12.1", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz", - "integrity": "sha512-Q2m56tyoQWmuNGxEtUyeEkm6qJYFqs4c+XyXH5RAuYxObRNz9Zgj/1g2GMnjYp2EUyEy7YTrxliGCXzecl/vJg==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz", + "integrity": "sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q==", "dev": true, "requires": { - "@babel/helper-hoist-variables": "^7.4.4", - "@babel/helper-plugin-utils": "^7.0.0", - "babel-plugin-dynamic-import-node": "^2.3.0" + "@babel/helper-hoist-variables": "^7.10.4", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-validator-identifier": "^7.10.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } } }, "@babel/plugin-transform-modules-umd": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz", - "integrity": "sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz", + "integrity": "sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.1.0", - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.5.tgz", - "integrity": "sha512-z7+2IsWafTBbjNsOxU/Iv5CvTJlr5w4+HGu1HovKYTtgJ362f7kBcQglkfmlspKKZ3bgrbSGvLfNx++ZJgCWsg==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz", + "integrity": "sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q==", "dev": true, "requires": { - "regexp-tree": "^0.1.6" + "@babel/helper-create-regexp-features-plugin": "^7.12.1" } }, "@babel/plugin-transform-new-target": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz", - "integrity": "sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz", + "integrity": "sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.10.4" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } } }, "@babel/plugin-transform-object-super": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz", - "integrity": "sha512-un1zJQAhSosGFBduPgN/YFNvWVpRuHKU7IHBglLoLZsGmruJPOo6pbInneflUdmq7YvSVqhpPs5zdBvLnteltQ==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz", + "integrity": "sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-replace-supers": "^7.5.5" + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } } }, "@babel/plugin-transform-parameters": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz", - "integrity": "sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz", + "integrity": "sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg==", "dev": true, "requires": { - "@babel/helper-call-delegate": "^7.4.4", - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.10.4" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } } }, "@babel/plugin-transform-property-literals": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz", - "integrity": "sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz", + "integrity": "sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.10.4" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } } }, "@babel/plugin-transform-regenerator": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz", - "integrity": "sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz", + "integrity": "sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng==", "dev": true, "requires": { - "regenerator-transform": "^0.14.0" + "regenerator-transform": "^0.14.2" } }, "@babel/plugin-transform-reserved-words": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz", - "integrity": "sha512-fz43fqW8E1tAB3DKF19/vxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz", + "integrity": "sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.10.4" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } } }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz", - "integrity": "sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz", + "integrity": "sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.10.4" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } } }, "@babel/plugin-transform-spread": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz", - "integrity": "sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz", + "integrity": "sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } } }, "@babel/plugin-transform-sticky-regex": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz", - "integrity": "sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==", + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.7.tgz", + "integrity": "sha512-VEiqZL5N/QvDbdjfYQBhruN0HYjSPjC4XkeqW4ny/jNtH9gcbgaqBIXYEZCNnESMAGs0/K/R7oFGMhOyu/eIxg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-regex": "^7.0.0" + "@babel/helper-plugin-utils": "^7.10.4" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } } }, "@babel/plugin-transform-template-literals": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz", - "integrity": "sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz", + "integrity": "sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.10.4" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } } }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz", - "integrity": "sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw==", + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.10.tgz", + "integrity": "sha512-JQ6H8Rnsogh//ijxspCjc21YPd3VLVoYtAwv3zQmqAt8YGYUtdo5usNhdl4b9/Vir2kPFZl6n1h0PfUz4hJhaA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.10.4" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz", + "integrity": "sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz", + "integrity": "sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + } + } + }, + "@babel/preset-env": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.11.tgz", + "integrity": "sha512-j8Tb+KKIXKYlDBQyIOy4BLxzv1NUOwlHfZ74rvW+Z0Gp4/cI2IMDPBWAgWceGcE7aep9oL/0K9mlzlMGxA8yNw==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.12.7", + "@babel/helper-compilation-targets": "^7.12.5", + "@babel/helper-module-imports": "^7.12.5", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-validator-option": "^7.12.11", + "@babel/plugin-proposal-async-generator-functions": "^7.12.1", + "@babel/plugin-proposal-class-properties": "^7.12.1", + "@babel/plugin-proposal-dynamic-import": "^7.12.1", + "@babel/plugin-proposal-export-namespace-from": "^7.12.1", + "@babel/plugin-proposal-json-strings": "^7.12.1", + "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", + "@babel/plugin-proposal-numeric-separator": "^7.12.7", + "@babel/plugin-proposal-object-rest-spread": "^7.12.1", + "@babel/plugin-proposal-optional-catch-binding": "^7.12.1", + "@babel/plugin-proposal-optional-chaining": "^7.12.7", + "@babel/plugin-proposal-private-methods": "^7.12.1", + "@babel/plugin-proposal-unicode-property-regex": "^7.12.1", + "@babel/plugin-syntax-async-generators": "^7.8.0", + "@babel/plugin-syntax-class-properties": "^7.12.1", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.0", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.0", + "@babel/plugin-syntax-top-level-await": "^7.12.1", + "@babel/plugin-transform-arrow-functions": "^7.12.1", + "@babel/plugin-transform-async-to-generator": "^7.12.1", + "@babel/plugin-transform-block-scoped-functions": "^7.12.1", + "@babel/plugin-transform-block-scoping": "^7.12.11", + "@babel/plugin-transform-classes": "^7.12.1", + "@babel/plugin-transform-computed-properties": "^7.12.1", + "@babel/plugin-transform-destructuring": "^7.12.1", + "@babel/plugin-transform-dotall-regex": "^7.12.1", + "@babel/plugin-transform-duplicate-keys": "^7.12.1", + "@babel/plugin-transform-exponentiation-operator": "^7.12.1", + "@babel/plugin-transform-for-of": "^7.12.1", + "@babel/plugin-transform-function-name": "^7.12.1", + "@babel/plugin-transform-literals": "^7.12.1", + "@babel/plugin-transform-member-expression-literals": "^7.12.1", + "@babel/plugin-transform-modules-amd": "^7.12.1", + "@babel/plugin-transform-modules-commonjs": "^7.12.1", + "@babel/plugin-transform-modules-systemjs": "^7.12.1", + "@babel/plugin-transform-modules-umd": "^7.12.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1", + "@babel/plugin-transform-new-target": "^7.12.1", + "@babel/plugin-transform-object-super": "^7.12.1", + "@babel/plugin-transform-parameters": "^7.12.1", + "@babel/plugin-transform-property-literals": "^7.12.1", + "@babel/plugin-transform-regenerator": "^7.12.1", + "@babel/plugin-transform-reserved-words": "^7.12.1", + "@babel/plugin-transform-shorthand-properties": "^7.12.1", + "@babel/plugin-transform-spread": "^7.12.1", + "@babel/plugin-transform-sticky-regex": "^7.12.7", + "@babel/plugin-transform-template-literals": "^7.12.1", + "@babel/plugin-transform-typeof-symbol": "^7.12.10", + "@babel/plugin-transform-unicode-escapes": "^7.12.1", + "@babel/plugin-transform-unicode-regex": "^7.12.1", + "@babel/preset-modules": "^0.1.3", + "@babel/types": "^7.12.11", + "core-js-compat": "^3.8.0", + "semver": "^5.5.0" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", + "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-transform-parameters": "^7.12.1" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/types": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", + "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + } } }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz", - "integrity": "sha512-il+/XdNw01i93+M9J9u4T7/e/Ue/vWfNZE4IRUQjplu2Mqb/AFTDimkw2tdEdSH50wuQXZAbXSql0UphQke+vA==", + "@babel/preset-modules": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", + "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-regex": "^7.4.4", - "regexpu-core": "^4.5.4" + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" } }, - "@babel/preset-env": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.5.5.tgz", - "integrity": "sha512-GMZQka/+INwsMz1A5UEql8tG015h5j/qjptpKY2gJ7giy8ohzU710YciJB5rcKsWGWHiW3RUnHib0E5/m3Tp3A==", + "@babel/runtime": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.5.tgz", + "integrity": "sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-async-generator-functions": "^7.2.0", - "@babel/plugin-proposal-dynamic-import": "^7.5.0", - "@babel/plugin-proposal-json-strings": "^7.2.0", - "@babel/plugin-proposal-object-rest-spread": "^7.5.5", - "@babel/plugin-proposal-optional-catch-binding": "^7.2.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-syntax-async-generators": "^7.2.0", - "@babel/plugin-syntax-dynamic-import": "^7.2.0", - "@babel/plugin-syntax-json-strings": "^7.2.0", - "@babel/plugin-syntax-object-rest-spread": "^7.2.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.2.0", - "@babel/plugin-transform-arrow-functions": "^7.2.0", - "@babel/plugin-transform-async-to-generator": "^7.5.0", - "@babel/plugin-transform-block-scoped-functions": "^7.2.0", - "@babel/plugin-transform-block-scoping": "^7.5.5", - "@babel/plugin-transform-classes": "^7.5.5", - "@babel/plugin-transform-computed-properties": "^7.2.0", - "@babel/plugin-transform-destructuring": "^7.5.0", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/plugin-transform-duplicate-keys": "^7.5.0", - "@babel/plugin-transform-exponentiation-operator": "^7.2.0", - "@babel/plugin-transform-for-of": "^7.4.4", - "@babel/plugin-transform-function-name": "^7.4.4", - "@babel/plugin-transform-literals": "^7.2.0", - "@babel/plugin-transform-member-expression-literals": "^7.2.0", - "@babel/plugin-transform-modules-amd": "^7.5.0", - "@babel/plugin-transform-modules-commonjs": "^7.5.0", - "@babel/plugin-transform-modules-systemjs": "^7.5.0", - "@babel/plugin-transform-modules-umd": "^7.2.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.4.5", - "@babel/plugin-transform-new-target": "^7.4.4", - "@babel/plugin-transform-object-super": "^7.5.5", - "@babel/plugin-transform-parameters": "^7.4.4", - "@babel/plugin-transform-property-literals": "^7.2.0", - "@babel/plugin-transform-regenerator": "^7.4.5", - "@babel/plugin-transform-reserved-words": "^7.2.0", - "@babel/plugin-transform-shorthand-properties": "^7.2.0", - "@babel/plugin-transform-spread": "^7.2.0", - "@babel/plugin-transform-sticky-regex": "^7.2.0", - "@babel/plugin-transform-template-literals": "^7.4.4", - "@babel/plugin-transform-typeof-symbol": "^7.2.0", - "@babel/plugin-transform-unicode-regex": "^7.4.4", - "@babel/types": "^7.5.5", - "browserslist": "^4.6.0", - "core-js-compat": "^3.1.1", - "invariant": "^2.2.2", - "js-levenshtein": "^1.1.3", - "semver": "^5.5.0" - }, - "dependencies": { - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.5.5.tgz", - "integrity": "sha512-F2DxJJSQ7f64FyTVl5cw/9MWn6naXGdk3Q3UhDbFEEHv+EilCPoeRD3Zh/Utx1CJz4uyKlQ4uH+bJPbEhMV7Zw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-object-rest-spread": "^7.2.0" - } - } + "regenerator-runtime": "^0.13.4" } }, "@babel/template": { @@ -793,9 +2421,9 @@ } }, "@types/estree": { - "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "version": "0.0.46", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.46.tgz", + "integrity": "sha512-laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg==", "dev": true }, "@types/node": { @@ -820,9 +2448,9 @@ "dev": true }, "acorn": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", - "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true }, "ansi-regex": { @@ -857,10 +2485,46 @@ } } }, - "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=", + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", + "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", + "dev": true + }, + "array-slice": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", + "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", "dev": true }, "async": { @@ -869,10 +2533,16 @@ "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", "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 + }, "babel-plugin-dynamic-import-node": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz", - "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", "dev": true, "requires": { "object.assign": "^4.1.0" @@ -896,6 +2566,61 @@ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, "body": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/body/-/body-5.1.0.tgz", @@ -918,15 +2643,46 @@ "concat-map": "0.0.1" } }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, "browserslist": { - "version": "4.6.6", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.6.6.tgz", - "integrity": "sha512-D2Nk3W9JL9Fp/gIcWei8LrERCS+eXu9AM5cfXA8WEZ84lFks+ARnZ0q/R69m2SV3Wjma83QDDPxsNKXUwdIsyA==", + "version": "4.16.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.1.tgz", + "integrity": "sha512-UXhDrwqsNcpTYJBTZsbGATDxZbiVDsx6UjpmRUmtnP10pr8wAYr5LgFoEFw9ixriQH2mv/NX2SfGzE/o8GndLA==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30000984", - "electron-to-chromium": "^1.3.191", - "node-releases": "^1.1.25" + "caniuse-lite": "^1.0.30001173", + "colorette": "^1.2.1", + "electron-to-chromium": "^1.3.634", + "escalade": "^3.1.1", + "node-releases": "^1.1.69" } }, "builtin-modules": { @@ -941,26 +2697,37 @@ "integrity": "sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g=", "dev": true }, - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", - "dev": true + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } }, - "camelcase-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "dev": true, "requires": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" } }, "caniuse-lite": { - "version": "1.0.30000985", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000985.tgz", - "integrity": "sha512-1ngiwkgqAYPG0JSSUp3PUDGPKKY59EK7NrGGX+VOxaKCNzRbNc7uXMny+c3VJfZxtoK3wSImTvG9T9sXiTw2+w==", + "version": "1.0.30001176", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001176.tgz", + "integrity": "sha512-VWdkYmqdkDLRe0lvfJlZQ43rnjKqIGKHWhWWRbkqMsJIUaYDNf/K/sdZZcVO6YKQklubokdkJY+ujArsuJ5cag==", "dev": true }, "chalk": { @@ -974,11 +2741,38 @@ "supports-color": "^5.3.0" } }, - "coffeescript": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/coffeescript/-/coffeescript-1.10.0.tgz", - "integrity": "sha1-56qDAZF+9iGzXYo580jc3R234z4=", - "dev": true + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } }, "color-convert": { "version": "1.9.3", @@ -995,16 +2789,22 @@ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, + "colorette": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", + "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==", + "dev": true + }, "colors": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", "dev": true }, - "commander": { - "version": "2.20.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", - "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==", + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", "dev": true }, "concat-map": { @@ -1020,57 +2820,43 @@ "dev": true }, "convert-source-map": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", - "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", "dev": true, "requires": { "safe-buffer": "~5.1.1" } }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, "core-js-compat": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.1.4.tgz", - "integrity": "sha512-Z5zbO9f1d0YrJdoaQhphVAnKPimX92D6z8lCGphH89MNRxlL1prI9ExJPqVwP0/kgkQCv8c4GJGT8X16yUncOg==", + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.8.2.tgz", + "integrity": "sha512-LO8uL9lOIyRRrQmZxHZFl1RV+ZbcsAkFWTktn5SmH40WgLtSNYN4m4W2v9ONT147PxBY/XrRhrWq8TlvObyUjQ==", "dev": true, "requires": { - "browserslist": "^4.6.2", - "core-js-pure": "3.1.4", - "semver": "^6.1.1" + "browserslist": "^4.16.0", + "semver": "7.0.0" }, "dependencies": { "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", "dev": true } } }, - "core-js-pure": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.1.4.tgz", - "integrity": "sha512-uJ4Z7iPNwiu1foygbcZYJsJs1jiXrTTCvxfLDXNhI/I+NHbSIEyr548y4fcsCEyWY0XgfAG/qqaunJ1SThHenA==", - "dev": true - }, - "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" - } - }, "dateformat": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz", - "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=", - "dev": true, - "requires": { - "get-stdin": "^4.0.1", - "meow": "^3.3.0" - } + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", + "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", + "dev": true }, "debug": { "version": "4.1.1", @@ -1081,10 +2867,10 @@ "ms": "^2.1.1" } }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", "dev": true }, "define-properties": { @@ -1096,10 +2882,57 @@ "object-keys": "^1.0.12" } }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "dev": true + }, "electron-to-chromium": { - "version": "1.3.200", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.200.tgz", - "integrity": "sha512-PUurrpyDA74MuAjJRD+79ss5BqJlU3mdArRbuu4wO/dt6jc3Ic/6BDmFJxkdwbfq39cHf/XKm2vW98XSvut9Dg==", + "version": "1.3.637", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.637.tgz", + "integrity": "sha512-924WXYMYquYybc+7pNApGlhY2RWg3MY3he4BrZ5BUmM2n1MGBsrS+PZxrlo6UAsWuNl4NE66fqFdwsWkBUGgkA==", "dev": true }, "error": { @@ -1121,6 +2954,12 @@ "is-arrayish": "^0.2.1" } }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", @@ -1157,6 +2996,157 @@ "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", "dev": true }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "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", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, "faye-websocket": { "version": "0.10.0", "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", @@ -1172,6 +3162,29 @@ "integrity": "sha1-peeo/7+kk7Q7kju9TKiaU7Y7YSs=", "dev": true }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, "find-up": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", @@ -1205,6 +3218,49 @@ } } }, + "fined": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz", + "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "is-plain-object": "^2.0.3", + "object.defaults": "^1.1.0", + "object.pick": "^1.2.0", + "parse-filepath": "^1.0.1" + } + }, + "flagged-respawn": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", + "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==", + "dev": true + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "dev": true, + "requires": { + "for-in": "^1.0.1" + } + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -1226,10 +3282,27 @@ "globule": "^1.0.0" } }, - "get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true + }, + "get-intrinsic": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.2.tgz", + "integrity": "sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", "dev": true }, "getobject": { @@ -1252,6 +3325,30 @@ "path-is-absolute": "^1.0.0" } }, + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + } + }, "globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", @@ -1276,61 +3373,66 @@ "dev": true }, "grunt": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.0.4.tgz", - "integrity": "sha512-PYsMOrOC+MsdGEkFVwMaMyc6Ob7pKmq+deg1Sjr+vvMWp35sztfwKE7qoN51V+UEtHsyNuMcGdgMLFkBHvMxHQ==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.3.0.tgz", + "integrity": "sha512-6ILlMXv11/4cxuhSMfSU+SfvbxrPuqZrAtLN64+tZpQ3DAKfSQPQHRbTjSbdtxfyQhGZPtN0bDZJ/LdCM5WXXA==", "dev": true, "requires": { - "coffeescript": "~1.10.0", - "dateformat": "~1.0.12", + "dateformat": "~3.0.3", "eventemitter2": "~0.4.13", - "exit": "~0.1.1", + "exit": "~0.1.2", "findup-sync": "~0.3.0", - "glob": "~7.0.0", - "grunt-cli": "~1.2.0", + "glob": "~7.1.6", + "grunt-cli": "~1.3.2", "grunt-known-options": "~1.1.0", - "grunt-legacy-log": "~2.0.0", - "grunt-legacy-util": "~1.1.1", + "grunt-legacy-log": "~3.0.0", + "grunt-legacy-util": "~2.0.0", "iconv-lite": "~0.4.13", - "js-yaml": "~3.13.0", - "minimatch": "~3.0.2", - "mkdirp": "~0.5.1", + "js-yaml": "~3.14.0", + "minimatch": "~3.0.4", + "mkdirp": "~1.0.4", "nopt": "~3.0.6", - "path-is-absolute": "~1.0.0", - "rimraf": "~2.6.2" + "rimraf": "~3.0.2" }, "dependencies": { "glob": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz", - "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=", + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.0.2", + "minimatch": "^3.0.4", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, "grunt-cli": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.2.0.tgz", - "integrity": "sha1-VisRnrsGndtGSs4oRVAb6Xs1tqg=", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.3.2.tgz", + "integrity": "sha512-8OHDiZZkcptxVXtMfDxJvmN7MVJNE8L/yIcPb4HB7TlyFD1kDvjHrb62uhySsU14wJx9ORMnTuhRMQ40lH/orQ==", "dev": true, "requires": { - "findup-sync": "~0.3.0", "grunt-known-options": "~1.1.0", - "nopt": "~3.0.6", - "resolve": "~1.1.0" + "interpret": "~1.1.0", + "liftoff": "~2.5.0", + "nopt": "~4.0.1", + "v8flags": "~3.1.1" + }, + "dependencies": { + "nopt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", + "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", + "dev": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + } } - }, - "resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", - "dev": true } } }, @@ -1401,40 +3503,99 @@ "dev": true }, "grunt-legacy-log": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-2.0.0.tgz", - "integrity": "sha512-1m3+5QvDYfR1ltr8hjiaiNjddxGdQWcH0rw1iKKiQnF0+xtgTazirSTGu68RchPyh1OBng1bBUjLmX8q9NpoCw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-3.0.0.tgz", + "integrity": "sha512-GHZQzZmhyq0u3hr7aHW4qUH0xDzwp2YXldLPZTCjlOeGscAOWWPftZG3XioW8MasGp+OBRIu39LFx14SLjXRcA==", "dev": true, "requires": { "colors": "~1.1.2", - "grunt-legacy-log-utils": "~2.0.0", + "grunt-legacy-log-utils": "~2.1.0", "hooker": "~0.2.3", - "lodash": "~4.17.5" + "lodash": "~4.17.19" } }, "grunt-legacy-log-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-2.0.1.tgz", - "integrity": "sha512-o7uHyO/J+i2tXG8r2bZNlVk20vlIFJ9IEYyHMCQGfWYru8Jv3wTqKZzvV30YW9rWEjq0eP3cflQ1qWojIe9VFA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-2.1.0.tgz", + "integrity": "sha512-lwquaPXJtKQk0rUM1IQAop5noEpwFqOXasVoedLeNzaibf/OPWjKYvvdqnEHNmU+0T0CaReAXIbGo747ZD+Aaw==", "dev": true, "requires": { - "chalk": "~2.4.1", - "lodash": "~4.17.10" + "chalk": "~4.1.0", + "lodash": "~4.17.19" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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": { + "color-name": "~1.1.4" + } + }, + "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 + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "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": { + "has-flag": "^4.0.0" + } + } } }, "grunt-legacy-util": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-1.1.1.tgz", - "integrity": "sha512-9zyA29w/fBe6BIfjGENndwoe1Uy31BIXxTH3s8mga0Z5Bz2Sp4UCjkeyv2tI449ymkx3x26B+46FV4fXEddl5A==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-2.0.0.tgz", + "integrity": "sha512-ZEmYFB44bblwPE2oz3q3ygfF6hseQja9tx8I3UZIwbUik32FMWewA+d1qSFicMFB+8dNXDkh35HcDCWlpRsGlA==", "dev": true, "requires": { "async": "~1.5.2", "exit": "~0.1.1", "getobject": "~0.1.0", "hooker": "~0.2.3", - "lodash": "~4.17.10", - "underscore.string": "~3.3.4", + "lodash": "~4.17.20", + "underscore.string": "~3.3.5", "which": "~1.3.0" + }, + "dependencies": { + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + } } }, "grunt-run": { @@ -1446,6 +3607,15 @@ "strip-ansi": "^3.0.0" } }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, "has-ansi": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", @@ -1462,11 +3632,52 @@ "dev": true }, "has-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", - "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", + "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-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "requires": { + "parse-passwd": "^1.0.0" + } + }, "hooker": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz", @@ -1494,15 +3705,6 @@ "safer-buffer": ">= 2.1.2 < 3" } }, - "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" - } - }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -1519,13 +3721,46 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "interpret": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", + "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", + "dev": true + }, + "is-absolute": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", + "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", + "dev": true, + "requires": { + "is-relative": "^1.0.0", + "is-windows": "^1.0.1" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "loose-envify": "^1.0.0" + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } } }, "is-arrayish": { @@ -1534,13 +3769,70 @@ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, - "is-finite": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "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 + }, + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "is-extglob": "^2.1.0" } }, "is-module": { @@ -1549,10 +3841,63 @@ "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", "dev": true }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "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-relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "dev": true, + "requires": { + "is-unc-path": "^1.0.0" + } + }, + "is-unc-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "dev": true, + "requires": { + "unc-path-regex": "^0.1.2" + } + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, "isexe": { @@ -1561,6 +3906,12 @@ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, "istanbul-lib-coverage": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", @@ -1590,12 +3941,6 @@ } } }, - "js-levenshtein": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", - "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", - "dev": true - }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -1603,9 +3948,9 @@ "dev": true }, "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, "requires": { "argparse": "^1.0.7", @@ -1625,12 +3970,48 @@ "dev": true }, "json5": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", - "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", "dev": true, "requires": { - "minimist": "^1.2.0" + "minimist": "^1.2.5" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "liftoff": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz", + "integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=", + "dev": true, + "requires": { + "extend": "^3.0.0", + "findup-sync": "^2.0.0", + "fined": "^1.0.1", + "flagged-respawn": "^1.0.0", + "is-plain-object": "^2.0.4", + "object.map": "^1.0.0", + "rechoir": "^0.6.2", + "resolve": "^1.1.7" + }, + "dependencies": { + "findup-sync": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", + "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^3.1.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + } + } } }, "livereload-js": { @@ -1667,25 +4048,6 @@ "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==", "dev": true }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dev": true, - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "loud-rejection": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", - "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", - "dev": true, - "requires": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" - } - }, "magic-string": { "version": "0.25.3", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.3.tgz", @@ -1695,118 +4057,49 @@ "sourcemap-codec": "^1.4.4" } }, - "map-obj": { + "make-iterator": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", + "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", "dev": true }, - "meow": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "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" - }, - "dependencies": { - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "^1.2.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "^0.2.0" - } - } + "object-visit": "^1.0.0" + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" } }, "minimatch": { @@ -1819,43 +4112,69 @@ } }, "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dev": true, "requires": { - "minimist": "0.0.8" + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" }, "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } } } }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "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 }, - "node-releases": { - "version": "1.1.26", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.26.tgz", - "integrity": "sha512-fZPsuhhUHMTlfkhDLGtfY80DSJTjOcx+qD1j5pqPkuhUHVS7xHZIg9EE4DHK8O3f0zTxXHX5VIkDG8pu98/wfQ==", + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", "dev": true, "requires": { - "semver": "^5.3.0" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" } }, + "node-releases": { + "version": "1.1.69", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.69.tgz", + "integrity": "sha512-DGIjo79VDEyAnRlfSqYTsy+yoHd2IOjJiKUozD2MV2D85Vso6Bug56mb9tT/fY5Urt0iqk01H7x+llAruDR2zA==", + "dev": true + }, "nopt": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", @@ -1877,34 +4196,99 @@ "validate-npm-package-license": "^3.0.1" } }, - "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 - }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, "object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, "object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", "dev": true, "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "object.defaults": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", + "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", + "dev": true, + "requires": { + "array-each": "^1.0.1", + "array-slice": "^1.0.0", + "for-own": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "object.map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", + "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=", + "dev": true, + "requires": { + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" } }, "once": { @@ -1916,6 +4300,28 @@ "wrappy": "1" } }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "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.2.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz", @@ -1940,6 +4346,17 @@ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, + "parse-filepath": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", + "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", + "dev": true, + "requires": { + "is-absolute": "^1.0.0", + "map-cache": "^0.2.0", + "path-root": "^0.1.1" + } + }, "parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", @@ -1950,6 +4367,18 @@ "json-parse-better-errors": "^1.0.1" } }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", @@ -1968,6 +4397,21 @@ "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", "dev": true }, + "path-root": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", + "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", + "dev": true, + "requires": { + "path-root-regex": "^0.1.0" + } + }, + "path-root-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", + "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", + "dev": true + }, "path-type": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", @@ -1983,25 +4427,10 @@ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", "dev": true }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "requires": { - "pinkie": "^2.0.0" - } - }, - "private": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", "dev": true }, "qs": { @@ -2041,70 +4470,79 @@ "read-pkg": "^3.0.0" } }, - "redent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", "dev": true, "requires": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" + "resolve": "^1.1.6" } }, "regenerate": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", - "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", "dev": true }, "regenerate-unicode-properties": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz", - "integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", + "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", "dev": true, "requires": { "regenerate": "^1.4.0" } }, + "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==", + "dev": true + }, "regenerator-transform": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.1.tgz", - "integrity": "sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ==", + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", + "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", "dev": true, "requires": { - "private": "^0.1.6" + "@babel/runtime": "^7.8.4" } }, - "regexp-tree": { - "version": "0.1.11", - "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.11.tgz", - "integrity": "sha512-7/l/DgapVVDzZobwMCCgMlqiqyLFJ0cduo/j+3BcDJIB+yJdsYCfKuI3l/04NV+H/rfNRdPIDbXNZHM9XvQatg==", - "dev": true + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } }, "regexpu-core": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.5.4.tgz", - "integrity": "sha512-BtizvGtFQKGPUcTy56o3nk1bGRp4SZOTYrDtGNlqCQufptV5IkkLN6Emw+yunAJjzf+C9FQFtvq7IoA3+oMYHQ==", + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", + "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", "dev": true, "requires": { "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.0.2", - "regjsgen": "^0.5.0", - "regjsparser": "^0.6.0", + "regenerate-unicode-properties": "^8.2.0", + "regjsgen": "^0.5.1", + "regjsparser": "^0.6.4", "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.1.0" + "unicode-match-property-value-ecmascript": "^1.2.0" } }, "regjsgen": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz", - "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==", + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", + "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", "dev": true }, "regjsparser": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", - "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.6.tgz", + "integrity": "sha512-jjyuCp+IEMIm3N1H1LLTJW1EISEJV9+5oHdEyrt43Pg9cDSb6rrLZei2cVWpl0xTjmmlpec/lEQGYgM7xfpGCQ==", "dev": true, "requires": { "jsesc": "~0.5.0" @@ -2118,14 +4556,17 @@ } } }, - "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" - } + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true + }, + "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 }, "require-main-filename": { "version": "2.0.0", @@ -2142,30 +4583,52 @@ "path-parse": "^1.0.6" } }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + } + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "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==", + "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" } }, "rollup": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.17.0.tgz", - "integrity": "sha512-k/j1m0NIsI4SYgCJR4MWPstGJOWfJyd6gycKoMhyoKPVXxm+L49XtbUwZyFsrSU2YXsOkM4u1ll9CS/ZgJBUpw==", + "version": "1.32.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.32.1.tgz", + "integrity": "sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A==", "dev": true, "requires": { - "@types/estree": "0.0.39", - "@types/node": "^12.6.2", - "acorn": "^6.2.0" + "@types/estree": "*", + "@types/node": "*", + "acorn": "^7.1.0" } }, "rollup-plugin-babel": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-4.3.3.tgz", - "integrity": "sha512-tKzWOCmIJD/6aKNz0H1GMM+lW1q9KyFubbWzGiOG540zxPPifnEAHTZwjo0g991Y+DyOZcLqBgqOdqazYE5fkw==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-4.4.0.tgz", + "integrity": "sha512-Lek/TYp1+7g7I+uMfJnnSJ7YWoD58ajo6Oarhlex7lvUce+RCKRuGRSgztDO3/MF/PuGKmUL5iTHKf208UNszw==", "dev": true, "requires": { "@babel/helper-module-imports": "^7.0.0", @@ -2217,6 +4680,15 @@ "integrity": "sha1-PnZyPjjf3aE8mx0poeB//uSzC1c=", "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", @@ -2229,11 +4701,150 @@ "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", "dev": true }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "dev": true + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "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", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } }, "source-map": { "version": "0.5.7", @@ -2241,6 +4852,25 @@ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true + }, "sourcemap-codec": { "version": "1.4.6", "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.6.tgz", @@ -2279,12 +4909,42 @@ "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", "dev": true }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, "sprintf-js": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", "dev": true }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, "string-template": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz", @@ -2312,15 +4972,6 @@ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", "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" - } - }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -2373,11 +5024,47 @@ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", "dev": true }, - "trim-newlines": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", - "dev": true + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } }, "trim-right": { "version": "1.0.1", @@ -2386,22 +5073,16 @@ "dev": true }, "uglify-js": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.0.tgz", - "integrity": "sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg==", - "dev": true, - "requires": { - "commander": "~2.20.0", - "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 - } - } + "version": "3.12.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.12.4.tgz", + "integrity": "sha512-L5i5jg/SHkEqzN18gQMTWsZk3KelRsfD1wUVNqtq0kzqWQqcJjyL8yc1o8hJgRrWqrAl2mUFbhfznEIoi7zi2A==", + "dev": true + }, + "unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", + "dev": true }, "underscore.string": { "version": "3.3.5", @@ -2430,15 +5111,79 @@ } }, "unicode-match-property-value-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz", - "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", + "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", "dev": true }, "unicode-property-aliases-ecmascript": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz", - "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", + "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", + "dev": true + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + } + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", "dev": true }, "util-deprecate": { @@ -2447,6 +5192,15 @@ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, + "v8flags": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.1.3.tgz", + "integrity": "sha512-amh9CCg3ZxkzQ48Mhcb8iX7xpAfYJgePHxWMQCBWECpOSqJUXgY26ncA61UTV0BkPqfhcy6mzwCIoP4ygxpW8w==", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, "validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", diff --git a/package.json b/package.json index cf9e1d4..54eb338 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "bootstrap-autocomplete", - "version": "0.1.0", + "version": "0.2.0", "description": "Bootstrap Autocomplete Component", "main": "index.js", "directories": { @@ -28,18 +28,18 @@ }, "homepage": "https://github.com/iqbalfn/bootstrap-autocomplete#readme", "devDependencies": { - "@babel/core": "^7.4.4", + "@babel/core": "^7.12.10", "@babel/plugin-proposal-object-rest-spread": "7.4.4", - "@babel/preset-env": "^7.4.4", + "@babel/preset-env": "^7.12.11", "babel-plugin-istanbul": "^5.1.4", - "grunt": "^1.0.4", + "grunt": "^1.3.0", "grunt-contrib-copy": "^1.0.0", "grunt-contrib-watch": "^1.1.0", "grunt-run": "^0.8.1", - "rollup": "^1.11.3", - "rollup-plugin-babel": "^4.3.2", + "rollup": "^1.32.1", + "rollup-plugin-babel": "^4.4.0", "rollup-plugin-commonjs": "^9.3.4", "rollup-plugin-node-resolve": "^4.2.4", - "uglify-js": "^3.5.11" + "uglify-js": "^3.12.4" } } diff --git a/src/js/autocomplete.js b/src/js/autocomplete.js index 0ef74e2..492d89f 100644 --- a/src/js/autocomplete.js +++ b/src/js/autocomplete.js @@ -1,6 +1,6 @@ /** * -------------------------------------------------------------------------- - * Bootstrap Autocomplete (v0.1.0): autocomplete.js + * Bootstrap Autocomplete (v0.2.0): autocomplete.js * Licensed under MIT (https://github.com/iqbalfn/bootstrap-autocomplete/blob/master/LICENSE) * -------------------------------------------------------------------------- */ @@ -15,7 +15,7 @@ import Util from './util' */ const NAME = 'autocomplete' -const VERSION = '0.1.0' +const VERSION = '0.2.0' const DATA_KEY = 'bs.autocomplete' const EVENT_KEY = `.${DATA_KEY}` const DATA_API_KEY = '.data-api' @@ -33,6 +33,9 @@ const Default = { maxResult : 10, + onPick : null, + onItemRendered : null, + preProcess : null } @@ -48,7 +51,10 @@ const DefaultType = { maxResult : 'number', - preProcess : '(null|function)' + preProcess : '(null|function)', + + onPick : '(null|function)', + onItemRendered : '(null|function)' } const Event = { @@ -56,6 +62,9 @@ const Event = { CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`, KEYDOWN_DATA_API : `keydown${EVENT_KEY}${DATA_API_KEY}`, INPUT_DATA_API : `input${EVENT_KEY}${DATA_API_KEY}`, + + PICK : `pick${EVENT_KEY}`, + ITEM_RENDER : `itemrender${EVENT_KEY}` } const ClassName = { @@ -186,21 +195,21 @@ class Autocomplete { this._focusPrev() prevent = true break; - + case KeyCode.ENTER: if(this._isShown){ - let focus = $(this._dropdown).children('.active').get(0) - if(!focus) - focus = $(this._dropdown).children(':first-child').get(0) + let item = $(this._dropdown).children('.active').get(0) + if(!item) + item = $(this._dropdown).children(':first-child').get(0) - if(focus) - this._element.value = focus.innerText + if(item) + this._selectItem(item) this.hide() prevent = true } break; - + case KeyCode.ESCAPE: prevent = true this.hide() @@ -310,7 +319,7 @@ class Autocomplete { let val = i.toLowerCase() if(this._items.includes(val)) return - + this._items.push(val) this._labels[val] = i @@ -447,19 +456,38 @@ class Autocomplete { if(this._dropdown.children.length >= this._config.maxResult) return - $('') - .text(i) - .appendTo(this._dropdown) - .on(Event.CLICK_DATA_API, e => { - this._preventClose = true - this._element.value = e.target.innerText - this.hide() - e.preventDefault() - this._preventClose = false - }) + let item = $('') + let itemEl = item.get(0) + + item.text(i).appendTo(this._dropdown) + + if(this._config.onItemRendered) + this._config.onItemRendered(this._element, itemEl) + + const renderEvent = $.Event(Event.ITEM_RENDER, {item:itemEl}) + + $(this._element).trigger(renderEvent) + + item.on(Event.CLICK_DATA_API, e => { + this._selectItem(e.target); + this._preventClose = true + this.hide() + e.preventDefault() + this._preventClose = false + }) }) } + _selectItem(item){ + this._element.value = item.innerText + + if(this._config.onPick) + this._config.onPick(this._element, item) + + const pickEvent = $.Event(Event.PICK, {item}) + $(this._element).trigger(pickEvent) + } + _showDropdown(){ this._isShown = true this._dropdown.classList.add('show') @@ -511,4 +539,4 @@ $.fn[NAME].noConflict = () => { return Autocomplete._jQueryInterface } -export default Autocomplete \ No newline at end of file +export default Autocomplete